| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- strict digraph "tests/contract_testcases/solana/functions/overload_functions.sol" {
- contract [label="contract Test1\ntests/contract_testcases/solana/functions/overload_functions.sol:2:1-11:2"]
- sum [label="function sum\ncontract: Test1\ntests/contract_testcases/solana/functions/overload_functions.sol:3:5-63\nsignature sum(int32,int32)\nvisibility public\nmutability pure"]
- parameters [label="parameters\nint32 a\nint32 b"]
- returns [label="returns\nint32 "]
- return [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:4:9-21"]
- add [label="add\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:4:16-21"]
- variable [label="variable: a\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:4:16-17"]
- variable_8 [label="variable: b\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:4:20-21"]
- sum_9 [label="function sum\ncontract: Test1\ntests/contract_testcases/solana/functions/overload_functions.sol:8:5-63\nsignature sum(int64,int64)\nvisibility public\nmutability pure"]
- parameters_10 [label="parameters\nint64 a\nint64 b"]
- returns_11 [label="returns\nint64 "]
- return_12 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:9:9-21"]
- add_13 [label="add\nint64\ntests/contract_testcases/solana/functions/overload_functions.sol:9:16-21"]
- variable_14 [label="variable: a\nint64\ntests/contract_testcases/solana/functions/overload_functions.sol:9:16-17"]
- variable_15 [label="variable: b\nint64\ntests/contract_testcases/solana/functions/overload_functions.sol:9:20-21"]
- contract_16 [label="contract Test2\ntests/contract_testcases/solana/functions/overload_functions.sol:13:1-25:2"]
- node_17 [label="constructor \ncontract: Test2\ntests/contract_testcases/solana/functions/overload_functions.sol:14:5-19\nsignature ()\nvisibility public\nmutability nonpayable"]
- sub [label="function sub\ncontract: Test2\ntests/contract_testcases/solana/functions/overload_functions.sol:18:5-54\nsignature sub(int32)\nvisibility public\nmutability pure"]
- parameters_19 [label="parameters\nint32 d"]
- returns_20 [label="returns\nint32 "]
- return_21 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:19:9-19"]
- subtract [label="subtract\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:19:16-19"]
- variable_23 [label="variable: d\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:19:16-17"]
- number_literal [label="int32 literal: 2\ntests/contract_testcases/solana/functions/overload_functions.sol:19:18-19"]
- multiply [label="function multiply\ncontract: Test2\ntests/contract_testcases/solana/functions/overload_functions.sol:22:5-68\nsignature multiply(int32,int32)\nvisibility public\nmutability pure"]
- parameters_26 [label="parameters\nint32 a\nint32 b"]
- returns_27 [label="returns\nint32 "]
- return_28 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:23:9-19"]
- multiply_29 [label="multiply\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:23:16-19"]
- variable_30 [label="variable: a\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:23:16-17"]
- variable_31 [label="variable: b\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:23:18-19"]
- contract_32 [label="contract Test3\ntests/contract_testcases/solana/functions/overload_functions.sol:27:1-36:2"]
- base [label="base Test2\ntests/contract_testcases/solana/functions/overload_functions.sol:27:19-24"]
- var [label="variable state\nvisibility internal\ntests/contract_testcases/solana/functions/overload_functions.sol:28:5-16"]
- node_35 [label="constructor \ncontract: Test3\ntests/contract_testcases/solana/functions/overload_functions.sol:29:5-34\nsignature (int32)\nvisibility public\nmutability nonpayable"]
- parameters_36 [label="parameters\nint32 state_var"]
- expr [label="expression\ntests/contract_testcases/solana/functions/overload_functions.sol:30:9-26"]
- assign [label="assign\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:30:9-14"]
- storage_var [label="storage variable\nTest3.state\nint32 storage\ntests/contract_testcases/solana/functions/overload_functions.sol:30:9-14"]
- variable_40 [label="variable: state_var\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:30:17-26"]
- multiply_41 [label="function multiply\ncontract: Test3\ntests/contract_testcases/solana/functions/overload_functions.sol:33:5-59\nsignature multiply(int32)\nvisibility public\nmutability pure"]
- parameters_42 [label="parameters\nint32 c"]
- returns_43 [label="returns\nint32 "]
- return_44 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:34:9-23"]
- multiply_45 [label="multiply\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:34:16-23"]
- variable_46 [label="variable: c\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:34:16-17"]
- storage_load [label="storage load int32\ntests/contract_testcases/solana/functions/overload_functions.sol:34:18-23"]
- storage_var_48 [label="storage variable\nTest3.state\nint32 storage\ntests/contract_testcases/solana/functions/overload_functions.sol:34:18-23"]
- contract_49 [label="contract Test4\ntests/contract_testcases/solana/functions/overload_functions.sol:38:1-47:2"]
- base_50 [label="base Test2\ntests/contract_testcases/solana/functions/overload_functions.sol:38:19-24"]
- var_51 [label="variable state\nvisibility internal\ntests/contract_testcases/solana/functions/overload_functions.sol:39:5-16"]
- node_52 [label="constructor \ncontract: Test4\ntests/contract_testcases/solana/functions/overload_functions.sol:40:5-34\nsignature (int32)\nvisibility public\nmutability nonpayable"]
- parameters_53 [label="parameters\nint32 state_var"]
- expr_54 [label="expression\ntests/contract_testcases/solana/functions/overload_functions.sol:41:9-26"]
- assign_55 [label="assign\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:41:9-14"]
- storage_var_56 [label="storage variable\nTest4.state\nint32 storage\ntests/contract_testcases/solana/functions/overload_functions.sol:41:9-14"]
- variable_57 [label="variable: state_var\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:41:17-26"]
- multiply_58 [label="function multiply\ncontract: Test4\ntests/contract_testcases/solana/functions/overload_functions.sol:44:5-68\nsignature multiply(int32,int32)\nvisibility public\nmutability pure"]
- parameters_59 [label="parameters\nint32 a\nint32 b"]
- returns_60 [label="returns\nint32 "]
- return_61 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:45:9-25"]
- multiply_62 [label="multiply\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:45:16-25"]
- multiply_63 [label="multiply\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:45:16-23"]
- variable_64 [label="variable: a\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:45:16-17"]
- storage_load_65 [label="storage load int32\ntests/contract_testcases/solana/functions/overload_functions.sol:45:18-23"]
- storage_var_66 [label="storage variable\nTest4.state\nint32 storage\ntests/contract_testcases/solana/functions/overload_functions.sol:45:18-23"]
- variable_67 [label="variable: b\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:45:24-25"]
- contract_68 [label="contract Test5\ntests/contract_testcases/solana/functions/overload_functions.sol:49:1-55:2"]
- base_69 [label="base Test3\ntests/contract_testcases/solana/functions/overload_functions.sol:49:19-24"]
- node_70 [label="constructor \ncontract: Test5\ntests/contract_testcases/solana/functions/overload_functions.sol:50:5-50\nsignature (int32)\nvisibility public\nmutability nonpayable"]
- parameters_71 [label="parameters\nint32 state_var"]
- Test3 [label="Test3"]
- variable_73 [label="variable: state_var\nint32\ntests/contract_testcases/solana/functions/overload_functions.sol:50:40-49"]
- sub_74 [label="function sub\ncontract: Test5\ntests/contract_testcases/solana/functions/overload_functions.sol:52:5-54\nsignature sub(int64)\nvisibility public\nmutability pure"]
- parameters_75 [label="parameters\nint64 e"]
- returns_76 [label="returns\nint64 "]
- return_77 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:53:9-19"]
- subtract_78 [label="subtract\nint64\ntests/contract_testcases/solana/functions/overload_functions.sol:53:16-19"]
- variable_79 [label="variable: e\nint64\ntests/contract_testcases/solana/functions/overload_functions.sol:53:16-17"]
- number_literal_80 [label="int64 literal: 2\ntests/contract_testcases/solana/functions/overload_functions.sol:53:18-19"]
- contract_81 [label="contract Test6\ntests/contract_testcases/solana/functions/overload_functions.sol:57:1-61:2"]
- node_82 [label="constructor \ncontract: Test6\ntests/contract_testcases/solana/functions/overload_functions.sol:58:5-19\nsignature ()\nvisibility public\nmutability nonpayable"]
- doThis [label="function doThis\ncontract: Test6\ntests/contract_testcases/solana/functions/overload_functions.sol:60:5-53\nsignature doThis()\nvisibility public\nmutability nonpayable\nvirtual"]
- returns_84 [label="returns\nint32 "]
- contract_85 [label="contract Test7\ntests/contract_testcases/solana/functions/overload_functions.sol:63:1-71:2"]
- base_86 [label="base Test6\ntests/contract_testcases/solana/functions/overload_functions.sol:63:19-24"]
- node_87 [label="constructor \ncontract: Test7\ntests/contract_testcases/solana/functions/overload_functions.sol:64:5-19\nsignature ()\nvisibility public\nmutability nonpayable"]
- doThis_88 [label="function doThis\ncontract: Test7\ntests/contract_testcases/solana/functions/overload_functions.sol:68:5-61\nsignature doThis()\nvisibility public\nmutability nonpayable\noverride Test6"]
- returns_89 [label="returns\nint32 "]
- return_90 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:69:9-17"]
- number_literal_91 [label="int32 literal: 7\ntests/contract_testcases/solana/functions/overload_functions.sol:69:16-17"]
- contract_92 [label="contract Base1\ntests/contract_testcases/solana/functions/overload_functions.sol:73:1-76:2"]
- foo [label="function foo\ncontract: Base1\ntests/contract_testcases/solana/functions/overload_functions.sol:75:5-34\nsignature foo()\nvisibility public\nmutability nonpayable\nvirtual"]
- contract_94 [label="contract Base2\ntests/contract_testcases/solana/functions/overload_functions.sol:78:1-81:2"]
- foo_95 [label="function foo\ncontract: Base2\ntests/contract_testcases/solana/functions/overload_functions.sol:80:5-34\nsignature foo()\nvisibility public\nmutability nonpayable\nvirtual"]
- contract_96 [label="contract Inherited\ntests/contract_testcases/solana/functions/overload_functions.sol:83:1-87:2"]
- base_97 [label="base Base1\ntests/contract_testcases/solana/functions/overload_functions.sol:83:23-28"]
- base_98 [label="base Base2\ntests/contract_testcases/solana/functions/overload_functions.sol:83:30-35"]
- foo_99 [label="function foo\ncontract: Inherited\ntests/contract_testcases/solana/functions/overload_functions.sol:86:5-49\nsignature foo()\nvisibility public\nmutability nonpayable\noverride Base1\noverride Base2"]
- contract_100 [label="contract ManglingInvalid\ntests/contract_testcases/solana/functions/overload_functions.sol:89:1-102:2"]
- foo_bool [label="function foo_bool\ncontract: ManglingInvalid\ntests/contract_testcases/solana/functions/overload_functions.sol:90:5-52\nsignature foo_bool()\nvisibility public\nmutability pure"]
- returns_102 [label="returns\nint32 "]
- return_103 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:91:9-17"]
- number_literal_104 [label="int32 literal: 2\ntests/contract_testcases/solana/functions/overload_functions.sol:91:16-17"]
- foo_105 [label="function foo\ncontract: ManglingInvalid\ntests/contract_testcases/solana/functions/overload_functions.sol:95:5-53\nsignature foo(bool)\nvisibility public\nmutability pure"]
- parameters_106 [label="parameters\nbool a"]
- returns_107 [label="returns\nint32 "]
- if [label="if\ntests/contract_testcases/solana/functions/overload_functions.sol:96:9-100:10"]
- variable_109 [label="variable: a\nbool\ntests/contract_testcases/solana/functions/overload_functions.sol:96:13-14"]
- return_110 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:97:13-21"]
- number_literal_111 [label="int32 literal: 1\ntests/contract_testcases/solana/functions/overload_functions.sol:97:20-21"]
- return_112 [label="return\ntests/contract_testcases/solana/functions/overload_functions.sol:99:13-21"]
- number_literal_113 [label="int32 literal: 3\ntests/contract_testcases/solana/functions/overload_functions.sol:99:20-21"]
- diagnostic [label="found contract 'Test1'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:2:1-11:2"]
- diagnostic_116 [label="found contract 'Test2'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:13:1-25:2"]
- diagnostic_117 [label="function 'multiply' with this signature already defined\nlevel Error\ntests/contract_testcases/solana/functions/overload_functions.sol:22:5-68"]
- note [label="previous definition of function 'multiply'\ntests/contract_testcases/solana/functions/overload_functions.sol:44:5-68"]
- diagnostic_119 [label="found contract 'Test3'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:27:1-36:2"]
- diagnostic_120 [label="found contract 'Test4'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:38:1-47:2"]
- diagnostic_121 [label="found contract 'Test5'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:49:1-55:2"]
- diagnostic_122 [label="found abstract contract 'Test6'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:57:1-61:2"]
- diagnostic_123 [label="found contract 'Test7'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:63:1-71:2"]
- diagnostic_124 [label="found contract 'Base1'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:73:1-76:2"]
- diagnostic_125 [label="found contract 'Base2'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:78:1-81:2"]
- diagnostic_126 [label="found contract 'Inherited'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:83:1-87:2"]
- diagnostic_127 [label="found contract 'ManglingInvalid'\nlevel Debug\ntests/contract_testcases/solana/functions/overload_functions.sol:89:1-102:2"]
- diagnostic_128 [label="mangling the symbol of overloaded function 'foo' with signature 'foo(bool)' results in a new symbol 'foo_bool' but this symbol already exists\nlevel Error\ntests/contract_testcases/solana/functions/overload_functions.sol:95:5-53"]
- note_129 [label="this function declaration conflicts with mangled name\ntests/contract_testcases/solana/functions/overload_functions.sol:90:5-52"]
- contracts -> contract
- contract -> sum [label="function"]
- sum -> parameters [label="parameters"]
- sum -> returns [label="returns"]
- sum -> return [label="body"]
- return -> add [label="expr"]
- add -> variable [label="left"]
- add -> variable_8 [label="right"]
- contract -> sum_9 [label="function"]
- sum_9 -> parameters_10 [label="parameters"]
- sum_9 -> returns_11 [label="returns"]
- sum_9 -> return_12 [label="body"]
- return_12 -> add_13 [label="expr"]
- add_13 -> variable_14 [label="left"]
- add_13 -> variable_15 [label="right"]
- contracts -> contract_16
- contract_16 -> node_17 [label="constructor"]
- contract_16 -> sub [label="function"]
- sub -> parameters_19 [label="parameters"]
- sub -> returns_20 [label="returns"]
- sub -> return_21 [label="body"]
- return_21 -> subtract [label="expr"]
- subtract -> variable_23 [label="left"]
- subtract -> number_literal [label="right"]
- contract_16 -> multiply [label="function"]
- multiply -> parameters_26 [label="parameters"]
- multiply -> returns_27 [label="returns"]
- multiply -> return_28 [label="body"]
- return_28 -> multiply_29 [label="expr"]
- multiply_29 -> variable_30 [label="left"]
- multiply_29 -> variable_31 [label="right"]
- contracts -> contract_32
- contract_32 -> base [label="base"]
- contract_32 -> var [label="variable"]
- contract_32 -> node_35 [label="constructor"]
- node_35 -> parameters_36 [label="parameters"]
- node_35 -> expr [label="body"]
- expr -> assign [label="expr"]
- assign -> storage_var [label="left"]
- assign -> variable_40 [label="right"]
- contract_32 -> multiply_41 [label="function"]
- multiply_41 -> parameters_42 [label="parameters"]
- multiply_41 -> returns_43 [label="returns"]
- multiply_41 -> return_44 [label="body"]
- return_44 -> multiply_45 [label="expr"]
- multiply_45 -> variable_46 [label="left"]
- multiply_45 -> storage_load [label="right"]
- storage_load -> storage_var_48 [label="expr"]
- contracts -> contract_49
- contract_49 -> base_50 [label="base"]
- contract_49 -> var_51 [label="variable"]
- contract_49 -> node_52 [label="constructor"]
- node_52 -> parameters_53 [label="parameters"]
- node_52 -> expr_54 [label="body"]
- expr_54 -> assign_55 [label="expr"]
- assign_55 -> storage_var_56 [label="left"]
- assign_55 -> variable_57 [label="right"]
- contract_49 -> multiply_58 [label="function"]
- multiply_58 -> parameters_59 [label="parameters"]
- multiply_58 -> returns_60 [label="returns"]
- multiply_58 -> return_61 [label="body"]
- return_61 -> multiply_62 [label="expr"]
- multiply_62 -> multiply_63 [label="left"]
- multiply_63 -> variable_64 [label="left"]
- multiply_63 -> storage_load_65 [label="right"]
- storage_load_65 -> storage_var_66 [label="expr"]
- multiply_62 -> variable_67 [label="right"]
- contracts -> contract_68
- contract_68 -> base_69 [label="base"]
- contract_68 -> node_70 [label="constructor"]
- node_70 -> parameters_71 [label="parameters"]
- node_70 -> Test3 [label="base"]
- Test3 -> variable_73 [label="arg #0"]
- contract_68 -> sub_74 [label="function"]
- sub_74 -> parameters_75 [label="parameters"]
- sub_74 -> returns_76 [label="returns"]
- sub_74 -> return_77 [label="body"]
- return_77 -> subtract_78 [label="expr"]
- subtract_78 -> variable_79 [label="left"]
- subtract_78 -> number_literal_80 [label="right"]
- contracts -> contract_81
- contract_81 -> node_82 [label="constructor"]
- contract_81 -> doThis [label="function"]
- doThis -> returns_84 [label="returns"]
- contracts -> contract_85
- contract_85 -> base_86 [label="base"]
- contract_85 -> node_87 [label="constructor"]
- contract_85 -> doThis_88 [label="function"]
- doThis_88 -> returns_89 [label="returns"]
- doThis_88 -> return_90 [label="body"]
- return_90 -> number_literal_91 [label="expr"]
- contracts -> contract_92
- contract_92 -> foo [label="function"]
- contracts -> contract_94
- contract_94 -> foo_95 [label="function"]
- contracts -> contract_96
- contract_96 -> base_97 [label="base"]
- contract_96 -> base_98 [label="base"]
- contract_96 -> foo_99 [label="function"]
- contracts -> contract_100
- contract_100 -> foo_bool [label="function"]
- foo_bool -> returns_102 [label="returns"]
- foo_bool -> return_103 [label="body"]
- return_103 -> number_literal_104 [label="expr"]
- contract_100 -> foo_105 [label="function"]
- foo_105 -> parameters_106 [label="parameters"]
- foo_105 -> returns_107 [label="returns"]
- foo_105 -> if [label="body"]
- if -> variable_109 [label="cond"]
- if -> return_110 [label="then"]
- return_110 -> number_literal_111 [label="expr"]
- if -> return_112 [label="else"]
- return_112 -> number_literal_113 [label="expr"]
- diagnostics -> diagnostic [label="Debug"]
- diagnostics -> diagnostic_116 [label="Debug"]
- diagnostics -> diagnostic_117 [label="Error"]
- diagnostic_117 -> note [label="note"]
- diagnostics -> diagnostic_119 [label="Debug"]
- diagnostics -> diagnostic_120 [label="Debug"]
- diagnostics -> diagnostic_121 [label="Debug"]
- diagnostics -> diagnostic_122 [label="Debug"]
- diagnostics -> diagnostic_123 [label="Debug"]
- diagnostics -> diagnostic_124 [label="Debug"]
- diagnostics -> diagnostic_125 [label="Debug"]
- diagnostics -> diagnostic_126 [label="Debug"]
- diagnostics -> diagnostic_127 [label="Debug"]
- diagnostics -> diagnostic_128 [label="Error"]
- diagnostic_128 -> note_129 [label="note"]
- }
|