{ "type": "Module", "span": { "start": 303, "end": 1295, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 303, "end": 338, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 316, "end": 317, "ctxt": 0 }, "value": "M", "optional": false }, "declare": false, "span": { "start": 310, "end": 338, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 327, "end": 336, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 327, "end": 332, "ctxt": 0 }, "value": "field", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 332, "end": 335, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 334, "end": 335, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 334, "end": 335, "ctxt": 0 }, "value": "T", "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": { "type": "TsTypeParameterDeclaration", "span": { "start": 317, "end": 320, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 318, "end": 319, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 318, "end": 319, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 340, "end": 388, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 353, "end": 354, "ctxt": 0 }, "value": "N", "optional": false }, "declare": false, "span": { "start": 347, "end": 388, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 377, "end": 386, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 377, "end": 382, "ctxt": 0 }, "value": "other", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 382, "end": 385, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 384, "end": 385, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 384, "end": 385, "ctxt": 0 }, "value": "U", "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": 366, "end": 367, "ctxt": 0 }, "value": "M", "optional": false }, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 354, "end": 357, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 355, "end": 356, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 355, "end": 356, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "superTypeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 367, "end": 370, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 368, "end": 369, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 368, "end": 369, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } ] }, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 390, "end": 435, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 403, "end": 404, "ctxt": 0 }, "value": "O", "optional": false }, "declare": false, "span": { "start": 397, "end": 435, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 412, "end": 423, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 415, "end": 423, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 417, "end": 423, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 424, "end": 432, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 426, "end": 432, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 411, "end": 433, "ctxt": 0 } } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 437, "end": 464, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 450, "end": 451, "ctxt": 0 }, "value": "P", "optional": false }, "declare": false, "span": { "start": 444, "end": 464, "ctxt": 0 }, "decorators": [], "body": [], "superClass": { "type": "Identifier", "span": { "start": 460, "end": 461, "ctxt": 0 }, "value": "O", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 466, "end": 519, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 479, "end": 480, "ctxt": 0 }, "value": "Q", "optional": false }, "declare": false, "span": { "start": 473, "end": 519, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 498, "end": 509, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 501, "end": 509, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 503, "end": 509, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 510, "end": 516, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 512, "end": 516, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 512, "end": 516, "ctxt": 0 }, "value": "ok", "raw": "\"ok\"" } } }, "readonly": false, "static": false, "span": { "start": 497, "end": 517, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 489, "end": 490, "ctxt": 0 }, "value": "O", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 521, "end": 574, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 534, "end": 535, "ctxt": 0 }, "value": "R", "optional": false }, "declare": false, "span": { "start": 528, "end": 574, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 553, "end": 564, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 564, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 558, "end": 564, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 565, "end": 571, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 567, "end": 571, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 567, "end": 571, "ctxt": 0 }, "value": "ok", "raw": "\"ok\"" } } }, "readonly": false, "static": false, "span": { "start": 552, "end": 572, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 544, "end": 545, "ctxt": 0 }, "value": "O", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 576, "end": 655, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 589, "end": 590, "ctxt": 0 }, "value": "S", "optional": false }, "declare": false, "span": { "start": 583, "end": 655, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 608, "end": 619, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 611, "end": 619, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 613, "end": 619, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 620, "end": 626, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 622, "end": 626, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 622, "end": 626, "ctxt": 0 }, "value": "ok", "raw": "\"ok\"" } } }, "readonly": false, "static": false, "span": { "start": 607, "end": 627, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 633, "end": 644, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 636, "end": 644, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 638, "end": 644, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 645, "end": 652, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 647, "end": 652, "ctxt": 0 }, "kind": "never" } }, "readonly": false, "static": false, "span": { "start": 632, "end": 653, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 599, "end": 600, "ctxt": 0 }, "value": "O", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 657, "end": 702, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 670, "end": 671, "ctxt": 0 }, "value": "T", "optional": false }, "declare": false, "span": { "start": 664, "end": 702, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 679, "end": 690, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 682, "end": 690, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 684, "end": 690, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 691, "end": 699, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 693, "end": 699, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 678, "end": 700, "ctxt": 0 } } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 704, "end": 731, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 717, "end": 718, "ctxt": 0 }, "value": "U", "optional": false }, "declare": false, "span": { "start": 711, "end": 731, "ctxt": 0 }, "decorators": [], "body": [], "superClass": { "type": "Identifier", "span": { "start": 727, "end": 728, "ctxt": 0 }, "value": "T", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 734, "end": 789, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 747, "end": 748, "ctxt": 0 }, "value": "V", "optional": false }, "declare": false, "span": { "start": 741, "end": 789, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 766, "end": 777, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 769, "end": 777, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 771, "end": 777, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 778, "end": 786, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 780, "end": 786, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 765, "end": 787, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 757, "end": 758, "ctxt": 0 }, "value": "T", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 791, "end": 844, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 804, "end": 805, "ctxt": 0 }, "value": "W", "optional": false }, "declare": false, "span": { "start": 798, "end": 844, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 823, "end": 834, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 826, "end": 834, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 828, "end": 834, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 835, "end": 841, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 837, "end": 841, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 837, "end": 841, "ctxt": 0 }, "value": "ok", "raw": "\"ok\"" } } }, "readonly": false, "static": false, "span": { "start": 822, "end": 842, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 814, "end": 815, "ctxt": 0 }, "value": "T", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 846, "end": 926, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 859, "end": 860, "ctxt": 0 }, "value": "X", "optional": false }, "declare": false, "span": { "start": 853, "end": 926, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 878, "end": 889, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 881, "end": 889, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 883, "end": 889, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 890, "end": 898, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 892, "end": 898, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 877, "end": 899, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 905, "end": 916, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 908, "end": 916, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 910, "end": 916, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 917, "end": 923, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 919, "end": 923, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 919, "end": 923, "ctxt": 0 }, "value": "ok", "raw": "\"ok\"" } } }, "readonly": false, "static": false, "span": { "start": 904, "end": 924, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 869, "end": 870, "ctxt": 0 }, "value": "T", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 928, "end": 1021, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 941, "end": 942, "ctxt": 0 }, "value": "Y", "optional": false }, "declare": false, "span": { "start": 935, "end": 1021, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 950, "end": 961, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 953, "end": 961, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 955, "end": 961, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 962, "end": 975, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 964, "end": 975, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 965, "end": 974, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 965, "end": 966, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 966, "end": 974, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 968, "end": 974, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 949, "end": 976, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 982, "end": 993, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 985, "end": 993, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 987, "end": 993, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 994, "end": 1018, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 996, "end": 1018, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 997, "end": 1007, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 997, "end": 998, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 998, "end": 1006, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1000, "end": 1006, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1008, "end": 1017, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1008, "end": 1009, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1009, "end": 1017, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1011, "end": 1017, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 981, "end": 1019, "ctxt": 0 } } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 1023, "end": 1050, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1036, "end": 1037, "ctxt": 0 }, "value": "Z", "optional": false }, "declare": false, "span": { "start": 1030, "end": 1050, "ctxt": 0 }, "decorators": [], "body": [], "superClass": { "type": "Identifier", "span": { "start": 1046, "end": 1047, "ctxt": 0 }, "value": "Y", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 1052, "end": 1124, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1065, "end": 1067, "ctxt": 0 }, "value": "AA", "optional": false }, "declare": false, "span": { "start": 1059, "end": 1124, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1085, "end": 1096, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1088, "end": 1096, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1090, "end": 1096, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1097, "end": 1121, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1099, "end": 1121, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1100, "end": 1110, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1100, "end": 1101, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1101, "end": 1109, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1103, "end": 1109, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1111, "end": 1120, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1111, "end": 1112, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1112, "end": 1120, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1114, "end": 1120, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 1084, "end": 1122, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 1076, "end": 1077, "ctxt": 0 }, "value": "Y", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 1126, "end": 1188, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1139, "end": 1141, "ctxt": 0 }, "value": "BB", "optional": false }, "declare": false, "span": { "start": 1133, "end": 1188, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1159, "end": 1170, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1162, "end": 1170, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1164, "end": 1170, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1171, "end": 1185, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1173, "end": 1185, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1174, "end": 1179, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1174, "end": 1175, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1175, "end": 1178, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1177, "end": 1178, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1177, "end": 1178, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1180, "end": 1184, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1180, "end": 1181, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1181, "end": 1184, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1183, "end": 1184, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1183, "end": 1184, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 1158, "end": 1186, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 1150, "end": 1151, "ctxt": 0 }, "value": "Y", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 1190, "end": 1295, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1203, "end": 1205, "ctxt": 0 }, "value": "CC", "optional": false }, "declare": false, "span": { "start": 1197, "end": 1295, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1223, "end": 1234, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1226, "end": 1234, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1228, "end": 1234, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1235, "end": 1259, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1237, "end": 1259, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1238, "end": 1248, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1238, "end": 1239, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1239, "end": 1247, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1241, "end": 1247, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1249, "end": 1258, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1249, "end": 1250, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1250, "end": 1258, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1252, "end": 1258, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 1222, "end": 1260, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1266, "end": 1277, "ctxt": 0 }, "value": "idx", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1269, "end": 1277, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1271, "end": 1277, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1278, "end": 1292, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1280, "end": 1292, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1281, "end": 1286, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1281, "end": 1282, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1282, "end": 1285, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1284, "end": 1285, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1284, "end": 1285, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1287, "end": 1291, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1287, "end": 1288, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1288, "end": 1291, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1290, "end": 1291, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1290, "end": 1291, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 1265, "end": 1293, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 1214, "end": 1215, "ctxt": 0 }, "value": "Y", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } } ], "interpreter": null }