| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- strict digraph "tests/contract_testcases/solana/functions/override.sol" {
- S [label="name:S\ntests/contract_testcases/solana/functions/../simple.sol:3:8-9\nfield name:f1 ty:int64\nfield name:f2 ty:bool"]
- inc [label="function inc\ntests/contract_testcases/solana/functions/../simple.sol:7:1-23\nsignature inc((int64,bool))\nvisibility internal\nmutability pure"]
- parameters [label="parameters\nstruct S s"]
- expr [label="expression\ntests/contract_testcases/solana/functions/../simple.sol:7:26-35"]
- assign [label="assign\nint64\ntests/contract_testcases/solana/functions/../simple.sol:7:26-35"]
- structmember [label="struct member #0 int64\ntests/contract_testcases/solana/functions/../simple.sol:7:28-30"]
- variable [label="variable: s\nstruct S\ntests/contract_testcases/solana/functions/../simple.sol:7:26-27"]
- add [label="add\nint64\ntests/contract_testcases/solana/functions/../simple.sol:7:26-35"]
- load [label="load int64\ntests/contract_testcases/solana/functions/../simple.sol:7:26-35"]
- structmember_11 [label="struct member #0 int64\ntests/contract_testcases/solana/functions/../simple.sol:7:28-30"]
- variable_12 [label="variable: s\nstruct S\ntests/contract_testcases/solana/functions/../simple.sol:7:26-27"]
- number_literal [label="int64 literal: 1\ntests/contract_testcases/solana/functions/../simple.sol:7:34-35"]
- contract [label="contract C\ntests/contract_testcases/solana/functions/override.sol:5:1-7:2"]
- base [label="base A\ntests/contract_testcases/solana/functions/override.sol:5:15-20"]
- var [label="variable meh\nvisibility public\ntests/contract_testcases/solana/functions/override.sol:6:2-32"]
- meh [label="function meh\ncontract: C\ntests/contract_testcases/solana/functions/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_23 [label="contract A\ntests/contract_testcases/solana/functions/override.sol:9:1-11:2"]
- foo [label="function foo\ncontract: A\ntests/contract_testcases/solana/functions/override.sol:10:5-43\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
- returns_25 [label="returns\nuint256 "]
- contract_26 [label="contract B\ntests/contract_testcases/solana/functions/override.sol:12:1-14:2"]
- foo_27 [label="function foo\ncontract: B\ntests/contract_testcases/solana/functions/override.sol:13:5-43\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
- returns_28 [label="returns\nuint256 "]
- contract_29 [label="contract X\ntests/contract_testcases/solana/functions/override.sol:15:1-17:2"]
- base_30 [label="base A\ntests/contract_testcases/solana/functions/override.sol:15:15-16"]
- base_31 [label="base B\ntests/contract_testcases/solana/functions/override.sol:15:18-19"]
- var_32 [label="variable foo\nvisibility public\ntests/contract_testcases/solana/functions/override.sol:16:9-39"]
- foo_33 [label="function foo\ncontract: X\ntests/contract_testcases/solana/functions/override.sol:16:36-39\nsignature foo()\nvisibility public\nmutability view\noverride A\noverride B"]
- returns_34 [label="returns\nuint256 "]
- return_35 [label="return\nimplicit"]
- storage_load_36 [label="storage load uint256\nimplicit"]
- storage_var_37 [label="storage variable\nX.foo\nuint256 storage\nimplicit"]
- contract_38 [label="contract Y\ntests/contract_testcases/solana/functions/override.sol:18:1-19:2"]
- base_39 [label="base X\ntests/contract_testcases/solana/functions/override.sol:18:15-16"]
- contract_40 [label="contract A2\ntests/contract_testcases/solana/functions/override.sol:21:1-23:2"]
- foo_41 [label="function foo\ncontract: A2\ntests/contract_testcases/solana/functions/override.sol:22:5-51\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
- returns_42 [label="returns\nuint256 "]
- return_43 [label="return\ntests/contract_testcases/solana/functions/override.sol:22:54-62"]
- number_literal_44 [label="uint256 literal: 1\ntests/contract_testcases/solana/functions/override.sol:22:61-62"]
- contract_45 [label="contract B2\ntests/contract_testcases/solana/functions/override.sol:24:1-26:2"]
- foo_46 [label="function foo\ncontract: B2\ntests/contract_testcases/solana/functions/override.sol:25:5-51\nsignature foo()\nvisibility external\nmutability nonpayable\nvirtual"]
- returns_47 [label="returns\nuint256 "]
- return_48 [label="return\ntests/contract_testcases/solana/functions/override.sol:25:54-62"]
- number_literal_49 [label="uint256 literal: 2\ntests/contract_testcases/solana/functions/override.sol:25:61-62"]
- contract_50 [label="contract X2\ntests/contract_testcases/solana/functions/override.sol:27:1-29:2"]
- base_51 [label="base A2\ntests/contract_testcases/solana/functions/override.sol:27:16-18"]
- base_52 [label="base B2\ntests/contract_testcases/solana/functions/override.sol:27:20-22"]
- var_53 [label="variable foo\nvisibility public\ntests/contract_testcases/solana/functions/override.sol:28:9-37"]
- foo_54 [label="function foo\ncontract: X2\ntests/contract_testcases/solana/functions/override.sol:28:34-37\nsignature foo()\nvisibility public\nmutability view\noverride A2"]
- returns_55 [label="returns\nuint256 "]
- return_56 [label="return\nimplicit"]
- storage_load_57 [label="storage load uint256\nimplicit"]
- storage_var_58 [label="storage variable\nX2.foo\nuint256 storage\nimplicit"]
- contract_59 [label="contract Y2\ntests/contract_testcases/solana/functions/override.sol:30:1-31:2"]
- base_60 [label="base X2\ntests/contract_testcases/solana/functions/override.sol:30:16-18"]
- contract_61 [label="contract A\ntests/contract_testcases/solana/functions/../simple.sol:1:1-14"]
- contract_62 [label="contract L\ntests/contract_testcases/solana/functions/../simple.sol:2:1-13"]
- diagnostic [label="global variable has no bases contracts to override\nlevel Error\ntests/contract_testcases/solana/functions/override.sol:3:14-22"]
- diagnostic_65 [label="found contract 'C'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:5:1-7:2"]
- diagnostic_66 [label="'meh' does not override anything\nlevel Error\ntests/contract_testcases/solana/functions/override.sol:6:29-32"]
- diagnostic_67 [label="found interface 'A'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:9:1-11:2"]
- diagnostic_68 [label="found interface 'B'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:12:1-14:2"]
- diagnostic_69 [label="found contract 'X'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:15:1-17:2"]
- diagnostic_70 [label="found contract 'Y'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:18:1-19:2"]
- diagnostic_71 [label="found abstract contract 'A2'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:21:1-23:2"]
- diagnostic_72 [label="found abstract contract 'B2'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:24:1-26:2"]
- diagnostic_73 [label="found contract 'X2'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:27:1-29:2"]
- diagnostic_74 [label="function 'foo' missing overrides 'B2', specify 'override(B2,A2)'\nlevel Error\ntests/contract_testcases/solana/functions/override.sol:28:21-33"]
- diagnostic_75 [label="found contract 'Y2'\nlevel Debug\ntests/contract_testcases/solana/functions/override.sol:30:1-31:2"]
- diagnostic_76 [label="found contract 'A'\nlevel Debug\ntests/contract_testcases/solana/functions/../simple.sol:1:1-14"]
- diagnostic_77 [label="found library 'L'\nlevel Debug\ntests/contract_testcases/solana/functions/../simple.sol:2:1-13"]
- structs -> S
- free_functions -> inc [label="function"]
- inc -> parameters [label="parameters"]
- inc -> expr [label="body"]
- expr -> assign [label="expr"]
- assign -> structmember [label="left"]
- structmember -> variable [label="var"]
- assign -> add [label="right"]
- add -> load [label="left"]
- load -> structmember_11 [label="expr"]
- structmember_11 -> variable_12 [label="var"]
- add -> number_literal [label="right"]
- 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_23
- contract_23 -> foo [label="function"]
- foo -> returns_25 [label="returns"]
- contracts -> contract_26
- contract_26 -> foo_27 [label="function"]
- foo_27 -> returns_28 [label="returns"]
- contracts -> contract_29
- contract_29 -> base_30 [label="base"]
- contract_29 -> base_31 [label="base"]
- contract_29 -> var_32 [label="variable"]
- contract_29 -> foo_33 [label="function"]
- foo_33 -> returns_34 [label="returns"]
- foo_33 -> return_35 [label="body"]
- return_35 -> storage_load_36 [label="expr"]
- storage_load_36 -> storage_var_37 [label="expr"]
- contracts -> contract_38
- contract_38 -> base_39 [label="base"]
- contracts -> contract_40
- contract_40 -> foo_41 [label="function"]
- foo_41 -> returns_42 [label="returns"]
- foo_41 -> return_43 [label="body"]
- return_43 -> number_literal_44 [label="expr"]
- contracts -> contract_45
- contract_45 -> foo_46 [label="function"]
- foo_46 -> returns_47 [label="returns"]
- foo_46 -> return_48 [label="body"]
- return_48 -> number_literal_49 [label="expr"]
- contracts -> contract_50
- contract_50 -> base_51 [label="base"]
- contract_50 -> base_52 [label="base"]
- contract_50 -> var_53 [label="variable"]
- contract_50 -> foo_54 [label="function"]
- foo_54 -> returns_55 [label="returns"]
- foo_54 -> return_56 [label="body"]
- return_56 -> storage_load_57 [label="expr"]
- storage_load_57 -> storage_var_58 [label="expr"]
- contracts -> contract_59
- contract_59 -> base_60 [label="base"]
- contracts -> contract_61
- contracts -> contract_62
- diagnostics -> diagnostic [label="Error"]
- diagnostics -> diagnostic_65 [label="Debug"]
- diagnostics -> diagnostic_66 [label="Error"]
- diagnostics -> diagnostic_67 [label="Debug"]
- diagnostics -> diagnostic_68 [label="Debug"]
- diagnostics -> diagnostic_69 [label="Debug"]
- diagnostics -> diagnostic_70 [label="Debug"]
- diagnostics -> diagnostic_71 [label="Debug"]
- diagnostics -> diagnostic_72 [label="Debug"]
- diagnostics -> diagnostic_73 [label="Debug"]
- diagnostics -> diagnostic_74 [label="Error"]
- diagnostics -> diagnostic_75 [label="Debug"]
- diagnostics -> diagnostic_76 [label="Debug"]
- diagnostics -> diagnostic_77 [label="Debug"]
- }
|