|
|
@@ -0,0 +1,64 @@
|
|
|
+strict digraph "tests/contract_testcases/solana/destructure_assign_struct_member_2.sol" {
|
|
|
+ Struct1 [label="name:Struct1\ncontract: Contract\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:11:12-19\nfield name:a ty:uint256\nfield name:b ty:uint256"]
|
|
|
+ contract [label="contract IUniswapV2Pair\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:3:1-4:26"]
|
|
|
+ getReserves [label="function getReserves\ncontract: IUniswapV2Pair\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:5:5-113\nsignature getReserves()\nvisibility external\nmutability view\nvirtual"]
|
|
|
+ returns [label="returns\nuint112 reserve0\nuint112 reserve1\nuint32 blockTimestampLast"]
|
|
|
+ contract_6 [label="contract Contract\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:8:1-9:19"]
|
|
|
+ test [label="function test\ncontract: Contract\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:16:5-56\nsignature test(bytes32[])\nvisibility public\nmutability view"]
|
|
|
+ parameters [label="parameters\naddress[] _tokens"]
|
|
|
+ var_decl [label="variable decl struct Contract.Struct1[] struct_1\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:19:9-53"]
|
|
|
+ alloc_array [label="alloc array struct Contract.Struct1[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:19:37-53"]
|
|
|
+ number_literal [label="uint32 literal: 3\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:19:51-52"]
|
|
|
+ destructure [label="destructure\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:9-83"]
|
|
|
+ structmember [label="struct member #0 uint256\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:22-23"]
|
|
|
+ subscript [label="subscript struct Contract.Struct1[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:10-21"]
|
|
|
+ variable [label="variable: struct_1\nstruct Contract.Struct1[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:10-18"]
|
|
|
+ number_literal_16 [label="uint32 literal: 0\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:19-20"]
|
|
|
+ structmember_17 [label="struct member #1 uint256\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:37-38"]
|
|
|
+ subscript_18 [label="subscript struct Contract.Struct1[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:25-36"]
|
|
|
+ variable_19 [label="variable: struct_1\nstruct Contract.Struct1[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:25-33"]
|
|
|
+ number_literal_20 [label="uint32 literal: 0\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:34-35"]
|
|
|
+ none [label="none"]
|
|
|
+ call_external_function [label="call external function\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:43-83"]
|
|
|
+ external_function [label="function() external view returns (uint112,uint112,uint32)\nIUniswapV2Pair.getReserves\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:43-83"]
|
|
|
+ cast [label="cast contract IUniswapV2Pair\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:43-69"]
|
|
|
+ load [label="load address\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:43-69"]
|
|
|
+ subscript_26 [label="subscript address[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:58-68"]
|
|
|
+ variable_27 [label="variable: _tokens\naddress[]\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:58-65"]
|
|
|
+ number_literal_28 [label="uint32 literal: 0\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:21:66-67"]
|
|
|
+ diagnostic [label="pragma ‘solidity’ is ignored\nlevel Debug\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:1:57-2:23"]
|
|
|
+ diagnostic_31 [label="found interface ‘IUniswapV2Pair’\nlevel Debug\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:3:1-4:26"]
|
|
|
+ diagnostic_32 [label="found contract ‘Contract’\nlevel Debug\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:8:1-9:19"]
|
|
|
+ diagnostic_33 [label="local variable ‘struct_1‘ has been assigned, but never read\nlevel Warning\ntests/contract_testcases/solana/destructure_assign_struct_member_2.sol:19:26-34"]
|
|
|
+ structs -> Struct1
|
|
|
+ contracts -> contract
|
|
|
+ contract -> getReserves [label="function"]
|
|
|
+ getReserves -> returns [label="returns"]
|
|
|
+ contracts -> contract_6
|
|
|
+ contract_6 -> test [label="function"]
|
|
|
+ test -> parameters [label="parameters"]
|
|
|
+ test -> var_decl [label="body"]
|
|
|
+ var_decl -> alloc_array [label="init"]
|
|
|
+ alloc_array -> number_literal [label="length"]
|
|
|
+ var_decl -> destructure [label="next"]
|
|
|
+ destructure -> structmember [label="arg #0"]
|
|
|
+ structmember -> subscript [label="var"]
|
|
|
+ subscript -> variable [label="array"]
|
|
|
+ subscript -> number_literal_16 [label="index"]
|
|
|
+ destructure -> structmember_17 [label="arg #1"]
|
|
|
+ structmember_17 -> subscript_18 [label="var"]
|
|
|
+ subscript_18 -> variable_19 [label="array"]
|
|
|
+ subscript_18 -> number_literal_20 [label="index"]
|
|
|
+ destructure -> none [label="arg #2"]
|
|
|
+ destructure -> call_external_function [label="expr"]
|
|
|
+ call_external_function -> external_function [label="function"]
|
|
|
+ external_function -> cast [label="address"]
|
|
|
+ cast -> load [label="expr"]
|
|
|
+ load -> subscript_26 [label="expr"]
|
|
|
+ subscript_26 -> variable_27 [label="array"]
|
|
|
+ subscript_26 -> number_literal_28 [label="index"]
|
|
|
+ diagnostics -> diagnostic [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_31 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_32 [label="Debug"]
|
|
|
+ diagnostics -> diagnostic_33 [label="Warning"]
|
|
|
+}
|