strict digraph "tests/contract_testcases/substrate/libraries/using_07.sol" {
	foo1 [label="function foo1\ntests/contract_testcases/substrate/libraries/using_07.sol:1:1-17\nsignature foo1()\nvisibility internal\nmutability nonpayable"]
	foo2 [label="function foo2\ntests/contract_testcases/substrate/libraries/using_07.sol:2:1-20\nsignature foo2(int256)\nvisibility internal\nmutability nonpayable"]
	parameters [label="parameters\nint256 "]
	foo2_4 [label="function foo2\ntests/contract_testcases/substrate/libraries/using_07.sol:3:1-21\nsignature foo2(uint256)\nvisibility internal\nmutability nonpayable"]
	parameters_5 [label="parameters\nuint256 "]
	foo3 [label="function foo3\ntests/contract_testcases/substrate/libraries/using_07.sol:4:1-35\nsignature foo3(int256)\nvisibility internal\nmutability nonpayable"]
	parameters_7 [label="parameters\nint256 v"]
	returns [label="returns\nint256 "]
	return [label="return\ntests/contract_testcases/substrate/libraries/using_07.sol:5:2-14"]
	multiply [label="multiply\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:5:9-14"]
	variable [label="variable: v\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:5:9-10"]
	number_literal [label="int256 literal: 3\ntests/contract_testcases/substrate/libraries/using_07.sol:5:13-14"]
	foo4 [label="function foo4\ntests/contract_testcases/substrate/libraries/using_07.sol:7:1-42\nsignature foo4(int256,int256)\nvisibility internal\nmutability nonpayable"]
	parameters_14 [label="parameters\nint256 v\nint256 b"]
	returns_15 [label="returns\nint256 "]
	return_16 [label="return\ntests/contract_testcases/substrate/libraries/using_07.sol:8:2-18"]
	add [label="add\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:8:9-18"]
	multiply_18 [label="multiply\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:8:9-14"]
	variable_19 [label="variable: v\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:8:9-10"]
	number_literal_20 [label="int256 literal: 3\ntests/contract_testcases/substrate/libraries/using_07.sol:8:13-14"]
	variable_21 [label="variable: b\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:8:17-18"]
	contract [label="contract C\ntests/contract_testcases/substrate/libraries/using_07.sol:11:1-22:2"]
	using [label="using for int256"]
	using_26 [label="using for uint256"]
	using_27 [label="using for int256\nfunction foo3 tests/contract_testcases/substrate/libraries/using_07.sol:4:1-35\nfunction foo4 tests/contract_testcases/substrate/libraries/using_07.sol:7:1-42"]
	test [label="function test\ncontract: C\ntests/contract_testcases/substrate/libraries/using_07.sol:17:2-29\nsignature test(int256)\nvisibility public\nmutability nonpayable"]
	parameters_29 [label="parameters\nint256 c"]
	var_decl [label="variable decl int256 a\ntests/contract_testcases/substrate/libraries/using_07.sol:18:3-19"]
	call_internal_function [label="call internal function\ntests/contract_testcases/substrate/libraries/using_07.sol:18:11-19"]
	internal_function [label="function(int256) internal returns (int256)\nfree function foo3\ntests/contract_testcases/substrate/libraries/using_07.sol:18:11-19"]
	variable_33 [label="variable: c\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:18:11-12"]
	expr [label="expression\ntests/contract_testcases/substrate/libraries/using_07.sol:20:3-12"]
	call_internal_function_35 [label="call internal function\ntests/contract_testcases/substrate/libraries/using_07.sol:20:3-12"]
	internal_function_36 [label="function(int256,int256) internal returns (void)\nfree function foo4\ntests/contract_testcases/substrate/libraries/using_07.sol:20:3-12"]
	variable_37 [label="variable: a\nint256\ntests/contract_testcases/substrate/libraries/using_07.sol:20:3-4"]
	number_literal_38 [label="int256 literal: 1\ntests/contract_testcases/substrate/libraries/using_07.sol:20:10-11"]
	diagnostic [label="found contract 'C'\nlevel Debug\ntests/contract_testcases/substrate/libraries/using_07.sol:11:1-22:2"]
	diagnostic_41 [label="'foo1' has no arguments, at least one argument required\nlevel Error\ntests/contract_testcases/substrate/libraries/using_07.sol:12:9-13"]
	note [label="definition of 'foo1'\ntests/contract_testcases/substrate/libraries/using_07.sol:1:10-14"]
	diagnostic_43 [label="'global' on using within contract not permitted\nlevel Error\ntests/contract_testcases/substrate/libraries/using_07.sol:12:23-29"]
	diagnostic_44 [label="'foo2' is an overloaded function\nlevel Error\ntests/contract_testcases/substrate/libraries/using_07.sol:13:9-13"]
	note_45 [label="definition of 'foo2'\ntests/contract_testcases/substrate/libraries/using_07.sol:2:10-14"]
	note_46 [label="definition of 'foo2'\ntests/contract_testcases/substrate/libraries/using_07.sol:3:1-21"]
	diagnostic_47 [label="'feh' not expected, did you mean 'global'?\nlevel Error\ntests/contract_testcases/substrate/libraries/using_07.sol:13:21-24"]
	diagnostic_48 [label="function cannot be used since first argument is 'int256' rather than the required 'uint256'\nlevel Error\ntests/contract_testcases/substrate/libraries/using_07.sol:14:9-13"]
	note_49 [label="definition of 'foo3'\ntests/contract_testcases/substrate/libraries/using_07.sol:4:10-14"]
	free_functions -> foo1 [label="function"]
	free_functions -> foo2 [label="function"]
	foo2 -> parameters [label="parameters"]
	free_functions -> foo2_4 [label="function"]
	foo2_4 -> parameters_5 [label="parameters"]
	free_functions -> foo3 [label="function"]
	foo3 -> parameters_7 [label="parameters"]
	foo3 -> returns [label="returns"]
	foo3 -> return [label="body"]
	return -> multiply [label="expr"]
	multiply -> variable [label="left"]
	multiply -> number_literal [label="right"]
	free_functions -> foo4 [label="function"]
	foo4 -> parameters_14 [label="parameters"]
	foo4 -> returns_15 [label="returns"]
	foo4 -> return_16 [label="body"]
	return_16 -> add [label="expr"]
	add -> multiply_18 [label="left"]
	multiply_18 -> variable_19 [label="left"]
	multiply_18 -> number_literal_20 [label="right"]
	add -> variable_21 [label="right"]
	contracts -> contract
	contract -> using [label="base"]
	contract -> using_25 [label="base"]
	contract -> using_26 [label="base"]
	contract -> using_27 [label="base"]
	contract -> test [label="function"]
	test -> parameters_29 [label="parameters"]
	test -> var_decl [label="body"]
	var_decl -> call_internal_function [label="init"]
	call_internal_function -> internal_function [label="function"]
	call_internal_function -> variable_33 [label="arg #0"]
	var_decl -> expr [label="next"]
	expr -> call_internal_function_35 [label="expr"]
	call_internal_function_35 -> internal_function_36 [label="function"]
	call_internal_function_35 -> variable_37 [label="arg #0"]
	call_internal_function_35 -> number_literal_38 [label="arg #1"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_41 [label="Error"]
	diagnostic_41 -> note [label="note"]
	diagnostics -> diagnostic_43 [label="Error"]
	diagnostics -> diagnostic_44 [label="Error"]
	diagnostic_44 -> note_45 [label="note"]
	diagnostic_44 -> note_46 [label="note"]
	diagnostics -> diagnostic_47 [label="Error"]
	diagnostics -> diagnostic_48 [label="Error"]
	diagnostic_48 -> note_49 [label="note"]
}
