strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override_02.sol" {
	contract [label="contract base\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:2:9-6:10"]
	base [label="base bar\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:2:26-29"]
	base_3 [label="base bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:2:31-35"]
	base_4 [label="base bar3\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:2:37-41"]
	foo [label="function foo\ncontract: base\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:3:13-85\nsignature foo(uint64)\nvisibility internal\nmutability nonpayable\noverride bar\noverride bar2\noverride bar3"]
	parameters [label="parameters\nuint64 a"]
	returns [label="returns\nuint64 "]
	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:17-31"]
	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:24-31"]
	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:24-25"]
	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:28-31"]
	contract_12 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:8:9-12:10"]
	foo_13 [label="function foo\ncontract: bar\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:9:13-69\nsignature foo(uint64)\nvisibility internal\nmutability nonpayable\nvirtual"]
	parameters_14 [label="parameters\nuint64 a"]
	returns_15 [label="returns\nuint64 "]
	return_16 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:17-31"]
	add_17 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:24-31"]
	variable_18 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:24-25"]
	number_literal_19 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:28-31"]
	contract_20 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:14:9-18:10"]
	foo_21 [label="function foo\ncontract: bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:15:13-69\nsignature foo(uint64)\nvisibility internal\nmutability nonpayable\nvirtual"]
	parameters_22 [label="parameters\nuint64 a"]
	returns_23 [label="returns\nuint64 "]
	return_24 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:17-31"]
	add_25 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:24-31"]
	variable_26 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:24-25"]
	number_literal_27 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:28-31"]
	contract_28 [label="contract bar3\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:20:9-24:10"]
	f [label="function f\ncontract: bar3\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:21:13-32\nsignature f()\nvisibility public\nmutability nonpayable"]
	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:2:9-6:10"]
	diagnostic_32 [label="function 'foo' includes extraneous overrides 'bar3', specify 'override(bar2,bar)'\nlevel Error\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:3:36-59"]
	diagnostic_33 [label="found contract 'bar'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:8:9-12:10"]
	diagnostic_34 [label="found contract 'bar2'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:14:9-18:10"]
	diagnostic_35 [label="found contract 'bar3'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:20:9-24:10"]
	contracts -> contract
	contract -> base [label="base"]
	contract -> base_3 [label="base"]
	contract -> base_4 [label="base"]
	contract -> foo [label="function"]
	foo -> parameters [label="parameters"]
	foo -> returns [label="returns"]
	foo -> return [label="body"]
	return -> add [label="expr"]
	add -> variable [label="left"]
	add -> number_literal [label="right"]
	contracts -> contract_12
	contract_12 -> foo_13 [label="function"]
	foo_13 -> parameters_14 [label="parameters"]
	foo_13 -> returns_15 [label="returns"]
	foo_13 -> return_16 [label="body"]
	return_16 -> add_17 [label="expr"]
	add_17 -> variable_18 [label="left"]
	add_17 -> number_literal_19 [label="right"]
	contracts -> contract_20
	contract_20 -> foo_21 [label="function"]
	foo_21 -> parameters_22 [label="parameters"]
	foo_21 -> returns_23 [label="returns"]
	foo_21 -> return_24 [label="body"]
	return_24 -> add_25 [label="expr"]
	add_25 -> variable_26 [label="left"]
	add_25 -> number_literal_27 [label="right"]
	contracts -> contract_28
	contract_28 -> f [label="function"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_32 [label="Error"]
	diagnostics -> diagnostic_33 [label="Debug"]
	diagnostics -> diagnostic_34 [label="Debug"]
	diagnostics -> diagnostic_35 [label="Debug"]
}
