strict digraph "tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol" {
	contract [label="contract c\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:2:9-4:10"]
	base [label="base b\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:2:23-24"]
	new [label="constructor new\ncontract: c\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:13-45\nsignature new(int64)\nvisibility public\nmutability nonpayable"]
	parameters [label="parameters\nint64 x"]
	b [label="b"]
	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:36-39"]
	variable [label="variable: x\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:36-37"]
	number_literal [label="int64 literal: 3\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:38-39"]
	contract_9 [label="contract b\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:6:9-8:10"]
	base_10 [label="base a\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:6:32-33"]
	new_11 [label="constructor new\ncontract: b\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:7:13-34\nsignature new(int64)\nvisibility public\nmutability nonpayable"]
	parameters_12 [label="parameters\nint64 y"]
	contract_13 [label="contract a\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:10:9-14:10"]
	var [label="variable foo\nvisibility internal\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:11:13-22"]
	get_foo [label="function get_foo\ncontract: a\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:12:13-54\nsignature get_foo()\nvisibility public\nmutability nonpayable"]
	returns [label="returns\nint64 "]
	return [label="return\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:12:57-67"]
	storage_load [label="storage load int64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:12:57-67"]
	storage_var [label="storage variable\na.foo\nint64 storage\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:12:64-67"]
	new_20 [label="constructor new\ncontract: a\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:13:13-34\nsignature new(int64)\nvisibility public\nmutability nonpayable"]
	parameters_21 [label="parameters\nint64 z"]
	expr [label="expression\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:13:36-43"]
	assign [label="assign\nint64 storage\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:13:36-39"]
	storage_var_24 [label="storage variable\na.foo\nint64 storage\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:13:36-39"]
	variable_25 [label="variable: z\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:13:42-43"]
	diagnostic [label="found contract 'c'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:2:9-4:10"]
	diagnostic_28 [label="missing arguments to base contract 'a' constructor\nlevel Error\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:2:9-4:10"]
	diagnostic_29 [label="duplicate base contract 'b'\nlevel Error\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:41-45"]
	note [label="previous base contract 'b'\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:34-40"]
	diagnostic_31 [label="found abstract contract 'b'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:6:9-8:10"]
	diagnostic_32 [label="found contract 'a'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:10:9-14:10"]
	contracts -> contract
	contract -> base [label="base"]
	contract -> new [label="constructor"]
	new -> parameters [label="parameters"]
	new -> b [label="base"]
	b -> add [label="arg #0"]
	add -> variable [label="left"]
	add -> number_literal [label="right"]
	contracts -> contract_9
	contract_9 -> base_10 [label="base"]
	contract_9 -> new_11 [label="constructor"]
	new_11 -> parameters_12 [label="parameters"]
	contracts -> contract_13
	contract_13 -> var [label="variable"]
	contract_13 -> get_foo [label="function"]
	get_foo -> returns [label="returns"]
	get_foo -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> storage_var [label="expr"]
	contract_13 -> new_20 [label="constructor"]
	new_20 -> parameters_21 [label="parameters"]
	new_20 -> expr [label="body"]
	expr -> assign [label="expr"]
	assign -> storage_var_24 [label="left"]
	assign -> variable_25 [label="right"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_28 [label="Error"]
	diagnostics -> diagnostic_29 [label="Error"]
	diagnostic_29 -> note [label="note"]
	diagnostics -> diagnostic_31 [label="Debug"]
	diagnostics -> diagnostic_32 [label="Debug"]
}
