{ "type": "Script", "span": { "start": 0, "end": 1020, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6, "end": 7, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 0, "end": 517, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 14, "end": 36, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 21, "end": 24, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 25, "end": 34, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 25, "end": 34, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 26, "end": 34, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 28, "end": 34, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 14, "end": 36, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 41, "end": 74, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 48, "end": 51, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 52, "end": 61, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 52, "end": 61, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 53, "end": 61, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 55, "end": 61, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 63, "end": 72, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 63, "end": 72, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 64, "end": 72, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 66, "end": 72, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 41, "end": 74, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 79, "end": 110, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 86, "end": 89, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 90, "end": 96, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 90, "end": 96, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 91, "end": 96, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 93, "end": 96, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 98, "end": 105, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 98, "end": 105, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 100, "end": 105, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 102, "end": 105, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 79, "end": 110, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 107, "end": 110, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 116, "end": 136, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 123, "end": 126, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 127, "end": 134, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 127, "end": 134, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 128, "end": 134, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 130, "end": 134, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 130, "end": 134, "ctxt": 0 }, "value": "hi", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } } ], "decorators": [], "span": { "start": 116, "end": 136, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 141, "end": 163, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 148, "end": 151, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 152, "end": 161, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 152, "end": 161, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 153, "end": 161, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 155, "end": 161, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 141, "end": 163, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 168, "end": 201, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 175, "end": 178, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 179, "end": 188, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 179, "end": 188, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 180, "end": 188, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 182, "end": 188, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 190, "end": 199, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 190, "end": 199, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 191, "end": 199, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 193, "end": 199, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 168, "end": 201, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 206, "end": 237, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 213, "end": 216, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 217, "end": 223, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 217, "end": 223, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 218, "end": 223, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 220, "end": 223, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 225, "end": 232, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 225, "end": 232, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 227, "end": 232, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 229, "end": 232, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 206, "end": 237, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 234, "end": 237, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 243, "end": 272, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 257, "end": 260, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 261, "end": 270, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 261, "end": 270, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 262, "end": 270, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 264, "end": 270, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 243, "end": 272, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 277, "end": 317, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 291, "end": 294, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 295, "end": 304, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 295, "end": 304, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 296, "end": 304, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 298, "end": 304, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 306, "end": 315, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 306, "end": 315, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 307, "end": 315, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 309, "end": 315, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 277, "end": 317, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 322, "end": 360, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 336, "end": 339, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 340, "end": 346, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 340, "end": 346, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 341, "end": 346, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 343, "end": 346, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 348, "end": 355, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 348, "end": 355, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 350, "end": 355, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 352, "end": 355, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 322, "end": 360, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 357, "end": 360, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 366, "end": 393, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 380, "end": 383, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 384, "end": 391, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 384, "end": 391, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 385, "end": 391, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 387, "end": 391, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 387, "end": 391, "ctxt": 0 }, "value": "hi", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } } ], "decorators": [], "span": { "start": 366, "end": 393, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 398, "end": 427, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 412, "end": 415, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 416, "end": 425, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 416, "end": 425, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 417, "end": 425, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 419, "end": 425, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 398, "end": 427, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 432, "end": 472, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 446, "end": 449, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 450, "end": 459, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 450, "end": 459, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 451, "end": 459, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 453, "end": 459, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 461, "end": 470, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 461, "end": 470, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 462, "end": 470, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 464, "end": 470, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 432, "end": 472, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 477, "end": 515, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 491, "end": 494, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 495, "end": 501, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 495, "end": 501, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 496, "end": 501, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 498, "end": 501, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 503, "end": 510, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 503, "end": 510, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 505, "end": 510, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 507, "end": 510, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 477, "end": 515, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 512, "end": 515, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 525, "end": 526, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 519, "end": 1020, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 536, "end": 558, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 543, "end": 546, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 547, "end": 556, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 547, "end": 556, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 548, "end": 556, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 550, "end": 556, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 536, "end": 558, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 563, "end": 586, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 570, "end": 573, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 574, "end": 578, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 574, "end": 578, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 575, "end": 578, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 577, "end": 578, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 577, "end": 578, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 580, "end": 584, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 580, "end": 584, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 581, "end": 584, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 583, "end": 584, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 583, "end": 584, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 563, "end": 586, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 591, "end": 622, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 598, "end": 601, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 602, "end": 608, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 602, "end": 608, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 603, "end": 608, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 605, "end": 608, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 610, "end": 617, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 610, "end": 617, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 612, "end": 617, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 614, "end": 617, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 591, "end": 622, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 619, "end": 622, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 628, "end": 648, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 635, "end": 638, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 639, "end": 646, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 639, "end": 646, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 640, "end": 646, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 642, "end": 646, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 642, "end": 646, "ctxt": 0 }, "value": "hi", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } } ], "decorators": [], "span": { "start": 628, "end": 648, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 653, "end": 675, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 660, "end": 663, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 664, "end": 673, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 664, "end": 673, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 665, "end": 673, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 667, "end": 673, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 653, "end": 675, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 680, "end": 703, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 687, "end": 690, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 691, "end": 695, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 691, "end": 695, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 692, "end": 695, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 694, "end": 695, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 694, "end": 695, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 697, "end": 701, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 697, "end": 701, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 698, "end": 701, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 700, "end": 701, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 700, "end": 701, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 680, "end": 703, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 708, "end": 739, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 715, "end": 718, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 719, "end": 725, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 719, "end": 725, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 720, "end": 725, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 722, "end": 725, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 727, "end": 734, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 727, "end": 734, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 729, "end": 734, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 731, "end": 734, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 708, "end": 739, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 736, "end": 739, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 745, "end": 774, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 759, "end": 762, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 763, "end": 772, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 763, "end": 772, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 764, "end": 772, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 766, "end": 772, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 745, "end": 774, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 779, "end": 819, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 793, "end": 796, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 797, "end": 806, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 797, "end": 806, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 798, "end": 806, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 800, "end": 806, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 808, "end": 817, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 808, "end": 817, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 809, "end": 817, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 811, "end": 817, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 779, "end": 819, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 824, "end": 862, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 838, "end": 841, "ctxt": 0 }, "value": "foo", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 842, "end": 848, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 842, "end": 848, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 843, "end": 848, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 845, "end": 848, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 850, "end": 857, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 850, "end": 857, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 852, "end": 857, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 854, "end": 857, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 824, "end": 862, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 859, "end": 862, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 868, "end": 895, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 882, "end": 885, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 886, "end": 893, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 886, "end": 893, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 887, "end": 893, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 889, "end": 893, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 889, "end": 893, "ctxt": 0 }, "value": "hi", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } } ], "decorators": [], "span": { "start": 868, "end": 895, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 900, "end": 929, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 914, "end": 917, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 918, "end": 927, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 918, "end": 927, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 919, "end": 927, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 921, "end": 927, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 900, "end": 929, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 934, "end": 974, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 948, "end": 951, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 952, "end": 961, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 952, "end": 961, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 953, "end": 961, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 955, "end": 961, "ctxt": 0 }, "kind": "number" } } } }, { "type": "Parameter", "span": { "start": 963, "end": 972, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 963, "end": 972, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 964, "end": 972, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 966, "end": 972, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 934, "end": 974, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 979, "end": 1017, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 993, "end": 996, "ctxt": 0 }, "value": "bar", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 997, "end": 1003, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 997, "end": 1003, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 998, "end": 1003, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1000, "end": 1003, "ctxt": 0 }, "kind": "any" } } } }, { "type": "Parameter", "span": { "start": 1005, "end": 1012, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1005, "end": 1012, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1007, "end": 1012, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1009, "end": 1012, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 979, "end": 1017, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1014, "end": 1017, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": true, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 526, "end": 529, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 527, "end": 528, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 527, "end": 528, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] } ], "interpreter": null }