{ "type": "Script", "span": { "start": 64, "end": 881, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 70, "end": 74, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 64, "end": 95, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 81, "end": 93, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 81, "end": 84, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 84, "end": 92, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 86, "end": 92, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 103, "end": 110, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 97, "end": 144, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 130, "end": 142, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 130, "end": 133, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 133, "end": 141, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 135, "end": 141, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 119, "end": 123, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsModuleDeclaration", "span": { "start": 146, "end": 523, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 153, "end": 167, "ctxt": 0 }, "value": "ExplicitPublic", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 168, "end": 523, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 180, "end": 181, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 174, "end": 216, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 192, "end": 210, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 200, "end": 203, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 203, "end": 209, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 205, "end": 209, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 205, "end": 209, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 228, "end": 229, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 222, "end": 285, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 250, "end": 270, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 257, "end": 260, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 260, "end": 269, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 262, "end": 269, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 262, "end": 269, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 238, "end": 239, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 297, "end": 299, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "span": { "start": 291, "end": 332, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 310, "end": 326, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 318, "end": 319, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 319, "end": 325, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 321, "end": 325, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 321, "end": 325, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 344, "end": 346, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "span": { "start": 338, "end": 401, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 368, "end": 386, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 375, "end": 376, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 376, "end": 385, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 378, "end": 385, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 378, "end": 385, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 355, "end": 357, "ctxt": 0 }, "value": "A2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 413, "end": 415, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "span": { "start": 407, "end": 450, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 426, "end": 444, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 434, "end": 437, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 437, "end": 443, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 439, "end": 443, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 439, "end": 443, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 462, "end": 464, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "span": { "start": 456, "end": 521, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 486, "end": 506, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 493, "end": 496, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 496, "end": 505, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 498, "end": 505, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 498, "end": 505, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 473, "end": 475, "ctxt": 0 }, "value": "A3", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 525, "end": 881, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 532, "end": 546, "ctxt": 0 }, "value": "ImplicitPublic", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 547, "end": 881, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 559, "end": 560, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 553, "end": 595, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 571, "end": 589, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 579, "end": 582, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 582, "end": 588, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 584, "end": 588, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 584, "end": 588, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 607, "end": 608, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 601, "end": 657, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 629, "end": 642, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 629, "end": 632, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 632, "end": 641, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 634, "end": 641, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 634, "end": 641, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 617, "end": 618, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 669, "end": 671, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "span": { "start": 663, "end": 704, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 682, "end": 698, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 690, "end": 691, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 691, "end": 697, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 693, "end": 697, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 693, "end": 697, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 716, "end": 718, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "span": { "start": 710, "end": 766, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 740, "end": 751, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 740, "end": 741, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 741, "end": 750, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 743, "end": 750, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 743, "end": 750, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 727, "end": 729, "ctxt": 0 }, "value": "A2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 778, "end": 780, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "span": { "start": 772, "end": 815, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 791, "end": 809, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 799, "end": 802, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 802, "end": 808, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 804, "end": 808, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 804, "end": 808, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 827, "end": 829, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "span": { "start": 821, "end": 879, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 851, "end": 864, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 851, "end": 854, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 854, "end": 863, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 856, "end": 863, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 856, "end": 863, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 838, "end": 840, "ctxt": 0 }, "value": "A3", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ] } } ], "interpreter": null }