strict digraph "tests/contract_testcases/evm/public_mapping.sol" {
	A [label="name:A\ncontract: foo\ntests/contract_testcases/evm/public_mapping.sol:2:12-13\nfield name:a ty:mapping(uint64 => uint64)"]
	contract [label="contract foo\ntests/contract_testcases/evm/public_mapping.sol:1:1-7:2"]
	var [label="variable map\nvisibility public\ntests/contract_testcases/evm/public_mapping.sol:6:5-19"]
	map [label="function map\ncontract: foo\ntests/contract_testcases/evm/public_mapping.sol:6:16-19\nsignature map(uint256)\nvisibility public\nmutability view"]
	parameters [label="parameters\nuint256 "]
	returns [label="returns\nstruct foo.A "]
	return [label="return\nimplicit"]
	storage_load [label="storage load struct foo.A\nimplicit"]
	subscript [label="subscript struct foo.A[] storage\nimplicit"]
	storage_var [label="storage variable\nfoo.map\nstruct foo.A[] storage\nimplicit"]
	variable [label="variable: \nuint256\nimplicit"]
	diagnostic [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/evm/public_mapping.sol:1:1-7:2"]
	diagnostic_15 [label="mapping in a struct variable cannot be public\nlevel Error\ntests/contract_testcases/evm/public_mapping.sol:6:5-19"]
	structs -> A
	contracts -> contract
	contract -> var [label="variable"]
	contract -> map [label="function"]
	map -> parameters [label="parameters"]
	map -> returns [label="returns"]
	map -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> subscript [label="expr"]
	subscript -> storage_var [label="array"]
	subscript -> variable [label="index"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_15 [label="Error"]
}
