strict digraph "tests/contract_testcases/substrate/functions/shadowing.sol" {
	contract [label="contract test\ntests/contract_testcases/substrate/functions/shadowing.sol:2:5-16:6"]
	var [label="variable result\nvisibility internal\ntests/contract_testcases/substrate/functions/shadowing.sol:3:9-22"]
	goodset [label="function goodset\ncontract: test\ntests/contract_testcases/substrate/functions/shadowing.sol:5:9-44\nsignature goodset(uint64)\nvisibility public\nmutability nonpayable"]
	parameters [label="parameters\nuint64 val"]
	expr [label="expression\ntests/contract_testcases/substrate/functions/shadowing.sol:6:13-25"]
	assign [label="assign\nuint64 storage\ntests/contract_testcases/substrate/functions/shadowing.sol:6:13-19"]
	storage_var [label="storage variable\ntest.result\nuint64 storage\ntests/contract_testcases/substrate/functions/shadowing.sol:6:13-19"]
	variable [label="variable: val\nuint64\ntests/contract_testcases/substrate/functions/shadowing.sol:6:22-25"]
	badset [label="function badset\ncontract: test\ntests/contract_testcases/substrate/functions/shadowing.sol:9:9-43\nsignature badset(uint64)\nvisibility public\nmutability nonpayable"]
	parameters_10 [label="parameters\nuint64 val"]
	var_decl [label="variable decl uint64 result\ntests/contract_testcases/substrate/functions/shadowing.sol:10:13-32"]
	variable_12 [label="variable: val\nuint64\ntests/contract_testcases/substrate/functions/shadowing.sol:10:29-32"]
	get [label="function get\ncontract: test\ntests/contract_testcases/substrate/functions/shadowing.sol:13:9-47\nsignature get()\nvisibility public\nmutability nonpayable"]
	returns [label="returns\nuint64 "]
	return [label="return\ntests/contract_testcases/substrate/functions/shadowing.sol:14:13-26"]
	storage_load [label="storage load uint64\ntests/contract_testcases/substrate/functions/shadowing.sol:14:13-26"]
	storage_var_17 [label="storage variable\ntest.result\nuint64 storage\ntests/contract_testcases/substrate/functions/shadowing.sol:14:20-26"]
	diagnostic [label="found contract 'test'\nlevel Debug\ntests/contract_testcases/substrate/functions/shadowing.sol:2:5-16:6"]
	diagnostic_20 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/substrate/functions/shadowing.sol:9:9-43"]
	diagnostic_21 [label="declaration of 'result' shadows state variable\nlevel Warning\ntests/contract_testcases/substrate/functions/shadowing.sol:10:20-26"]
	note [label="previous declaration of state variable\ntests/contract_testcases/substrate/functions/shadowing.sol:3:9-22"]
	diagnostic_23 [label="local variable 'result' has been assigned, but never read\nlevel Warning\ntests/contract_testcases/substrate/functions/shadowing.sol:10:20-26"]
	diagnostic_24 [label="function can be declared 'view'\nlevel Warning\ntests/contract_testcases/substrate/functions/shadowing.sol:13:9-47"]
	contracts -> contract
	contract -> var [label="variable"]
	contract -> goodset [label="function"]
	goodset -> parameters [label="parameters"]
	goodset -> expr [label="body"]
	expr -> assign [label="expr"]
	assign -> storage_var [label="left"]
	assign -> variable [label="right"]
	contract -> badset [label="function"]
	badset -> parameters_10 [label="parameters"]
	badset -> var_decl [label="body"]
	var_decl -> variable_12 [label="init"]
	contract -> get [label="function"]
	get -> returns [label="returns"]
	get -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> storage_var_17 [label="expr"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_20 [label="Warning"]
	diagnostics -> diagnostic_21 [label="Warning"]
	diagnostic_21 -> note [label="note"]
	diagnostics -> diagnostic_23 [label="Warning"]
	diagnostics -> diagnostic_24 [label="Warning"]
}
