{ "type": "Script", "span": { "start": 1, "end": 1161, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 1, "end": 24, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5, "end": 24, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5, "end": 6, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6, "end": 24, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 8, "end": 24, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 10, "end": 22, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 10, "end": 13, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 13, "end": 21, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 15, "end": 21, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 25, "end": 61, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 29, "end": 61, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 29, "end": 30, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 30, "end": 61, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 32, "end": 61, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 34, "end": 46, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 34, "end": 37, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 37, "end": 45, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 39, "end": 45, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 47, "end": 59, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 47, "end": 50, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 50, "end": 58, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 52, "end": 58, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 69, "end": 73, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 63, "end": 393, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 80, "end": 92, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 80, "end": 81, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 81, "end": 91, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 83, "end": 91, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 90, "end": 91, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 97, "end": 115, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 97, "end": 98, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 99, "end": 110, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 99, "end": 110, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 100, "end": 110, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 102, "end": 110, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 109, "end": 110, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 97, "end": 115, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 112, "end": 115, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 120, "end": 141, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 124, "end": 125, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 120, "end": 141, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 128, "end": 141, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 130, "end": 139, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 137, "end": 138, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 146, "end": 168, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 150, "end": 151, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 152, "end": 163, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 152, "end": 163, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 153, "end": 163, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 155, "end": 163, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 162, "end": 163, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 146, "end": 168, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 165, "end": 168, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 173, "end": 198, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 173, "end": 174, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 174, "end": 197, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 176, "end": 197, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 177, "end": 188, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 178, "end": 188, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 180, "end": 188, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 187, "end": 188, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 190, "end": 197, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 193, "end": 197, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 204, "end": 223, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 211, "end": 212, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 212, "end": 222, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 214, "end": 222, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 221, "end": 222, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 228, "end": 253, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 235, "end": 236, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 237, "end": 248, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 237, "end": 248, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 238, "end": 248, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 240, "end": 248, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 247, "end": 248, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 228, "end": 253, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 250, "end": 253, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 258, "end": 286, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 269, "end": 270, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 258, "end": 286, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 273, "end": 286, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 275, "end": 284, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 282, "end": 283, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 291, "end": 320, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 302, "end": 303, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 304, "end": 315, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 304, "end": 315, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 305, "end": 315, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 307, "end": 315, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 314, "end": 315, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 291, "end": 320, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 317, "end": 320, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 325, "end": 357, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 332, "end": 333, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 333, "end": 356, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 335, "end": 356, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 336, "end": 347, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 337, "end": 347, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 339, "end": 347, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 346, "end": 347, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 349, "end": 356, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 352, "end": 356, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 363, "end": 391, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 363, "end": 374, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 375, "end": 386, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 375, "end": 386, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 376, "end": 386, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 378, "end": 386, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 385, "end": 386, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 388, "end": 391, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 401, "end": 408, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 395, "end": 750, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 428, "end": 440, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 428, "end": 429, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 429, "end": 439, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 431, "end": 439, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 438, "end": 439, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 445, "end": 463, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 445, "end": 446, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 447, "end": 458, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 447, "end": 458, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 448, "end": 458, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 450, "end": 458, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 457, "end": 458, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 445, "end": 463, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 460, "end": 463, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 468, "end": 489, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 472, "end": 473, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 468, "end": 489, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 476, "end": 489, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 478, "end": 487, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 485, "end": 486, "ctxt": 0 }, "value": "y", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 494, "end": 516, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 498, "end": 499, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 500, "end": 511, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 500, "end": 511, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 501, "end": 511, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 503, "end": 511, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 510, "end": 511, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 494, "end": 516, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 513, "end": 516, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 521, "end": 546, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 521, "end": 522, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 522, "end": 545, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 524, "end": 545, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 525, "end": 536, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 526, "end": 536, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 528, "end": 536, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 535, "end": 536, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 538, "end": 545, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 541, "end": 545, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 552, "end": 571, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 559, "end": 560, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 560, "end": 570, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 562, "end": 570, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 569, "end": 570, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 576, "end": 601, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 583, "end": 584, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 585, "end": 596, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 585, "end": 596, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 586, "end": 596, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 588, "end": 596, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 595, "end": 596, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 576, "end": 601, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 598, "end": 601, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 606, "end": 634, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 617, "end": 618, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 606, "end": 634, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 621, "end": 634, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 623, "end": 632, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 630, "end": 631, "ctxt": 0 }, "value": "y", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 639, "end": 668, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 650, "end": 651, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 652, "end": 663, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 652, "end": 663, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 653, "end": 663, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 655, "end": 663, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 662, "end": 663, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 639, "end": 668, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 665, "end": 668, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": true, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 673, "end": 705, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 680, "end": 681, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 681, "end": 704, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 683, "end": 704, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 684, "end": 695, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 685, "end": 695, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 687, "end": 695, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 694, "end": 695, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 697, "end": 704, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 700, "end": 704, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 711, "end": 748, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 711, "end": 722, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 723, "end": 734, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 723, "end": 734, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 724, "end": 734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 726, "end": 734, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 733, "end": 734, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 736, "end": 748, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 738, "end": 746, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 738, "end": 746, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 738, "end": 743, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 744, "end": 745, "ctxt": 0 }, "value": "x", "optional": false } } ], "typeArguments": null } } ] }, "accessibility": null, "isOptional": false } ], "superClass": { "type": "Identifier", "span": { "start": 417, "end": 421, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 752, "end": 784, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 756, "end": 783, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 756, "end": 757, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 757, "end": 766, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 759, "end": 766, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 759, "end": 766, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } }, "init": { "type": "NewExpression", "span": { "start": 769, "end": 783, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 773, "end": 780, "ctxt": 0 }, "value": "Derived", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 781, "end": 782, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 785, "end": 798, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 789, "end": 797, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 789, "end": 791, "ctxt": 0 }, "value": "r1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 794, "end": 797, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 794, "end": 795, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 796, "end": 797, "ctxt": 0 }, "value": "a", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 799, "end": 815, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 803, "end": 814, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 803, "end": 805, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 808, "end": 814, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 808, "end": 811, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 808, "end": 809, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 810, "end": 811, "ctxt": 0 }, "value": "b", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 812, "end": 813, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 816, "end": 829, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 820, "end": 828, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 820, "end": 822, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 825, "end": 828, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 825, "end": 826, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 827, "end": 828, "ctxt": 0 }, "value": "c", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 830, "end": 844, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 834, "end": 843, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 834, "end": 837, "ctxt": 0 }, "value": "r3a", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 840, "end": 843, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 840, "end": 841, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 842, "end": 843, "ctxt": 0 }, "value": "d", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 845, "end": 853, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 845, "end": 852, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 845, "end": 848, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 845, "end": 846, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 847, "end": 848, "ctxt": 0 }, "value": "c", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 851, "end": 852, "ctxt": 0 }, "value": "y", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 854, "end": 873, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 858, "end": 872, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 858, "end": 860, "ctxt": 0 }, "value": "r4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 863, "end": 872, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 863, "end": 870, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 871, "end": 872, "ctxt": 0 }, "value": "r", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 874, "end": 896, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 878, "end": 895, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 878, "end": 880, "ctxt": 0 }, "value": "r5", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 883, "end": 895, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 883, "end": 892, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 883, "end": 890, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 891, "end": 892, "ctxt": 0 }, "value": "s", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 893, "end": 894, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 897, "end": 916, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 901, "end": 915, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 901, "end": 903, "ctxt": 0 }, "value": "r6", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 906, "end": 915, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 906, "end": 913, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 914, "end": 915, "ctxt": 0 }, "value": "t", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 917, "end": 937, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 921, "end": 936, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 921, "end": 924, "ctxt": 0 }, "value": "r6a", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 927, "end": 936, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 927, "end": 934, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 935, "end": 936, "ctxt": 0 }, "value": "u", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 938, "end": 952, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 938, "end": 951, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 938, "end": 947, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 938, "end": 945, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 946, "end": 947, "ctxt": 0 }, "value": "t", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 950, "end": 951, "ctxt": 0 }, "value": "y", "optional": false } } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 960, "end": 965, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "span": { "start": 954, "end": 1021, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 973, "end": 982, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 974, "end": 982, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 976, "end": 982, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 983, "end": 991, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 985, "end": 991, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 985, "end": 991, "ctxt": 0 }, "value": "Object", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 972, "end": 992, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 998, "end": 1007, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 999, "end": 1007, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1001, "end": 1007, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1008, "end": 1018, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1010, "end": 1018, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1017, "end": 1018, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "readonly": false, "static": false, "span": { "start": 997, "end": 1019, "ctxt": 0 } } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1029, "end": 1037, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 1023, "end": 1109, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1059, "end": 1068, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1060, "end": 1068, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1062, "end": 1068, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1069, "end": 1079, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1071, "end": 1079, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1078, "end": 1079, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "readonly": false, "static": false, "span": { "start": 1058, "end": 1080, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1086, "end": 1095, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1087, "end": 1095, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1089, "end": 1095, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1096, "end": 1106, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1098, "end": 1106, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1105, "end": 1106, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } }, "readonly": false, "static": false, "span": { "start": 1085, "end": 1107, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 1046, "end": 1051, "ctxt": 0 }, "value": "Base2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 1111, "end": 1128, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1115, "end": 1127, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1115, "end": 1117, "ctxt": 0 }, "value": "d2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1117, "end": 1127, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1119, "end": 1127, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1119, "end": 1127, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1129, "end": 1145, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1133, "end": 1144, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1133, "end": 1135, "ctxt": 0 }, "value": "r7", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1138, "end": 1144, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1138, "end": 1140, "ctxt": 0 }, "value": "d2", "optional": false }, "property": { "type": "Computed", "span": { "start": 1140, "end": 1144, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 1141, "end": 1143, "ctxt": 0 }, "value": "", "raw": "''" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1146, "end": 1161, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1150, "end": 1160, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1150, "end": 1152, "ctxt": 0 }, "value": "r8", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1155, "end": 1160, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1155, "end": 1157, "ctxt": 0 }, "value": "d2", "optional": false }, "property": { "type": "Computed", "span": { "start": 1157, "end": 1160, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1158, "end": 1159, "ctxt": 0 }, "value": 1.0, "raw": "1" } } }, "definite": false } ] } ], "interpreter": null }