strict digraph "tests/contract_testcases/substrate/functions/global_functions_08.sol" {
	S [label="name:S\ntests/contract_testcases/substrate/functions/global_functions_08.sol:2:16-17\nfield name:f1 ty:int32\nfield name:f2 ty:int32"]
	x [label="function x\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:9-37\nsignature x(struct S)\nvisibility internal\nmutability view"]
	parameters [label="parameters\nstruct S storage x"]
	expr [label="expression\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:40-50"]
	assign [label="assign\nint32 storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:40-50"]
	structmember [label="struct member #0 int32 storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:42-44"]
	variable [label="variable: x\nstruct S storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:40-41"]
	number_literal [label="int32 literal: 102\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:47-50"]
	diagnostic [label="declaration of 'x' shadows function\nlevel Warning\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:30-31"]
	note [label="previous declaration of function\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:18-19"]
	diagnostic_14 [label="function declared 'view' but this expression writes to state\nlevel Error\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:42-44"]
	structs -> S
	free_functions -> x [label="function"]
	x -> parameters [label="parameters"]
	x -> expr [label="body"]
	expr -> assign [label="expr"]
	assign -> structmember [label="left"]
	structmember -> variable [label="var"]
	assign -> number_literal [label="right"]
	diagnostics -> diagnostic [label="Warning"]
	diagnostic -> note [label="note"]
	diagnostics -> diagnostic_14 [label="Error"]
}
