strict digraph "tests/contract_testcases/substrate/modifier/mutability_02.sol" {
	contract [label="contract base\ntests/contract_testcases/substrate/modifier/mutability_02.sol:2:9-6:10"]
	foo [label="modifier foo\ncontract: base\ntests/contract_testcases/substrate/modifier/mutability_02.sol:3:13-35\nmutability nonpayable\nvirtual"]
	underscore [label="undersore\ntests/contract_testcases/substrate/modifier/mutability_02.sol:4:17-18"]
	contract_4 [label="contract apex\ntests/contract_testcases/substrate/modifier/mutability_02.sol:8:9-10:10"]
	base [label="base base\ntests/contract_testcases/substrate/modifier/mutability_02.sol:8:26-30"]
	foo_6 [label="function foo\ncontract: apex\ntests/contract_testcases/substrate/modifier/mutability_02.sol:9:13-43\nsignature foo()\nvisibility public\nmutability nonpayable\noverride"]
	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/modifier/mutability_02.sol:2:9-6:10"]
	diagnostic_9 [label="contracts without public storage or functions are not allowed on Substrate. Consider declaring this contract abstract: 'abstract contract base'\nlevel Error\ntests/contract_testcases/substrate/modifier/mutability_02.sol:2:9-6:10"]
	diagnostic_10 [label="found contract 'apex'\nlevel Debug\ntests/contract_testcases/substrate/modifier/mutability_02.sol:8:9-10:10"]
	diagnostic_11 [label="function 'foo' overrides modifier\nlevel Error\ntests/contract_testcases/substrate/modifier/mutability_02.sol:9:13-43"]
	note [label="previous definition of 'foo'\ntests/contract_testcases/substrate/modifier/mutability_02.sol:3:13-35"]
	contracts -> contract
	contract -> foo [label="modifier"]
	foo -> underscore [label="body"]
	contracts -> contract_4
	contract_4 -> base [label="base"]
	contract_4 -> foo_6 [label="function"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_9 [label="Error"]
	diagnostics -> diagnostic_10 [label="Debug"]
	diagnostics -> diagnostic_11 [label="Error"]
	diagnostic_11 -> note [label="note"]
}
