{ "type": "Script", "span": { "start": 64, "end": 426, "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": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 152, "end": 153, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 146, "end": 179, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 160, "end": 177, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 167, "end": 170, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 170, "end": 176, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 172, "end": 176, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 172, "end": 176, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "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": 187, "end": 188, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 181, "end": 237, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 205, "end": 226, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 213, "end": 216, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 216, "end": 225, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 218, "end": 225, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 218, "end": 225, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 197, "end": 198, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 245, "end": 247, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "span": { "start": 239, "end": 272, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 254, "end": 269, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 261, "end": 262, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 262, "end": 268, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 264, "end": 268, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 264, "end": 268, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "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": 280, "end": 282, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "span": { "start": 274, "end": 330, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 300, "end": 319, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 308, "end": 309, "ctxt": 0 }, "value": 1.0 }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 309, "end": 318, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 311, "end": 318, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 311, "end": 318, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 291, "end": 293, "ctxt": 0 }, "value": "A2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 338, "end": 340, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "span": { "start": 332, "end": 366, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 347, "end": 364, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 354, "end": 357, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 357, "end": 363, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 359, "end": 363, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 359, "end": 363, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "public", "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": 374, "end": 376, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "span": { "start": 368, "end": 426, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 394, "end": 415, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 402, "end": 405, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 405, "end": 414, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 407, "end": 414, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 407, "end": 414, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 385, "end": 387, "ctxt": 0 }, "value": "A3", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }