strict digraph "tests/contract_testcases/substrate/variables/immutable_02.sol" {
	contract [label="contract x\ntests/contract_testcases/substrate/variables/immutable_02.sol:1:1-7:10"]
	var [label="variable y\nvisibility public\nimmutable\ntests/contract_testcases/substrate/variables/immutable_02.sol:2:13-39"]
	number_literal [label="int256 literal: 1\ntests/contract_testcases/substrate/variables/immutable_02.sol:2:38-39"]
	y [label="function y\ncontract: x\ntests/contract_testcases/substrate/variables/immutable_02.sol:2:34-35\nsignature y()\nvisibility public\nmutability view"]
	returns [label="returns\nint256 "]
	return [label="return\nimplicit"]
	storage_load [label="storage load int256\nimplicit"]
	storage_var [label="storage variable\nx.y\nint256 storage\nimplicit"]
	foo [label="function foo\ncontract: x\ntests/contract_testcases/substrate/variables/immutable_02.sol:4:13-34\nsignature foo()\nvisibility public\nmutability nonpayable"]
	diagnostic [label="found contract 'x'\nlevel Debug\ntests/contract_testcases/substrate/variables/immutable_02.sol:1:1-7:10"]
	diagnostic_12 [label="cannot assign to immutable outside of constructor\nlevel Error\ntests/contract_testcases/substrate/variables/immutable_02.sol:5:17-18"]
	contracts -> contract
	contract -> var [label="variable"]
	var -> number_literal [label="initializer"]
	contract -> y [label="function"]
	y -> returns [label="returns"]
	y -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> storage_var [label="expr"]
	contract -> foo [label="function"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_12 [label="Error"]
}
