{ "absolutePath": "a", "exportedSymbols": { "A": [ 5 ], "B": [ 16 ], "C": [ 31 ] }, "id": 32, "nodeType": "SourceUnit", "nodes": [ { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 5, "linearizedBaseContracts": [ 5 ], "name": "A", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 3, "nodeType": "Block", "src": "36:2:1", "statements": [] }, "functionSelector": "a399b6a2", "id": 4, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nodeType": "FunctionDefinition", "parameters": { "id": 1, "nodeType": "ParameterList", "parameters": [], "src": "26:2:1" }, "returnParameters": { "id": 2, "nodeType": "ParameterList", "parameters": [], "src": "36:0:1" }, "scope": 5, "src": "14:24:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 32, "src": "0:40:1" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 6, "name": "A", "nodeType": "IdentifierPath", "referencedDeclaration": 5, "src": "55:1:1" }, "id": 7, "nodeType": "InheritanceSpecifier", "src": "55:1:1" } ], "contractDependencies": [ 5 ], "contractKind": "contract", "fullyImplemented": false, "id": 16, "linearizedBaseContracts": [ 16, 5 ], "name": "B", "nodeType": "ContractDefinition", "nodes": [ { "functionSelector": "c2985578", "id": 10, "implemented": false, "kind": "function", "modifiers": [], "name": "foo", "nodeType": "FunctionDefinition", "parameters": { "id": 8, "nodeType": "ParameterList", "parameters": [], "src": "72:2:1" }, "returnParameters": { "id": 9, "nodeType": "ParameterList", "parameters": [], "src": "81:0:1" }, "scope": 16, "src": "60:22:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ 4 ], "body": { "id": 14, "nodeType": "Block", "src": "115:2:1", "statements": [] }, "functionSelector": "a399b6a2", "id": 15, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nodeType": "FunctionDefinition", "overrides": { "id": 12, "nodeType": "OverrideSpecifier", "overrides": [], "src": "106:8:1" }, "parameters": { "id": 11, "nodeType": "ParameterList", "parameters": [], "src": "96:2:1" }, "returnParameters": { "id": 13, "nodeType": "ParameterList", "parameters": [], "src": "115:0:1" }, "scope": 16, "src": "84:33:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 32, "src": "41:78:1" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 17, "name": "B", "nodeType": "IdentifierPath", "referencedDeclaration": 16, "src": "134:1:1" }, "id": 18, "nodeType": "InheritanceSpecifier", "src": "134:1:1" } ], "contractDependencies": [ 5, 16 ], "contractKind": "contract", "fullyImplemented": true, "id": 31, "linearizedBaseContracts": [ 31, 16, 5 ], "name": "C", "nodeType": "ContractDefinition", "nodes": [ { "baseFunctions": [ 10 ], "body": { "id": 22, "nodeType": "Block", "src": "170:3:1", "statements": [] }, "functionSelector": "c2985578", "id": 23, "implemented": true, "kind": "function", "modifiers": [], "name": "foo", "nodeType": "FunctionDefinition", "overrides": { "id": 20, "nodeType": "OverrideSpecifier", "overrides": [], "src": "161:8:1" }, "parameters": { "id": 19, "nodeType": "ParameterList", "parameters": [], "src": "151:2:1" }, "returnParameters": { "id": 21, "nodeType": "ParameterList", "parameters": [], "src": "170:0:1" }, "scope": 31, "src": "139:34:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ 15 ], "body": { "id": 29, "nodeType": "Block", "src": "212:2:1", "statements": [] }, "functionSelector": "a399b6a2", "id": 30, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nodeType": "FunctionDefinition", "overrides": { "id": 27, "nodeType": "OverrideSpecifier", "overrides": [ { "id": 25, "name": "A", "nodeType": "IdentifierPath", "referencedDeclaration": 5, "src": "206:1:1" }, { "id": 26, "name": "B", "nodeType": "IdentifierPath", "referencedDeclaration": 16, "src": "209:1:1" } ], "src": "197:14:1" }, "parameters": { "id": 24, "nodeType": "ParameterList", "parameters": [], "src": "187:2:1" }, "returnParameters": { "id": 28, "nodeType": "ParameterList", "parameters": [], "src": "212:0:1" }, "scope": 31, "src": "175:39:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 32, "src": "120:96:1" } ], "src": "0:217:1" }