strict digraph "tests/contract_testcases/solana/using_import.sol" { S [label="name:S\ntests/contract_testcases/solana/simple.sol:3:8-9\nfield name:f1 ty:int64\nfield name:f2 ty:bool"] inc [label="function inc\ntests/contract_testcases/solana/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/simple.sol:7:26-35"] assign [label="assign\nint64\ntests/contract_testcases/solana/simple.sol:7:26-35"] structmember [label="struct member #0 int64\ntests/contract_testcases/solana/simple.sol:7:28-30"] variable [label="variable: s\nstruct S\ntests/contract_testcases/solana/simple.sol:7:26-27"] add [label="add\nint64\ntests/contract_testcases/solana/simple.sol:7:26-35"] load [label="load int64\ntests/contract_testcases/solana/simple.sol:7:26-35"] structmember_11 [label="struct member #0 int64\ntests/contract_testcases/solana/simple.sol:7:28-30"] variable_12 [label="variable: s\nstruct S\ntests/contract_testcases/solana/simple.sol:7:26-27"] number_literal [label="int64 literal: 1\ntests/contract_testcases/solana/simple.sol:7:34-35"] dec [label="function dec\ntests/contract_testcases/solana/using_import.sol:3:1-31\nsignature dec((int64,bool))\nvisibility internal\nmutability pure"] parameters_15 [label="parameters\nstruct S s"] expr_16 [label="expression\ntests/contract_testcases/solana/using_import.sol:3:34-43"] assign_17 [label="assign\nint64\ntests/contract_testcases/solana/using_import.sol:3:34-43"] structmember_18 [label="struct member #0 int64\ntests/contract_testcases/solana/using_import.sol:3:36-38"] variable_19 [label="variable: s\nstruct S\ntests/contract_testcases/solana/using_import.sol:3:34-35"] subtract [label="subtract\nint64\ntests/contract_testcases/solana/using_import.sol:3:34-43"] load_21 [label="load int64\ntests/contract_testcases/solana/using_import.sol:3:34-43"] structmember_22 [label="struct member #0 int64\ntests/contract_testcases/solana/using_import.sol:3:36-38"] variable_23 [label="variable: s\nstruct S\ntests/contract_testcases/solana/using_import.sol:3:34-35"] number_literal_24 [label="int64 literal: 1\ntests/contract_testcases/solana/using_import.sol:3:42-43"] contract [label="contract c\ntests/contract_testcases/solana/using_import.sol:6:1-11:2"] test [label="function test\ncontract: c\ntests/contract_testcases/solana/using_import.sol:7:2-35\nsignature test((int64,bool))\nvisibility public\nmutability nonpayable"] parameters_28 [label="parameters\nstruct S s"] expr_29 [label="expression\ntests/contract_testcases/solana/using_import.sol:8:3-10"] call_internal_function [label="call internal function\ntests/contract_testcases/solana/using_import.sol:8:3-10"] internal_function [label="function(struct S) internal pure returns (void)\nfree function inc\ntests/contract_testcases/solana/using_import.sol:8:3-10"] variable_32 [label="variable: s\nstruct S\ntests/contract_testcases/solana/using_import.sol:8:3-4"] expr_33 [label="expression\ntests/contract_testcases/solana/using_import.sol:9:3-10"] call_internal_function_34 [label="call internal function\ntests/contract_testcases/solana/using_import.sol:9:3-10"] internal_function_35 [label="function(struct S) internal pure returns (void)\nfree function dec\ntests/contract_testcases/solana/using_import.sol:9:3-10"] variable_36 [label="variable: s\nstruct S\ntests/contract_testcases/solana/using_import.sol:9:3-4"] contract_37 [label="contract A\ntests/contract_testcases/solana/simple.sol:1:1-14"] contract_38 [label="contract L\ntests/contract_testcases/solana/simple.sol:2:1-13"] diagnostic [label="found contract 'c'\nlevel Debug\ntests/contract_testcases/solana/using_import.sol:6:1-11:2"] diagnostic_41 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/solana/using_import.sol:7:2-35"] diagnostic_42 [label="found contract 'A'\nlevel Debug\ntests/contract_testcases/solana/simple.sol:1:1-14"] diagnostic_43 [label="found library 'L'\nlevel Debug\ntests/contract_testcases/solana/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"] free_functions -> dec [label="function"] dec -> parameters_15 [label="parameters"] dec -> expr_16 [label="body"] expr_16 -> assign_17 [label="expr"] assign_17 -> structmember_18 [label="left"] structmember_18 -> variable_19 [label="var"] assign_17 -> subtract [label="right"] subtract -> load_21 [label="left"] load_21 -> structmember_22 [label="expr"] structmember_22 -> variable_23 [label="var"] subtract -> number_literal_24 [label="right"] contracts -> contract contract -> test [label="function"] test -> parameters_28 [label="parameters"] test -> expr_29 [label="body"] expr_29 -> call_internal_function [label="expr"] call_internal_function -> internal_function [label="function"] call_internal_function -> variable_32 [label="arg #0"] expr_29 -> expr_33 [label="next"] expr_33 -> call_internal_function_34 [label="expr"] call_internal_function_34 -> internal_function_35 [label="function"] call_internal_function_34 -> variable_36 [label="arg #0"] contracts -> contract_37 contracts -> contract_38 diagnostics -> diagnostic [label="Debug"] diagnostics -> diagnostic_41 [label="Warning"] diagnostics -> diagnostic_42 [label="Debug"] diagnostics -> diagnostic_43 [label="Debug"] }