strict digraph "tests/contract_testcases/substrate/functions/mutability_04.sol" {
	contract [label="contract test\ntests/contract_testcases/substrate/functions/mutability_04.sol:1:1-5:10"]
	bar [label="function bar\ncontract: test\ntests/contract_testcases/substrate/functions/mutability_04.sol:2:13-58\nsignature bar(int256[])\nvisibility internal\nmutability view"]
	parameters [label="parameters\nint256[] storage foo"]
	expr [label="expression\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-29"]
	assign [label="assign\nint256 storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-29"]
	subscript [label="subscript int256[] storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-23"]
	variable [label="variable: foo\nint256[] storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-20"]
	number_literal [label="uint256 literal: 0\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:21-22"]
	number_literal_9 [label="int256 literal: 102\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:26-29"]
	diagnostic [label="found abstract contract 'test'\nlevel Debug\ntests/contract_testcases/substrate/functions/mutability_04.sol:1:1-5:10"]
	diagnostic_12 [label="function parameter 'foo' has never been read\nlevel Warning\ntests/contract_testcases/substrate/functions/mutability_04.sol:2:40-43"]
	diagnostic_13 [label="function declared 'view' but this expression writes to state\nlevel Error\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-23"]
	contracts -> contract
	contract -> bar [label="function"]
	bar -> parameters [label="parameters"]
	bar -> expr [label="body"]
	expr -> assign [label="expr"]
	assign -> subscript [label="left"]
	subscript -> variable [label="array"]
	subscript -> number_literal [label="index"]
	assign -> number_literal_9 [label="right"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_12 [label="Warning"]
	diagnostics -> diagnostic_13 [label="Error"]
}
