{ "type": "Script", "span": { "start": 1, "end": 1129, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 7, "end": 11, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 1, "end": 28, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 14, "end": 26, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 14, "end": 17, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 17, "end": 25, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 19, "end": 25, "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": 35, "end": 42, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 29, "end": 72, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 58, "end": 70, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 58, "end": 61, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 61, "end": 69, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 63, "end": 69, "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": 51, "end": 55, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 79, "end": 87, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 73, "end": 120, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 106, "end": 118, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 106, "end": 109, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 109, "end": 117, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 111, "end": 117, "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": 96, "end": 103, "ctxt": 0 }, "value": "Derived", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 312, "end": 313, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 306, "end": 347, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 320, "end": 330, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 320, "end": 323, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 323, "end": 329, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 325, "end": 329, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 325, "end": 329, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 335, "end": 345, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 335, "end": 338, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 338, "end": 344, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 340, "end": 344, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 340, "end": 344, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "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": 355, "end": 356, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 349, "end": 420, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 373, "end": 386, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 373, "end": 376, "ctxt": 0 }, "value": "foo", "optional": false }, "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": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 397, "end": 409, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 397, "end": 400, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 400, "end": 408, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 402, "end": 408, "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": 365, "end": 366, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 428, "end": 430, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "span": { "start": 422, "end": 463, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 437, "end": 445, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 437, "end": 438, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 438, "end": 444, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 440, "end": 444, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 440, "end": 444, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 451, "end": 461, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 451, "end": 454, "ctxt": 0 }, "value": 2.0, "raw": "2.0" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 454, "end": 460, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 456, "end": 460, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 456, "end": 460, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "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": 471, "end": 473, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "span": { "start": 465, "end": 534, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 491, "end": 502, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 491, "end": 492, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 492, "end": 501, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 494, "end": 501, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 494, "end": 501, "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 }, { "type": "ClassProperty", "span": { "start": 513, "end": 523, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 513, "end": 514, "ctxt": 0 }, "value": 2.0, "raw": "2" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 514, "end": 522, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 516, "end": 522, "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": 482, "end": 484, "ctxt": 0 }, "value": "A2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 542, "end": 544, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "span": { "start": 536, "end": 580, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 551, "end": 561, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 551, "end": 554, "ctxt": 0 }, "value": "1", "raw": "'1'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 554, "end": 560, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 556, "end": 560, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 556, "end": 560, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 566, "end": 578, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 566, "end": 571, "ctxt": 0 }, "value": "2.0", "raw": "'2.0'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 571, "end": 577, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 573, "end": 577, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 573, "end": 577, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "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": 588, "end": 590, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "span": { "start": 582, "end": 657, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 608, "end": 621, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 608, "end": 611, "ctxt": 0 }, "value": "1", "raw": "'1'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 611, "end": 620, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 613, "end": 620, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 613, "end": 620, "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 }, { "type": "ClassProperty", "span": { "start": 632, "end": 646, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 632, "end": 637, "ctxt": 0 }, "value": "2.0", "raw": "'2.0'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 637, "end": 645, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 639, "end": 645, "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": 599, "end": 601, "ctxt": 0 }, "value": "A3", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsModuleDeclaration", "span": { "start": 659, "end": 1129, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 666, "end": 675, "ctxt": 0 }, "value": "TwoLevels", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 676, "end": 1129, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 688, "end": 689, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 682, "end": 735, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 700, "end": 710, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 700, "end": 703, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 703, "end": 709, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 705, "end": 709, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 705, "end": 709, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 719, "end": 729, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 719, "end": 722, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 722, "end": 728, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 724, "end": 728, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 724, "end": 728, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "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": 747, "end": 748, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 741, "end": 825, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 769, "end": 783, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 769, "end": 772, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 772, "end": 782, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 774, "end": 782, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 774, "end": 782, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 798, "end": 810, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 798, "end": 801, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 801, "end": 809, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 803, "end": 809, "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": 757, "end": 758, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 837, "end": 839, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "span": { "start": 831, "end": 883, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 850, "end": 858, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 850, "end": 851, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 851, "end": 857, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 853, "end": 857, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 853, "end": 857, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 867, "end": 877, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 867, "end": 870, "ctxt": 0 }, "value": 2.0, "raw": "2.0" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 870, "end": 876, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 872, "end": 876, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 872, "end": 876, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "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": 895, "end": 897, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "span": { "start": 889, "end": 971, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 919, "end": 931, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 919, "end": 920, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 920, "end": 930, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 922, "end": 930, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 922, "end": 930, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 946, "end": 956, "ctxt": 0 }, "key": { "type": "NumericLiteral", "span": { "start": 946, "end": 947, "ctxt": 0 }, "value": 2.0, "raw": "2" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 947, "end": 955, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 949, "end": 955, "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": 906, "end": 908, "ctxt": 0 }, "value": "A2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 983, "end": 985, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "span": { "start": 977, "end": 1033, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 996, "end": 1006, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 996, "end": 999, "ctxt": 0 }, "value": "1", "raw": "'1'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 999, "end": 1005, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1001, "end": 1005, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1001, "end": 1005, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1015, "end": 1027, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 1015, "end": 1020, "ctxt": 0 }, "value": "2.0", "raw": "'2.0'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1020, "end": 1026, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1022, "end": 1026, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1022, "end": 1026, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "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": 1045, "end": 1047, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "span": { "start": 1039, "end": 1127, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1069, "end": 1083, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 1069, "end": 1072, "ctxt": 0 }, "value": "1", "raw": "'1'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1072, "end": 1082, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1074, "end": 1082, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1074, "end": 1082, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1098, "end": 1112, "ctxt": 0 }, "key": { "type": "StringLiteral", "span": { "start": 1098, "end": 1103, "ctxt": 0 }, "value": "2.0", "raw": "'2.0'" }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1103, "end": 1111, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1105, "end": 1111, "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": 1056, "end": 1058, "ctxt": 0 }, "value": "A3", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ] } } ], "interpreter": null }