{ "absolutePath": "a", "exportedSymbols": { "A": [ 5 ], "B": [ 16 ], "C": [ 31 ] }, "id": 32, "nodeType": "SourceUnit", "nodes": [ { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 5, "linearizedBaseContracts": [ 5 ], "name": "A", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 3, "nodeType": "Block", "src": "36:2:1", "statements": [] }, "documentation": null, "id": 4, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nodeType": "FunctionDefinition", "overrides": null, "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", "visibility": "public" } ], "scope": 32, "src": "0:40:1" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 6, "name": "A", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5, "src": "55:1:1", "typeDescriptions": { "typeIdentifier": "t_contract$_A_$5", "typeString": "contract A" } }, "id": 7, "nodeType": "InheritanceSpecifier", "src": "55:1:1" } ], "contractDependencies": [ 5 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 16, "linearizedBaseContracts": [ 16, 5 ], "name": "B", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "id": 10, "implemented": false, "kind": "function", "modifiers": [], "name": "foo", "nodeType": "FunctionDefinition", "overrides": null, "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", "visibility": "public" }, { "baseFunctions": [ 4 ], "body": { "id": 14, "nodeType": "Block", "src": "115:2:1", "statements": [] }, "documentation": null, "id": 15, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nodeType": "FunctionDefinition", "overrides": [], "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", "visibility": "public" } ], "scope": 32, "src": "41:78:1" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 17, "name": "B", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 16, "src": "134:1:1", "typeDescriptions": { "typeIdentifier": "t_contract$_B_$16", "typeString": "contract B" } }, "id": 18, "nodeType": "InheritanceSpecifier", "src": "134:1:1" } ], "contractDependencies": [ 5, 16 ], "contractKind": "contract", "documentation": null, "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": [] }, "documentation": null, "id": 23, "implemented": true, "kind": "function", "modifiers": [], "name": "foo", "nodeType": "FunctionDefinition", "overrides": [], "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", "visibility": "public" }, { "baseFunctions": [ 15 ], "body": { "id": 29, "nodeType": "Block", "src": "212:2:1", "statements": [] }, "documentation": null, "id": 30, "implemented": true, "kind": "function", "modifiers": [], "name": "faa", "nodeType": "FunctionDefinition", "overrides": [ { "contractScope": null, "id": 25, "name": "A", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5, "src": "206:1:1", "typeDescriptions": { "typeIdentifier": "t_contract$_A_$5", "typeString": "contract A" } }, { "contractScope": null, "id": 26, "name": "B", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 16, "src": "209:1:1", "typeDescriptions": { "typeIdentifier": "t_contract$_B_$16", "typeString": "contract B" } } ], "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", "visibility": "public" } ], "scope": 32, "src": "120:96:1" } ], "src": "0:217:1" }