strict digraph "tests/contract_testcases/solana/account_meta.sol" {
	contract [label="contract spl\ntests/contract_testcases/solana/account_meta.sol:3:1-18:2"]
	foo [label="function foo\ncontract: spl\ntests/contract_testcases/solana/account_meta.sol:4:2-47\nsignature foo()\nvisibility public\nmutability nonpayable"]
	returns [label="returns\nbool \naddress "]
	var_decl [label="variable decl struct AccountMeta meta\ntests/contract_testcases/solana/account_meta.sol:5:3-75"]
	struct_literal [label="struct literal: struct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:5:26-75"]
	getref [label="getref address\ntests/contract_testcases/solana/account_meta.sol:5:26-75"]
	cast [label="cast address\ntests/contract_testcases/solana/account_meta.sol:5:42-61"]
	builtins [label="builtin Sender\ntests/contract_testcases/solana/account_meta.sol:5:50-60"]
	bool_literal [label="bool literal: true\ntests/contract_testcases/solana/account_meta.sol:5:63-67"]
	bool_literal_10 [label="bool literal: false\ntests/contract_testcases/solana/account_meta.sol:5:69-74"]
	return [label="return\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
	list [label="list\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
	load [label="load bool\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
	structmember [label="struct member #1 bool\ntests/contract_testcases/solana/account_meta.sol:6:16-27"]
	variable [label="variable: meta\nstruct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:6:11-15"]
	load_16 [label="load address\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
	load_17 [label="load address\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
	structmember_18 [label="struct member #0 address\ntests/contract_testcases/solana/account_meta.sol:6:34-40"]
	variable_19 [label="variable: meta\nstruct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:6:29-33"]
	bar [label="function bar\ncontract: spl\ntests/contract_testcases/solana/account_meta.sol:9:2-56\nsignature bar(bytes32)\nvisibility public\nmutability nonpayable"]
	parameters [label="parameters\naddress x"]
	returns_22 [label="returns\nbool \naddress "]
	var_decl_23 [label="variable decl struct AccountMeta[2] meta\ntests/contract_testcases/solana/account_meta.sol:10:3-13:4"]
	array_literal [label="array literal: struct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:10:29-13:4"]
	struct_literal_25 [label="struct literal: struct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:11:4-34"]
	getref_26 [label="getref address\ntests/contract_testcases/solana/account_meta.sol:11:4-34"]
	variable_27 [label="variable: x\naddress\ntests/contract_testcases/solana/account_meta.sol:11:20-21"]
	bool_literal_28 [label="bool literal: true\ntests/contract_testcases/solana/account_meta.sol:11:23-27"]
	bool_literal_29 [label="bool literal: true\ntests/contract_testcases/solana/account_meta.sol:11:29-33"]
	struct_literal_30 [label="struct literal: struct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:12:4-70"]
	getref_31 [label="getref address\ntests/contract_testcases/solana/account_meta.sol:12:4-70"]
	variable_32 [label="variable: x\naddress\ntests/contract_testcases/solana/account_meta.sol:12:29-30"]
	bool_literal_33 [label="bool literal: false\ntests/contract_testcases/solana/account_meta.sol:12:45-50"]
	bool_literal_34 [label="bool literal: false\ntests/contract_testcases/solana/account_meta.sol:12:63-68"]
	return_35 [label="return\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
	list_36 [label="list\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
	load_37 [label="load bool\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
	structmember_38 [label="struct member #1 bool\ntests/contract_testcases/solana/account_meta.sol:15:19-30"]
	subscript [label="subscript struct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:11-18"]
	variable_40 [label="variable: meta\nstruct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:11-15"]
	number_literal [label="uint32 literal: 1\ntests/contract_testcases/solana/account_meta.sol:15:16-17"]
	load_42 [label="load address\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
	load_43 [label="load address\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
	structmember_44 [label="struct member #0 address\ntests/contract_testcases/solana/account_meta.sol:15:40-46"]
	subscript_45 [label="subscript struct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:32-39"]
	variable_46 [label="variable: meta\nstruct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:32-36"]
	number_literal_47 [label="uint32 literal: 0\ntests/contract_testcases/solana/account_meta.sol:15:37-38"]
	diagnostic [label="found contract 'spl'\nlevel Debug\ntests/contract_testcases/solana/account_meta.sol:3:1-18:2"]
	diagnostic_50 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/solana/account_meta.sol:4:2-47"]
	diagnostic_51 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/solana/account_meta.sol:9:2-56"]
	contracts -> contract
	contract -> foo [label="function"]
	foo -> returns [label="returns"]
	foo -> var_decl [label="body"]
	var_decl -> struct_literal [label="init"]
	struct_literal -> getref [label="arg #0"]
	getref -> cast [label="expr"]
	cast -> builtins [label="expr"]
	struct_literal -> bool_literal [label="arg #1"]
	struct_literal -> bool_literal_10 [label="arg #2"]
	var_decl -> return [label="next"]
	return -> list [label="expr"]
	list -> load [label="entry #0"]
	load -> structmember [label="expr"]
	structmember -> variable [label="var"]
	list -> load_16 [label="entry #1"]
	load_16 -> load_17 [label="expr"]
	load_17 -> structmember_18 [label="expr"]
	structmember_18 -> variable_19 [label="var"]
	contract -> bar [label="function"]
	bar -> parameters [label="parameters"]
	bar -> returns_22 [label="returns"]
	bar -> var_decl_23 [label="body"]
	var_decl_23 -> array_literal [label="init"]
	array_literal -> struct_literal_25 [label="arg #0"]
	struct_literal_25 -> getref_26 [label="arg #0"]
	getref_26 -> variable_27 [label="expr"]
	struct_literal_25 -> bool_literal_28 [label="arg #1"]
	struct_literal_25 -> bool_literal_29 [label="arg #2"]
	array_literal -> struct_literal_30 [label="arg #1"]
	struct_literal_30 -> getref_31 [label="arg #0"]
	getref_31 -> variable_32 [label="expr"]
	struct_literal_30 -> bool_literal_33 [label="arg #1"]
	struct_literal_30 -> bool_literal_34 [label="arg #2"]
	var_decl_23 -> return_35 [label="next"]
	return_35 -> list_36 [label="expr"]
	list_36 -> load_37 [label="entry #0"]
	load_37 -> structmember_38 [label="expr"]
	structmember_38 -> subscript [label="var"]
	subscript -> variable_40 [label="array"]
	subscript -> number_literal [label="index"]
	list_36 -> load_42 [label="entry #1"]
	load_42 -> load_43 [label="expr"]
	load_43 -> structmember_44 [label="expr"]
	structmember_44 -> subscript_45 [label="var"]
	subscript_45 -> variable_46 [label="array"]
	subscript_45 -> number_literal_47 [label="index"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_50 [label="Warning"]
	diagnostics -> diagnostic_51 [label="Warning"]
}
