strict digraph "tests/contract_testcases/substrate/function_types/variable_or_func_type.sol" {
	contract [label="contract bar\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:1:1-3:10"]
	var [label="variable total\nvisibility public\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:2:13-29"]
	total [label="function total\ncontract: bar\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:2:24-29\nsignature total()\nvisibility public\nmutability view"]
	returns [label="returns\nint256 "]
	return [label="return\nimplicit"]
	storage_load [label="storage load int256\nimplicit"]
	storage_var [label="storage variable\nbar.total\nint256 storage\nimplicit"]
	contract_8 [label="contract I\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:5:9-7:10"]
	total_9 [label="function total\ncontract: I\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:6:13-52\nsignature total()\nvisibility external\nmutability nonpayable\nvirtual"]
	returns_10 [label="returns\nint256 "]
	contract_11 [label="contract foo\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:9:9-16:10"]
	base [label="base I\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:9:25-26"]
	base_13 [label="base bar\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:9:28-31"]
	f1 [label="function f1\ncontract: foo\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:10:13-33\nsignature f1()\nvisibility public\nmutability nonpayable"]
	var_decl [label="variable decl int256 variable\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:12:17-37"]
	storage_load_16 [label="storage load int256\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:12:32-37"]
	storage_var_17 [label="storage variable\nbar.total\nint256 storage\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:12:32-37"]
	var_decl_18 [label="variable decl function() internal returns (int256) func_type\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:14:17-68"]
	cast [label="cast function() internal returns (int256)\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:14:63-68"]
	internal_function [label="function() internal view returns (int256)\nbar.total\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:14:63-68"]
	diagnostic [label="found contract 'bar'\nlevel Debug\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:1:1-3:10"]
	diagnostic_23 [label="found interface 'I'\nlevel Debug\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:5:9-7:10"]
	diagnostic_24 [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:9:9-16:10"]
	diagnostic_25 [label="function can be declared 'view'\nlevel Warning\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:10:13-33"]
	diagnostic_26 [label="local variable 'variable' has been assigned, but never read\nlevel Warning\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:12:21-29"]
	diagnostic_27 [label="local variable 'func_type' has been assigned, but never read\nlevel Warning\ntests/contract_testcases/substrate/function_types/variable_or_func_type.sol:14:51-60"]
	contracts -> contract
	contract -> var [label="variable"]
	contract -> total [label="function"]
	total -> returns [label="returns"]
	total -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> storage_var [label="expr"]
	contracts -> contract_8
	contract_8 -> total_9 [label="function"]
	total_9 -> returns_10 [label="returns"]
	contracts -> contract_11
	contract_11 -> base [label="base"]
	contract_11 -> base_13 [label="base"]
	contract_11 -> f1 [label="function"]
	f1 -> var_decl [label="body"]
	var_decl -> storage_load_16 [label="init"]
	storage_load_16 -> storage_var_17 [label="expr"]
	var_decl -> var_decl_18 [label="next"]
	var_decl_18 -> cast [label="init"]
	cast -> internal_function [label="expr"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_23 [label="Debug"]
	diagnostics -> diagnostic_24 [label="Debug"]
	diagnostics -> diagnostic_25 [label="Warning"]
	diagnostics -> diagnostic_26 [label="Warning"]
	diagnostics -> diagnostic_27 [label="Warning"]
}
