{ "type": "Script", "span": { "start": 18, "end": 967, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 18, "end": 41, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 22, "end": 41, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 22, "end": 23, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 23, "end": 41, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 25, "end": 41, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 27, "end": 39, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 27, "end": 30, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 30, "end": 38, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 32, "end": 38, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 42, "end": 78, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 46, "end": 78, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 46, "end": 47, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 47, "end": 78, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 49, "end": 78, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 51, "end": 63, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 51, "end": 54, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 54, "end": 62, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 56, "end": 62, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 64, "end": 76, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 64, "end": 67, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 67, "end": 75, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 69, "end": 75, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 86, "end": 90, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 80, "end": 510, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 97, "end": 119, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 107, "end": 108, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 108, "end": 118, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 110, "end": 118, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 117, "end": 118, "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": 124, "end": 152, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 134, "end": 135, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 136, "end": 147, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 136, "end": 147, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 137, "end": 147, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 139, "end": 147, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 146, "end": 147, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 124, "end": 152, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 149, "end": 152, "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": 157, "end": 188, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 171, "end": 172, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 157, "end": 188, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 175, "end": 188, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 177, "end": 186, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 184, "end": 185, "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": 193, "end": 225, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 207, "end": 208, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 209, "end": 220, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 209, "end": 220, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 210, "end": 220, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 212, "end": 220, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 219, "end": 220, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 193, "end": 225, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 222, "end": 225, "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": 230, "end": 265, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 240, "end": 241, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 241, "end": 264, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 243, "end": 264, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 244, "end": 255, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 245, "end": 255, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 247, "end": 255, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 254, "end": 255, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 257, "end": 264, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 260, "end": 264, "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": 474, "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": 480, "end": 508, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 480, "end": 491, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 492, "end": 503, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 492, "end": 503, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 493, "end": 503, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 495, "end": 503, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 502, "end": 503, "ctxt": 0 }, "value": "x", "optional": false }, "typeArguments": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 505, "end": 508, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 518, "end": 525, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 512, "end": 967, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 545, "end": 567, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 555, "end": 556, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 566, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 558, "end": 566, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 565, "end": 566, "ctxt": 0 }, "value": "y", "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": 572, "end": 600, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 582, "end": 583, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 584, "end": 595, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 584, "end": 595, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 585, "end": 595, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 587, "end": 595, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 594, "end": 595, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 572, "end": 600, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 597, "end": 600, "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": 605, "end": 636, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 619, "end": 620, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 605, "end": 636, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 623, "end": 636, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 625, "end": 634, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 632, "end": 633, "ctxt": 0 }, "value": "y", "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": 641, "end": 673, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 655, "end": 656, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 657, "end": 668, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 657, "end": 668, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 658, "end": 668, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 660, "end": 668, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 667, "end": 668, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 641, "end": 673, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 670, "end": 673, "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": 678, "end": 713, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 688, "end": 689, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 689, "end": 712, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 691, "end": 712, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 692, "end": 703, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 693, "end": 703, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 695, "end": 703, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 702, "end": 703, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 705, "end": 712, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 708, "end": 712, "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": 719, "end": 748, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 736, "end": 737, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 737, "end": 747, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 739, "end": 747, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 746, "end": 747, "ctxt": 0 }, "value": "y", "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": 753, "end": 788, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 770, "end": 771, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 772, "end": 783, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 772, "end": 783, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 773, "end": 783, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 775, "end": 783, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 782, "end": 783, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 753, "end": 788, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 785, "end": 788, "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": 793, "end": 831, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 814, "end": 815, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 793, "end": 831, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 818, "end": 831, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 820, "end": 829, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 827, "end": 828, "ctxt": 0 }, "value": "y", "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": 836, "end": 875, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 857, "end": 858, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 859, "end": 870, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 859, "end": 870, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 860, "end": 870, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 862, "end": 870, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 869, "end": 870, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "decorators": [], "span": { "start": 836, "end": 875, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 872, "end": 875, "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": 880, "end": 922, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 897, "end": 898, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 898, "end": 921, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 900, "end": 921, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 901, "end": 912, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 902, "end": 912, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 904, "end": 912, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 911, "end": 912, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 914, "end": 921, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 917, "end": 921, "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": 928, "end": 965, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 928, "end": 939, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 940, "end": 951, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 940, "end": 951, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 941, "end": 951, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 943, "end": 951, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 950, "end": 951, "ctxt": 0 }, "value": "y", "optional": false }, "typeArguments": null } } } } ], "body": { "type": "BlockStatement", "span": { "start": 953, "end": 965, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 955, "end": 963, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 955, "end": 963, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 955, "end": 960, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 961, "end": 962, "ctxt": 0 }, "value": "x", "optional": false } } ], "typeArguments": null } } ] }, "accessibility": null, "isOptional": false } ], "superClass": { "type": "Identifier", "span": { "start": 534, "end": 538, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }