{ "type": "Script", "span": { "start": 17, "end": 1334, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 17, "end": 40, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 21, "end": 40, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 21, "end": 22, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 22, "end": 40, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 24, "end": 40, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 26, "end": 38, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 26, "end": 29, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 29, "end": 37, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 31, "end": 37, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 41, "end": 77, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 45, "end": 77, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 45, "end": 46, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 46, "end": 77, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 48, "end": 77, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 50, "end": 62, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 50, "end": 53, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 53, "end": 61, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 55, "end": 61, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 63, "end": 75, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 63, "end": 66, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 66, "end": 74, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 68, "end": 74, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 85, "end": 89, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 79, "end": 507, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 96, "end": 118, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 106, "end": 107, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 107, "end": 117, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 109, "end": 117, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 116, "end": 117, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "isStatic": false, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 123, "end": 151, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 133, "end": 134, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 135, "end": 146, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 135, "end": 146, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 136, "end": 146, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 138, "end": 146, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 145, "end": 146, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 123, "end": 151, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 148, "end": 151, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 156, "end": 187, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 170, "end": 171, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 156, "end": 187, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 174, "end": 187, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 176, "end": 185, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 183, "end": 184, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": false, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 192, "end": 224, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 206, "end": 207, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 208, "end": 219, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 208, "end": 219, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 209, "end": 219, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 211, "end": 219, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 218, "end": 219, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 192, "end": 224, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 221, "end": 224, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": false, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 229, "end": 265, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 239, "end": 240, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 240, "end": 263, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 242, "end": 263, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 243, "end": 254, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 244, "end": 254, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 246, "end": 254, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 253, "end": 254, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 256, "end": 263, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 259, "end": 263, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": false, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 271, "end": 300, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 288, "end": 289, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 289, "end": 299, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 291, "end": 299, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 298, "end": 299, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "isStatic": true, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 305, "end": 340, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 322, "end": 323, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 324, "end": 335, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 324, "end": 335, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 325, "end": 335, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 327, "end": 335, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 334, "end": 335, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 305, "end": 340, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 337, "end": 340, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 345, "end": 383, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 366, "end": 367, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 345, "end": 383, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 370, "end": 383, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 372, "end": 381, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 379, "end": 380, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "getter", "isStatic": true, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 388, "end": 427, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 409, "end": 410, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 411, "end": 422, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 411, "end": 422, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 412, "end": 422, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 414, "end": 422, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 421, "end": 422, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 388, "end": 427, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 424, "end": 427, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "setter", "isStatic": true, "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 432, "end": 475, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 449, "end": 450, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 450, "end": 473, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 452, "end": 473, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 453, "end": 464, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 454, "end": 464, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 456, "end": 464, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 463, "end": 464, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 466, "end": 473, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 469, "end": 473, "ctxt": 0 }, "kind": "void" } } } }, "isStatic": true, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "Constructor", "span": { "start": 477, "end": 505, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 477, "end": 488, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 489, "end": 500, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 489, "end": 500, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 490, "end": 500, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 492, "end": 500, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 499, "end": 500, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 502, "end": 505, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 573, "end": 580, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 567, "end": 923, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 600, "end": 612, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 600, "end": 601, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 601, "end": 611, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 603, "end": 611, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 610, "end": 611, "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": 617, "end": 635, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 617, "end": 618, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 619, "end": 630, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 619, "end": 630, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 620, "end": 630, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 622, "end": 630, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 629, "end": 630, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 617, "end": 635, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 632, "end": 635, "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": 640, "end": 661, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 644, "end": 645, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 640, "end": 661, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 648, "end": 661, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 650, "end": 659, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 657, "end": 658, "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": 666, "end": 688, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 670, "end": 671, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 672, "end": 683, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 672, "end": 683, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 673, "end": 683, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 675, "end": 683, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 682, "end": 683, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 666, "end": 688, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 685, "end": 688, "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": 693, "end": 718, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 693, "end": 694, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 694, "end": 717, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 696, "end": 717, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 697, "end": 708, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 698, "end": 708, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 700, "end": 708, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 707, "end": 708, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 710, "end": 717, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 713, "end": 717, "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": 724, "end": 743, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 731, "end": 732, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 732, "end": 742, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 734, "end": 742, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 741, "end": 742, "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": 748, "end": 773, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 755, "end": 756, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 757, "end": 768, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 757, "end": 768, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 758, "end": 768, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 760, "end": 768, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 767, "end": 768, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 748, "end": 773, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 770, "end": 773, "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": 778, "end": 806, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 789, "end": 790, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 778, "end": 806, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 793, "end": 806, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 795, "end": 804, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 802, "end": 803, "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": 811, "end": 840, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 822, "end": 823, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 824, "end": 835, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 824, "end": 835, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 825, "end": 835, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 827, "end": 835, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 834, "end": 835, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 811, "end": 840, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 837, "end": 840, "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": 845, "end": 877, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 852, "end": 853, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 853, "end": 876, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 855, "end": 876, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 856, "end": 867, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 857, "end": 867, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 859, "end": 867, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 866, "end": 867, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 869, "end": 876, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 872, "end": 876, "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": 883, "end": 921, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 883, "end": 894, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 895, "end": 906, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 895, "end": 906, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 896, "end": 906, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 898, "end": 906, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 905, "end": 906, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 908, "end": 921, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 910, "end": 919, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 910, "end": 918, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 910, "end": 915, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 916, "end": 917, "ctxt": 0 }, "value": "a", "optional": false } } ], "typeArguments": null } } ] }, "accessibility": null, "isOptional": false } ], "superClass": { "type": "Identifier", "span": { "start": 589, "end": 593, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 925, "end": 957, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 929, "end": 956, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 929, "end": 930, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 930, "end": 939, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 932, "end": 939, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 932, "end": 939, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } }, "init": { "type": "NewExpression", "span": { "start": 942, "end": 956, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 946, "end": 953, "ctxt": 0 }, "value": "Derived", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 954, "end": 955, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 958, "end": 971, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 962, "end": 970, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 962, "end": 964, "ctxt": 0 }, "value": "r1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 967, "end": 970, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 967, "end": 968, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 969, "end": 970, "ctxt": 0 }, "value": "a", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 972, "end": 988, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 976, "end": 987, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 976, "end": 978, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 981, "end": 987, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 981, "end": 984, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 981, "end": 982, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 983, "end": 984, "ctxt": 0 }, "value": "b", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 985, "end": 986, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 989, "end": 1002, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 993, "end": 1001, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 993, "end": 995, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 998, "end": 1001, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 998, "end": 999, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1000, "end": 1001, "ctxt": 0 }, "value": "c", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1003, "end": 1017, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1007, "end": 1016, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1007, "end": 1010, "ctxt": 0 }, "value": "r3a", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1013, "end": 1016, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1013, "end": 1014, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1015, "end": 1016, "ctxt": 0 }, "value": "d", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1018, "end": 1026, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1018, "end": 1025, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1018, "end": 1021, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1018, "end": 1019, "ctxt": 0 }, "value": "d", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1020, "end": 1021, "ctxt": 0 }, "value": "c", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 1024, "end": 1025, "ctxt": 0 }, "value": "y", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1027, "end": 1046, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1031, "end": 1045, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1031, "end": 1033, "ctxt": 0 }, "value": "r4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1036, "end": 1045, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1036, "end": 1043, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1044, "end": 1045, "ctxt": 0 }, "value": "r", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1047, "end": 1069, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1051, "end": 1068, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1051, "end": 1053, "ctxt": 0 }, "value": "r5", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 1056, "end": 1068, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 1056, "end": 1065, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1056, "end": 1063, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1064, "end": 1065, "ctxt": 0 }, "value": "s", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1066, "end": 1067, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1070, "end": 1089, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1074, "end": 1088, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1074, "end": 1076, "ctxt": 0 }, "value": "r6", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1079, "end": 1088, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1079, "end": 1086, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1087, "end": 1088, "ctxt": 0 }, "value": "t", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1090, "end": 1110, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1094, "end": 1109, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1094, "end": 1097, "ctxt": 0 }, "value": "r6a", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1100, "end": 1109, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1100, "end": 1107, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1108, "end": 1109, "ctxt": 0 }, "value": "u", "optional": false } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1111, "end": 1125, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1111, "end": 1124, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1111, "end": 1120, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1111, "end": 1118, "ctxt": 0 }, "value": "Derived", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1119, "end": 1120, "ctxt": 0 }, "value": "t", "optional": false } }, "right": { "type": "Identifier", "span": { "start": 1123, "end": 1124, "ctxt": 0 }, "value": "y", "optional": false } } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1133, "end": 1138, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "span": { "start": 1127, "end": 1194, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1146, "end": 1155, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1147, "end": 1155, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1149, "end": 1155, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1156, "end": 1164, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1158, "end": 1164, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1158, "end": 1164, "ctxt": 0 }, "value": "Object", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 1145, "end": 1165, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1171, "end": 1180, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1172, "end": 1180, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1174, "end": 1180, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1181, "end": 1191, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1183, "end": 1191, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1190, "end": 1191, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "readonly": false, "static": false, "span": { "start": 1170, "end": 1192, "ctxt": 0 } } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1202, "end": 1210, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 1196, "end": 1282, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1232, "end": 1241, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1233, "end": 1241, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1235, "end": 1241, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1242, "end": 1252, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1244, "end": 1252, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1251, "end": 1252, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } }, "readonly": false, "static": false, "span": { "start": 1231, "end": 1253, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1259, "end": 1268, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1260, "end": 1268, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1262, "end": 1268, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1269, "end": 1279, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1271, "end": 1279, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1278, "end": 1279, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } }, "readonly": false, "static": false, "span": { "start": 1258, "end": 1280, "ctxt": 0 } } ], "superClass": { "type": "Identifier", "span": { "start": 1219, "end": 1224, "ctxt": 0 }, "value": "Base2", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 1284, "end": 1301, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1288, "end": 1300, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1288, "end": 1290, "ctxt": 0 }, "value": "d2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1290, "end": 1300, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1292, "end": 1300, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1292, "end": 1300, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1302, "end": 1318, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1306, "end": 1317, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1306, "end": 1308, "ctxt": 0 }, "value": "r7", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1311, "end": 1317, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1311, "end": 1313, "ctxt": 0 }, "value": "d2", "optional": false }, "property": { "type": "Computed", "span": { "start": 1313, "end": 1317, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 1314, "end": 1316, "ctxt": 0 }, "value": "", "raw": "''" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1319, "end": 1334, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1323, "end": 1333, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1323, "end": 1325, "ctxt": 0 }, "value": "r8", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1328, "end": 1333, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1328, "end": 1330, "ctxt": 0 }, "value": "d2", "optional": false }, "property": { "type": "Computed", "span": { "start": 1330, "end": 1333, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1331, "end": 1332, "ctxt": 0 }, "value": 1.0, "raw": "1" } } }, "definite": false } ] } ], "interpreter": null }