strict digraph "tests/contract_testcases/solana/functions/selectors-must-be-different.sol" { contract [label="contract c\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:1:1-10:2"] f1 [label="function f1\ncontract: c\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:3:2-22\nsignature f1()\nvisibility public\nmutability nonpayable\nselector 01"] f2 [label="function f2\ncontract: c\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:6:2-22\nsignature f2()\nvisibility public\nmutability nonpayable\nselector 01"] f3 [label="function f3\ncontract: c\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:9:2-22\nsignature f3()\nvisibility public\nmutability nonpayable\nselector 01"] contract_5 [label="contract d\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:12:1-18:2"] var [label="variable c\nvisibility public\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:13:2-14"] c [label="function c\ncontract: d\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:13:13-14\nsignature c()\nvisibility public\nmutability view"] returns [label="returns\nint256 "] return [label="return\nimplicit"] storage_load [label="storage load int256\nimplicit"] storage_var [label="storage variable\nd.c\nint256 storage\nimplicit"] f1_12 [label="function f1\ncontract: d\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:17:2-22\nsignature f1()\nvisibility public\nmutability nonpayable\nselector 13fbd725feff6e10"] contract_13 [label="contract e\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:20:1-24:2"] f1_14 [label="function f1\ncontract: e\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:23:2-22\nsignature f1()\nvisibility public\nmutability nonpayable\nselector 01"] contract_15 [label="contract f\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:26:1-33:2"] f1_16 [label="function f1\ncontract: f\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:29:2-22\nsignature f1()\nvisibility public\nmutability nonpayable\nselector 41424344caffee00"] f2_17 [label="function f2\ncontract: f\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:31:2-22\nsignature f2()\nvisibility public\nmutability nonpayable\nselector 41424344caffee00"] f3_18 [label="function f3\ncontract: f\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:32:2-22\nsignature f3()\nvisibility public\nmutability nonpayable"] contract_19 [label="contract g\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:35:1-40:2"] f1_20 [label="function f1\ncontract: g\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:36:2-22\nsignature f1()\nvisibility public\nmutability nonpayable"] f3_21 [label="function f3\ncontract: g\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:39:2-22\nsignature f3()\nvisibility public\nmutability nonpayable\nselector 1b494cee9c541e94"] diagnostic [label="found abstract contract 'c'\nlevel Debug\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:1:1-10:2"] diagnostic_24 [label="function 'f2' selector is the same as function 'f1'\nlevel Error\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:6:2-22"] note [label="definition of function 'f1'\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:3:2-22"] diagnostic_26 [label="function 'f3' selector is the same as function 'f1'\nlevel Error\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:9:2-22"] note_27 [label="definition of function 'f1'\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:3:2-22"] diagnostic_28 [label="found contract 'd'\nlevel Debug\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:12:1-18:2"] diagnostic_29 [label="c is already defined as a contract name\nlevel Warning\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:13:13-14"] note_30 [label="location of previous definition\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:1:1-10:2"] diagnostic_31 [label="function 'f1' selector is the same as function 'c'\nlevel Error\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:17:2-22"] note_32 [label="definition of function 'c'\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:13:13-14"] diagnostic_33 [label="found contract 'e'\nlevel Debug\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:20:1-24:2"] diagnostic_34 [label="function 'f1' selector must be 8 bytes rather than 1 bytes\nlevel Error\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:22:2-16"] diagnostic_35 [label="found contract 'f'\nlevel Debug\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:26:1-33:2"] diagnostic_36 [label="function 'f2' selector is the same as function 'f1'\nlevel Error\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:31:2-22"] note_37 [label="definition of function 'f1'\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:29:2-22"] diagnostic_38 [label="found contract 'g'\nlevel Debug\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:35:1-40:2"] diagnostic_39 [label="function 'f3' selector is the same as function 'f1'\nlevel Error\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:39:2-22"] note_40 [label="definition of function 'f1'\ntests/contract_testcases/solana/functions/selectors-must-be-different.sol:36:2-22"] contracts -> contract contract -> f1 [label="function"] contract -> f2 [label="function"] contract -> f3 [label="function"] contracts -> contract_5 contract_5 -> var [label="variable"] contract_5 -> c [label="function"] c -> returns [label="returns"] c -> return [label="body"] return -> storage_load [label="expr"] storage_load -> storage_var [label="expr"] contract_5 -> f1_12 [label="function"] contracts -> contract_13 contract_13 -> f1_14 [label="function"] contracts -> contract_15 contract_15 -> f1_16 [label="function"] contract_15 -> f2_17 [label="function"] contract_15 -> f3_18 [label="function"] contracts -> contract_19 contract_19 -> f1_20 [label="function"] contract_19 -> f3_21 [label="function"] diagnostics -> diagnostic [label="Debug"] diagnostics -> diagnostic_24 [label="Error"] diagnostic_24 -> note [label="note"] diagnostics -> diagnostic_26 [label="Error"] diagnostic_26 -> note_27 [label="note"] diagnostics -> diagnostic_28 [label="Debug"] diagnostics -> diagnostic_29 [label="Warning"] diagnostic_29 -> note_30 [label="note"] diagnostics -> diagnostic_31 [label="Error"] diagnostic_31 -> note_32 [label="note"] diagnostics -> diagnostic_33 [label="Debug"] diagnostics -> diagnostic_34 [label="Error"] diagnostics -> diagnostic_35 [label="Debug"] diagnostics -> diagnostic_36 [label="Error"] diagnostic_36 -> note_37 [label="note"] diagnostics -> diagnostic_38 [label="Debug"] diagnostics -> diagnostic_39 [label="Error"] diagnostic_39 -> note_40 [label="note"] }