|
|
@@ -0,0 +1,128 @@
|
|
|
+strict digraph "tests/contract_testcases/solana/override.sol" {
|
|
|
+ S [label="name:S\ntests/contract_testcases/solana/simple.sol:3:8-9\nfield name:f1 ty:int64\nfield name:f2 ty:bool"]
|
|
|
+ contract [label="contract C\ntests/contract_testcases/solana/override.sol:4:1-5:20"]
|
|
|
+ base [label="base A\ntests/contract_testcases/solana/override.sol:5:15-20"]
|
|
|
+ var [label="variable meh\nvisibility public\ntests/contract_testcases/solana/override.sol:6:2-32"]
|
|
|
+ meh [label="function meh\ncontract: C\ntests/contract_testcases/solana/override.sol:6:29-32\nsignature meh()\nvisibility public\nmutability view\noverride A"]
|
|
|
+ returns [label="returns\nint256 "]
|
|
|
+ return [label="return\nimplicit"]
|
|
|
+ storage_load [label="storage load int256\nimplicit"]
|
|
|
+ storage_var [label="storage variable\nC.meh\nint256 storage\nimplicit"]
|
|
|
+ contract_11 [label="contract A\ntests/contract_testcases/solana/override.sol:8:1-9:13"]
|
|
|
+ foo [label="function foo\ncontract: A\ntests/contract_testcases/solana/override.sol:10:5-43\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
|
|
|
+ returns_13 [label="returns\nuint256 "]
|
|
|
+ contract_14 [label="contract B\ntests/contract_testcases/solana/override.sol:11:2-12:13"]
|
|
|
+ foo_15 [label="function foo\ncontract: B\ntests/contract_testcases/solana/override.sol:13:5-43\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
|
|
|
+ returns_16 [label="returns\nuint256 "]
|
|
|
+ contract_17 [label="contract X\ntests/contract_testcases/solana/override.sol:14:2-15:19"]
|
|
|
+ base_18 [label="base A\ntests/contract_testcases/solana/override.sol:15:15-16"]
|
|
|
+ base_19 [label="base B\ntests/contract_testcases/solana/override.sol:15:18-19"]
|
|
|
+ var_20 [label="variable foo\nvisibility public\ntests/contract_testcases/solana/override.sol:16:9-39"]
|
|
|
+ foo_21 [label="function foo\ncontract: X\ntests/contract_testcases/solana/override.sol:16:36-39\nsignature foo()\nvisibility public\nmutability view\noverride A\noverride B"]
|
|
|
+ returns_22 [label="returns\nuint256 "]
|
|
|
+ return_23 [label="return\nimplicit"]
|
|
|
+ storage_load_24 [label="storage load uint256\nimplicit"]
|
|
|
+ storage_var_25 [label="storage variable\nX.foo\nuint256 storage\nimplicit"]
|
|
|
+ contract_26 [label="contract Y\ntests/contract_testcases/solana/override.sol:17:2-18:16"]
|
|
|
+ base_27 [label="base X\ntests/contract_testcases/solana/override.sol:18:15-16"]
|
|
|
+ contract_28 [label="contract A2\ntests/contract_testcases/solana/override.sol:20:1-21:22"]
|
|
|
+ foo_29 [label="function foo\ncontract: A2\ntests/contract_testcases/solana/override.sol:22:5-51\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
|
|
|
+ returns_30 [label="returns\nuint256 "]
|
|
|
+ return_31 [label="return\ntests/contract_testcases/solana/override.sol:22:54-62"]
|
|
|
+ number_literal [label="uint256 literal: 1\ntests/contract_testcases/solana/override.sol:22:61-62"]
|
|
|
+ contract_33 [label="contract B2\ntests/contract_testcases/solana/override.sol:23:2-24:22"]
|
|
|
+ foo_34 [label="function foo\ncontract: B2\ntests/contract_testcases/solana/override.sol:25:5-51\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
|
|
|
+ returns_35 [label="returns\nuint256 "]
|
|
|
+ return_36 [label="return\ntests/contract_testcases/solana/override.sol:25:54-62"]
|
|
|
+ number_literal_37 [label="uint256 literal: 2\ntests/contract_testcases/solana/override.sol:25:61-62"]
|
|
|
+ contract_38 [label="contract X2\ntests/contract_testcases/solana/override.sol:26:2-27:22"]
|
|
|
+ base_39 [label="base A2\ntests/contract_testcases/solana/override.sol:27:16-18"]
|
|
|
+ base_40 [label="base B2\ntests/contract_testcases/solana/override.sol:27:20-22"]
|
|
|
+ var_41 [label="variable foo\nvisibility public\ntests/contract_testcases/solana/override.sol:28:9-37"]
|
|
|
+ foo_42 [label="function foo\ncontract: X2\ntests/contract_testcases/solana/override.sol:28:34-37\nsignature foo()\nvisibility public\nmutability view\noverride A2"]
|
|
|
+ returns_43 [label="returns\nuint256 "]
|
|
|
+ return_44 [label="return\nimplicit"]
|
|
|
+ storage_load_45 [label="storage load uint256\nimplicit"]
|
|
|
+ storage_var_46 [label="storage variable\nX2.foo\nuint256 storage\nimplicit"]
|
|
|
+ contract_47 [label="contract Y2\ntests/contract_testcases/solana/override.sol:29:2-30:18"]
|
|
|
+ base_48 [label="base X2\ntests/contract_testcases/solana/override.sol:30:16-18"]
|
|
|
+ contract_49 [label="contract A\ntests/contract_testcases/solana/simple.sol:1:1-12"]
|
|
|
+ contract_50 [label="contract L\ntests/contract_testcases/solana/simple.sol:1:14-2:11"]
|
|
|
+ diagnostic [label="global variable has no bases contracts to override\nlevel Error\ntests/contract_testcases/solana/override.sol:3:14-22"]
|
|
|
+ diagnostic_53 [label="found contract 'C'\nlevel Debug\ntests/contract_testcases/solana/override.sol:4:1-5:20"]
|
|
|
+ diagnostic_54 [label="'meh' does not override anything\nlevel Error\ntests/contract_testcases/solana/override.sol:6:29-32"]
|
|
|
+ diagnostic_55 [label="found interface 'A'\nlevel Debug\ntests/contract_testcases/solana/override.sol:8:1-9:13"]
|
|
|
+ diagnostic_56 [label="found interface 'B'\nlevel Debug\ntests/contract_testcases/solana/override.sol:11:2-12:13"]
|
|
|
+ diagnostic_57 [label="found contract 'X'\nlevel Debug\ntests/contract_testcases/solana/override.sol:14:2-15:19"]
|
|
|
+ diagnostic_58 [label="found contract 'Y'\nlevel Debug\ntests/contract_testcases/solana/override.sol:17:2-18:16"]
|
|
|
+ diagnostic_59 [label="found abstract contract 'A2'\nlevel Debug\ntests/contract_testcases/solana/override.sol:20:1-21:22"]
|
|
|
+ diagnostic_60 [label="found abstract contract 'B2'\nlevel Debug\ntests/contract_testcases/solana/override.sol:23:2-24:22"]
|
|
|
+ diagnostic_61 [label="found contract 'X2'\nlevel Debug\ntests/contract_testcases/solana/override.sol:26:2-27:22"]
|
|
|
+ diagnostic_62 [label="function 'foo' missing overrides 'B2', specify 'override(B2,A2)'\nlevel Error\ntests/contract_testcases/solana/override.sol:28:21-33"]
|
|
|
+ diagnostic_63 [label="found contract 'Y2'\nlevel Debug\ntests/contract_testcases/solana/override.sol:29:2-30:18"]
|
|
|
+ diagnostic_64 [label="found contract 'A'\nlevel Debug\ntests/contract_testcases/solana/simple.sol:1:1-12"]
|
|
|
+ diagnostic_65 [label="found library 'L'\nlevel Debug\ntests/contract_testcases/solana/simple.sol:1:14-2:11"]
|
|
|
+ structs -> S
|
|
|
+ contracts -> contract
|
|
|
+ contract -> base [label="base"]
|
|
|
+ contract -> var [label="variable"]
|
|
|
+ contract -> meh [label="function"]
|
|
|
+ meh -> returns [label="returns"]
|
|
|
+ meh -> return [label="body"]
|
|
|
+ return -> storage_load [label="expr"]
|
|
|
+ storage_load -> storage_var [label="expr"]
|
|
|
+ contracts -> contract_11
|
|
|
+ contract_11 -> foo [label="function"]
|
|
|
+ foo -> returns_13 [label="returns"]
|
|
|
+ contracts -> contract_14
|
|
|
+ contract_14 -> foo_15 [label="function"]
|
|
|
+ foo_15 -> returns_16 [label="returns"]
|
|
|
+ contracts -> contract_17
|
|
|
+ contract_17 -> base_18 [label="base"]
|
|
|
+ contract_17 -> base_19 [label="base"]
|
|
|
+ contract_17 -> var_20 [label="variable"]
|
|
|
+ contract_17 -> foo_21 [label="function"]
|
|
|
+ foo_21 -> returns_22 [label="returns"]
|
|
|
+ foo_21 -> return_23 [label="body"]
|
|
|
+ return_23 -> storage_load_24 [label="expr"]
|
|
|
+ storage_load_24 -> storage_var_25 [label="expr"]
|
|
|
+ contracts -> contract_26
|
|
|
+ contract_26 -> base_27 [label="base"]
|
|
|
+ contracts -> contract_28
|
|
|
+ contract_28 -> foo_29 [label="function"]
|
|
|
+ foo_29 -> returns_30 [label="returns"]
|
|
|
+ foo_29 -> return_31 [label="body"]
|
|
|
+ return_31 -> number_literal [label="expr"]
|
|
|
+ contracts -> contract_33
|
|
|
+ contract_33 -> foo_34 [label="function"]
|
|
|
+ foo_34 -> returns_35 [label="returns"]
|
|
|
+ foo_34 -> return_36 [label="body"]
|
|
|
+ return_36 -> number_literal_37 [label="expr"]
|
|
|
+ contracts -> contract_38
|
|
|
+ contract_38 -> base_39 [label="base"]
|
|
|
+ contract_38 -> base_40 [label="base"]
|
|
|
+ contract_38 -> var_41 [label="variable"]
|
|
|
+ contract_38 -> foo_42 [label="function"]
|
|
|
+ foo_42 -> returns_43 [label="returns"]
|
|
|
+ foo_42 -> return_44 [label="body"]
|
|
|
+ return_44 -> storage_load_45 [label="expr"]
|
|
|
+ storage_load_45 -> storage_var_46 [label="expr"]
|
|
|
+ contracts -> contract_47
|
|
|
+ contract_47 -> base_48 [label="base"]
|
|
|
+ contracts -> contract_49
|
|
|
+ contracts -> contract_50
|
|
|
+ diagnostics -> diagnostic [label="Error"]
|
|
|
+ diagnostics -> diagnostic_53 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_54 [label="Error"]
|
|
|
+ diagnostics -> diagnostic_55 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_56 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_57 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_58 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_59 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_60 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_61 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_62 [label="Error"]
|
|
|
+ diagnostics -> diagnostic_63 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_64 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_65 [label="Debug"]
|
|
|
+}
|