{ "absolutePath": "a", "exportedSymbols": { "A": [ 5 ], "B": [ 16 ], "C": [ 29 ] }, "id": 30, "nodeType": "SourceUnit", "nodes": [ { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 5, "linearizedBaseContracts": [ 5 ], "name": "A", "nameLocation": "9:1:1", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 3, "nodeType": "Block", "src": "44:2:1", "statements": [] }, "functionSelector": "a399b6a2", "id": 4, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nameLocation": "23:3:1", "nodeType": "FunctionDefinition", "parameters": { "id": 1, "nodeType": "ParameterList", "parameters": [], "src": "26:2:1" }, "returnParameters": { "id": 2, "nodeType": "ParameterList", "parameters": [], "src": "44:0:1" }, "scope": 5, "src": "14:32:1", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], "scope": 30, "src": "0:48:1", "usedErrors": [] }, { "abstract": true, "baseContracts": [ { "baseName": { "id": 6, "name": "A", "nodeType": "IdentifierPath", "referencedDeclaration": 5, "src": "72:1:1" }, "id": 7, "nodeType": "InheritanceSpecifier", "src": "72:1:1" } ], "contractDependencies": [], "contractKind": "contract", "fullyImplemented": false, "id": 16, "linearizedBaseContracts": [ 16, 5 ], "name": "B", "nameLocation": "67:1:1", "nodeType": "ContractDefinition", "nodes": [ { "functionSelector": "c2985578", "id": 10, "implemented": false, "kind": "function", "modifiers": [], "name": "foo", "nameLocation": "86:3:1", "nodeType": "FunctionDefinition", "parameters": { "id": 8, "nodeType": "ParameterList", "parameters": [], "src": "89:2:1" }, "returnParameters": { "id": 9, "nodeType": "ParameterList", "parameters": [], "src": "106:0:1" }, "scope": 16, "src": "77:30:1", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ 4 ], "body": { "id": 14, "nodeType": "Block", "src": "148:2:1", "statements": [] }, "functionSelector": "a399b6a2", "id": 15, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nameLocation": "118:3:1", "nodeType": "FunctionDefinition", "overrides": { "id": 12, "nodeType": "OverrideSpecifier", "overrides": [], "src": "139:8:1" }, "parameters": { "id": 11, "nodeType": "ParameterList", "parameters": [], "src": "121:2:1" }, "returnParameters": { "id": 13, "nodeType": "ParameterList", "parameters": [], "src": "148:0:1" }, "scope": 16, "src": "109:41:1", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], "scope": 30, "src": "49:103:1", "usedErrors": [] }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 17, "name": "B", "nodeType": "IdentifierPath", "referencedDeclaration": 16, "src": "167:1:1" }, "id": 18, "nodeType": "InheritanceSpecifier", "src": "167:1:1" } ], "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 29, "linearizedBaseContracts": [ 29, 16, 5 ], "name": "C", "nameLocation": "162:1:1", "nodeType": "ContractDefinition", "nodes": [ { "baseFunctions": [ 10 ], "body": { "id": 22, "nodeType": "Block", "src": "203:3:1", "statements": [] }, "functionSelector": "c2985578", "id": 23, "implemented": true, "kind": "function", "modifiers": [], "name": "foo", "nameLocation": "181:3:1", "nodeType": "FunctionDefinition", "overrides": { "id": 20, "nodeType": "OverrideSpecifier", "overrides": [], "src": "194:8:1" }, "parameters": { "id": 19, "nodeType": "ParameterList", "parameters": [], "src": "184:2:1" }, "returnParameters": { "id": 21, "nodeType": "ParameterList", "parameters": [], "src": "203:0:1" }, "scope": 29, "src": "172:34:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ 15 ], "body": { "id": 27, "nodeType": "Block", "src": "239:3:1", "statements": [] }, "functionSelector": "a399b6a2", "id": 28, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nameLocation": "217:3:1", "nodeType": "FunctionDefinition", "overrides": { "id": 25, "nodeType": "OverrideSpecifier", "overrides": [], "src": "230:8:1" }, "parameters": { "id": 24, "nodeType": "ParameterList", "parameters": [], "src": "220:2:1" }, "returnParameters": { "id": 26, "nodeType": "ParameterList", "parameters": [], "src": "239:0:1" }, "scope": 29, "src": "208:34:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 30, "src": "153:91:1", "usedErrors": [] } ], "src": "0:245:1" }