strict digraph "tests/contract_testcases/solana/expressions/selector_in_free_function_01.sol" {
	contract [label="contract I\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:2:9-4:10"]
	X [label="function X\ncontract: I\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:3:13-39\nsignature X(bytes)\nvisibility external\nmutability nonpayable\nvirtual"]
	parameters [label="parameters\nbytes "]
	contract_4 [label="contract X\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:6:9-10:10"]
	x [label="function x\ncontract: X\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:7:13-49\nsignature x()\nvisibility public\nmutability nonpayable"]
	returns [label="returns\nbytes4 "]
	return [label="return\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:8:17-36"]
	builtins [label="builtin FunctionSelector\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:8:24-27"]
	internal_function [label="function(bytes) internal returns (void)\nI.X\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:8:24-25"]
	diagnostic [label="found interface 'I'\nlevel Debug\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:2:9-4:10"]
	diagnostic_12 [label="X is already defined as a contract name\nlevel Warning\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:3:22-23"]
	note [label="location of previous definition\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:6:9-10:10"]
	diagnostic_14 [label="found contract 'X'\nlevel Debug\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:6:9-10:10"]
	diagnostic_15 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/solana/expressions/selector_in_free_function_01.sol:7:13-49"]
	contracts -> contract
	contract -> X [label="function"]
	X -> parameters [label="parameters"]
	contracts -> contract_4
	contract_4 -> x [label="function"]
	x -> returns [label="returns"]
	x -> return [label="body"]
	return -> builtins [label="expr"]
	builtins -> internal_function [label="arg #0"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_12 [label="Warning"]
	diagnostic_12 -> note [label="note"]
	diagnostics -> diagnostic_14 [label="Debug"]
	diagnostics -> diagnostic_15 [label="Warning"]
}
