strict digraph "tests/contract_testcases/substrate/contracts/external_call_02.sol" {
	contract [label="contract c\ntests/contract_testcases/substrate/contracts/external_call_02.sol:2:9-10:10"]
	var [label="variable x\nvisibility internal\ntests/contract_testcases/substrate/contracts/external_call_02.sol:3:13-16"]
	new [label="constructor new\ncontract: c\ntests/contract_testcases/substrate/contracts/external_call_02.sol:4:13-33\nsignature new()\nvisibility public\nmutability nonpayable"]
	expr [label="expression\ntests/contract_testcases/substrate/contracts/external_call_02.sol:5:17-31"]
	assign [label="assign\ncontract b storage\ntests/contract_testcases/substrate/contracts/external_call_02.sol:5:17-18"]
	storage_var [label="storage variable\nc.x\ncontract b storage\ntests/contract_testcases/substrate/contracts/external_call_02.sol:5:17-18"]
	constructor [label="constructor contract b\ntests/contract_testcases/substrate/contracts/external_call_02.sol:5:21-31"]
	number_literal [label="int32 literal: 102\ntests/contract_testcases/substrate/contracts/external_call_02.sol:5:27-30"]
	test [label="function test\ncontract: c\ntests/contract_testcases/substrate/contracts/external_call_02.sol:7:13-51\nsignature test()\nvisibility public\nmutability nonpayable"]
	returns [label="returns\nint32 "]
	contract_11 [label="contract b\ntests/contract_testcases/substrate/contracts/external_call_02.sol:12:9-20:10"]
	var_12 [label="variable x\nvisibility internal\ntests/contract_testcases/substrate/contracts/external_call_02.sol:13:13-20"]
	new_13 [label="constructor new\ncontract: b\ntests/contract_testcases/substrate/contracts/external_call_02.sol:14:13-40\nsignature new(int32)\nvisibility public\nmutability nonpayable"]
	parameters [label="parameters\nint32 a"]
	expr_15 [label="expression\ntests/contract_testcases/substrate/contracts/external_call_02.sol:15:17-22"]
	assign_16 [label="assign\nint32 storage\ntests/contract_testcases/substrate/contracts/external_call_02.sol:15:17-18"]
	storage_var_17 [label="storage variable\nb.x\nint32 storage\ntests/contract_testcases/substrate/contracts/external_call_02.sol:15:17-18"]
	variable [label="variable: a\nint32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:15:21-22"]
	get_x [label="function get_x\ncontract: b\ntests/contract_testcases/substrate/contracts/external_call_02.sol:17:13-59\nsignature get_x(int32)\nvisibility public\nmutability nonpayable"]
	parameters_20 [label="parameters\nint32 t"]
	returns_21 [label="returns\nint32 "]
	return [label="return\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:17-29"]
	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:24-29"]
	storage_load [label="storage load int32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:24-25"]
	storage_var_25 [label="storage variable\nb.x\nint32 storage\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:24-25"]
	variable_26 [label="variable: t\nint32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:28-29"]
	diagnostic [label="found contract 'c'\nlevel Debug\ntests/contract_testcases/substrate/contracts/external_call_02.sol:2:9-10:10"]
	diagnostic_29 [label="'public': visibility for constructors is ignored\nlevel Warning\ntests/contract_testcases/substrate/contracts/external_call_02.sol:4:27-33"]
	diagnostic_30 [label="function expects 1 arguments, 2 provided\nlevel Error\ntests/contract_testcases/substrate/contracts/external_call_02.sol:8:24-52"]
	diagnostic_31 [label="duplicate argument with name 't'\nlevel Error\ntests/contract_testcases/substrate/contracts/external_call_02.sol:8:41-42"]
	diagnostic_32 [label="found contract 'b'\nlevel Debug\ntests/contract_testcases/substrate/contracts/external_call_02.sol:12:9-20:10"]
	diagnostic_33 [label="'public': visibility for constructors is ignored\nlevel Warning\ntests/contract_testcases/substrate/contracts/external_call_02.sol:14:34-40"]
	contracts -> contract
	contract -> var [label="variable"]
	contract -> new [label="constructor"]
	new -> expr [label="body"]
	expr -> assign [label="expr"]
	assign -> storage_var [label="left"]
	assign -> constructor [label="right"]
	constructor -> number_literal [label="arg #0"]
	contract -> test [label="function"]
	test -> returns [label="returns"]
	contracts -> contract_11
	contract_11 -> var_12 [label="variable"]
	contract_11 -> new_13 [label="constructor"]
	new_13 -> parameters [label="parameters"]
	new_13 -> expr_15 [label="body"]
	expr_15 -> assign_16 [label="expr"]
	assign_16 -> storage_var_17 [label="left"]
	assign_16 -> variable [label="right"]
	contract_11 -> get_x [label="function"]
	get_x -> parameters_20 [label="parameters"]
	get_x -> returns_21 [label="returns"]
	get_x -> return [label="body"]
	return -> multiply [label="expr"]
	multiply -> storage_load [label="left"]
	storage_load -> storage_var_25 [label="expr"]
	multiply -> variable_26 [label="right"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_29 [label="Warning"]
	diagnostics -> diagnostic_30 [label="Error"]
	diagnostics -> diagnostic_31 [label="Error"]
	diagnostics -> diagnostic_32 [label="Debug"]
	diagnostics -> diagnostic_33 [label="Warning"]
}
