{ "type": "Script", "span": { "start": 17, "end": 966, "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": 509, "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 } } }, "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 } } } } } ], "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 } } } } } ], "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": 264, "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 } } } } ], "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": 270, "end": 299, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 287, "end": 288, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 288, "end": 298, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 290, "end": 298, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 297, "end": 298, "ctxt": 0 }, "value": "x", "optional": false } } }, "isStatic": true, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 304, "end": 339, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 321, "end": 322, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 323, "end": 334, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 323, "end": 334, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 324, "end": 334, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 326, "end": 334, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 333, "end": 334, "ctxt": 0 }, "value": "x", "optional": false } } } } } ], "decorators": [], "span": { "start": 304, "end": 339, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 336, "end": 339, "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": 344, "end": 382, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 365, "end": 366, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 344, "end": 382, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 369, "end": 382, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 371, "end": 380, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 378, "end": 379, "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": 387, "end": 426, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 408, "end": 409, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 410, "end": 421, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 410, "end": 421, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 411, "end": 421, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 413, "end": 421, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 420, "end": 421, "ctxt": 0 }, "value": "x", "optional": false } } } } } ], "decorators": [], "span": { "start": 387, "end": 426, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 423, "end": 426, "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": 431, "end": 473, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 448, "end": 449, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 449, "end": 472, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 451, "end": 472, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 452, "end": 463, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 453, "end": 463, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 455, "end": 463, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 462, "end": 463, "ctxt": 0 }, "value": "x", "optional": false } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 465, "end": 472, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 468, "end": 472, "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": 479, "end": 507, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 479, "end": 490, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 491, "end": 502, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 491, "end": 502, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 492, "end": 502, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 494, "end": 502, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 501, "end": 502, "ctxt": 0 }, "value": "x", "optional": false } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 504, "end": 507, "ctxt": 0 }, "stmts": [] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 517, "end": 524, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 511, "end": 966, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 544, "end": 566, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 554, "end": 555, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 555, "end": 565, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 557, "end": 565, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 564, "end": 565, "ctxt": 0 }, "value": "y", "optional": false } } }, "isStatic": false, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 571, "end": 599, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 581, "end": 582, "ctxt": 0 }, "value": "b", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 583, "end": 594, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 583, "end": 594, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 584, "end": 594, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 586, "end": 594, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 593, "end": 594, "ctxt": 0 }, "value": "y", "optional": false } } } } } ], "decorators": [], "span": { "start": 571, "end": 599, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 596, "end": 599, "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": 604, "end": 635, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 618, "end": 619, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 604, "end": 635, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 622, "end": 635, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 624, "end": 633, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 631, "end": 632, "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": 640, "end": 672, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 654, "end": 655, "ctxt": 0 }, "value": "c", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 656, "end": 667, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 656, "end": 667, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 657, "end": 667, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 659, "end": 667, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 666, "end": 667, "ctxt": 0 }, "value": "y", "optional": false } } } } } ], "decorators": [], "span": { "start": 640, "end": 672, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 669, "end": 672, "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": 677, "end": 712, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 687, "end": 688, "ctxt": 0 }, "value": "d", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 688, "end": 711, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 690, "end": 711, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 691, "end": 702, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 692, "end": 702, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 694, "end": 702, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 701, "end": 702, "ctxt": 0 }, "value": "y", "optional": false } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 704, "end": 711, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 707, "end": 711, "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": 718, "end": 747, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 735, "end": 736, "ctxt": 0 }, "value": "r", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 736, "end": 746, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 738, "end": 746, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 745, "end": 746, "ctxt": 0 }, "value": "y", "optional": false } } }, "isStatic": true, "decorators": [], "accessibility": "protected", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 752, "end": 787, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 769, "end": 770, "ctxt": 0 }, "value": "s", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 771, "end": 782, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 771, "end": 782, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 772, "end": 782, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 774, "end": 782, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 781, "end": 782, "ctxt": 0 }, "value": "y", "optional": false } } } } } ], "decorators": [], "span": { "start": 752, "end": 787, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 784, "end": 787, "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": 792, "end": 830, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 813, "end": 814, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 792, "end": 830, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 817, "end": 830, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 819, "end": 828, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 826, "end": 827, "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": 835, "end": 874, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 856, "end": 857, "ctxt": 0 }, "value": "t", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 858, "end": 869, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 858, "end": 869, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 859, "end": 869, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 861, "end": 869, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 868, "end": 869, "ctxt": 0 }, "value": "y", "optional": false } } } } } ], "decorators": [], "span": { "start": 835, "end": 874, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 871, "end": 874, "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": 879, "end": 921, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 896, "end": 897, "ctxt": 0 }, "value": "u", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 897, "end": 920, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 899, "end": 920, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 900, "end": 911, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 901, "end": 911, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 903, "end": 911, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 910, "end": 911, "ctxt": 0 }, "value": "y", "optional": false } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 913, "end": 920, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 916, "end": 920, "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": 927, "end": 964, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 927, "end": 938, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 939, "end": 950, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 939, "end": 950, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 940, "end": 950, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 942, "end": 950, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 949, "end": 950, "ctxt": 0 }, "value": "y", "optional": false } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 952, "end": 964, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 954, "end": 962, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 954, "end": 962, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 954, "end": 959, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 960, "end": 961, "ctxt": 0 }, "value": "x", "optional": false } } ], "typeArguments": null } } ] }, "accessibility": null, "isOptional": false } ], "superClass": { "type": "Identifier", "span": { "start": 533, "end": 537, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }