{ "type": "Script", "span": { "start": 107, "end": 2990, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 113, "end": 117, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 107, "end": 134, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 120, "end": 132, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 120, "end": 123, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 123, "end": 131, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 125, "end": 131, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 141, "end": 148, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 135, "end": 178, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 164, "end": 176, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 164, "end": 167, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 167, "end": 175, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 169, "end": 175, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 157, "end": 161, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 185, "end": 193, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 179, "end": 226, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 212, "end": 224, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 212, "end": 215, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 215, "end": 223, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 217, "end": 223, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 202, "end": 209, "ctxt": 0 }, "value": "Derived", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 233, "end": 245, "ctxt": 0 }, "value": "OtherDerived", "optional": false }, "declare": false, "span": { "start": 227, "end": 276, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 261, "end": 274, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 261, "end": 265, "ctxt": 0 }, "value": "bing", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 265, "end": 273, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 267, "end": 273, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 254, "end": 258, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 278, "end": 309, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 282, "end": 308, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 282, "end": 283, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 283, "end": 308, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 285, "end": 308, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 286, "end": 295, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 287, "end": 295, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 289, "end": 295, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 297, "end": 308, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 300, "end": 308, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 300, "end": 306, "ctxt": 0 }, "kind": "number" } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 310, "end": 342, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 314, "end": 341, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 314, "end": 316, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 316, "end": 341, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 318, "end": 341, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 319, "end": 328, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 320, "end": 328, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 322, "end": 328, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 330, "end": 341, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 333, "end": 341, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 333, "end": 339, "ctxt": 0 }, "kind": "string" } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 343, "end": 371, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 347, "end": 370, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 347, "end": 349, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 349, "end": 370, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 351, "end": 370, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 352, "end": 361, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 353, "end": 361, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 355, "end": 361, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 363, "end": 370, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 366, "end": 370, "ctxt": 0 }, "kind": "void" } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 372, "end": 413, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 376, "end": 412, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 376, "end": 378, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 378, "end": 412, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 380, "end": 412, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 381, "end": 390, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 382, "end": 390, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 384, "end": 390, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 392, "end": 401, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 393, "end": 401, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 395, "end": 401, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 403, "end": 412, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 406, "end": 412, "ctxt": 0 }, "kind": "string" } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 414, "end": 461, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 418, "end": 460, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 418, "end": 420, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 420, "end": 460, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 422, "end": 460, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 423, "end": 449, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 424, "end": 449, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 426, "end": 449, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 427, "end": 438, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 430, "end": 438, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 432, "end": 438, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 440, "end": 449, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 443, "end": 449, "ctxt": 0 }, "kind": "number" } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 451, "end": 460, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 454, "end": 460, "ctxt": 0 }, "kind": "string" } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 462, "end": 506, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 466, "end": 505, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 466, "end": 468, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 468, "end": 505, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 470, "end": 505, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 471, "end": 496, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 472, "end": 496, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 474, "end": 496, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 475, "end": 484, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 478, "end": 484, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 480, "end": 484, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 480, "end": 484, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 486, "end": 496, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 489, "end": 496, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 489, "end": 496, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 498, "end": 505, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 501, "end": 505, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 501, "end": 505, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 507, "end": 567, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 511, "end": 566, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 511, "end": 513, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 513, "end": 566, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 515, "end": 566, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 516, "end": 541, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 517, "end": 541, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 519, "end": 541, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 520, "end": 529, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 523, "end": 529, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 525, "end": 529, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 525, "end": 529, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 531, "end": 541, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 534, "end": 541, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 534, "end": 541, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 543, "end": 566, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 546, "end": 566, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 547, "end": 554, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 548, "end": 554, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 550, "end": 554, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 550, "end": 554, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 566, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 559, "end": 566, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 559, "end": 566, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 568, "end": 656, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 572, "end": 655, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 572, "end": 574, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 574, "end": 655, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 576, "end": 655, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 577, "end": 602, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 578, "end": 602, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 580, "end": 602, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 581, "end": 590, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 584, "end": 590, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 586, "end": 590, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 586, "end": 590, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 592, "end": 602, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 595, "end": 602, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 595, "end": 602, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 604, "end": 630, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 605, "end": 630, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 607, "end": 630, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 608, "end": 618, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 612, "end": 618, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 614, "end": 618, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 614, "end": 618, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 620, "end": 630, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 623, "end": 630, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 623, "end": 630, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 632, "end": 655, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 635, "end": 655, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 636, "end": 643, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 637, "end": 643, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 639, "end": 643, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 639, "end": 643, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 645, "end": 655, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 648, "end": 655, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 648, "end": 655, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 657, "end": 745, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 661, "end": 744, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 661, "end": 663, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 663, "end": 744, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 665, "end": 744, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 666, "end": 691, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 667, "end": 691, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 669, "end": 691, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 670, "end": 679, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 673, "end": 679, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 675, "end": 679, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 675, "end": 679, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 681, "end": 691, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 684, "end": 691, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 684, "end": 691, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 693, "end": 719, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 694, "end": 719, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 696, "end": 719, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 697, "end": 707, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 701, "end": 707, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 703, "end": 707, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 703, "end": 707, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 709, "end": 719, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 712, "end": 719, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 712, "end": 719, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 721, "end": 744, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 724, "end": 744, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 725, "end": 732, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 726, "end": 732, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 728, "end": 732, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 728, "end": 732, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 734, "end": 744, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 737, "end": 744, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 737, "end": 744, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 746, "end": 784, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 750, "end": 783, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 750, "end": 753, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 753, "end": 783, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 755, "end": 783, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 756, "end": 771, "ctxt": 0 }, "rest": { "start": 756, "end": 759, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 759, "end": 760, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 760, "end": 771, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 762, "end": 771, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 762, "end": 769, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 762, "end": 769, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 773, "end": 783, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 776, "end": 783, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 776, "end": 783, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 785, "end": 856, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 789, "end": 855, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 789, "end": 792, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 792, "end": 855, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 794, "end": 855, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 795, "end": 813, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 796, "end": 813, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 798, "end": 813, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 800, "end": 811, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 800, "end": 803, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 803, "end": 811, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 805, "end": 811, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, { "type": "Identifier", "span": { "start": 815, "end": 846, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 816, "end": 846, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 818, "end": 846, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 820, "end": 832, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 820, "end": 823, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 823, "end": 831, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 825, "end": 831, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 833, "end": 844, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 833, "end": 836, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 836, "end": 844, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 838, "end": 844, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 848, "end": 855, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 851, "end": 855, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 851, "end": 855, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 857, "end": 921, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 861, "end": 920, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 861, "end": 864, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 864, "end": 920, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 866, "end": 920, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 867, "end": 881, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 868, "end": 881, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 870, "end": 881, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 870, "end": 875, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 875, "end": 881, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 876, "end": 880, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 876, "end": 880, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 883, "end": 901, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 884, "end": 901, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 886, "end": 901, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 886, "end": 891, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 891, "end": 901, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 892, "end": 900, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 892, "end": 900, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 903, "end": 920, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 906, "end": 920, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 906, "end": 911, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 911, "end": 920, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 912, "end": 919, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 912, "end": 919, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 922, "end": 985, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 926, "end": 984, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 926, "end": 929, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 929, "end": 984, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 931, "end": 984, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 932, "end": 946, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 933, "end": 946, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 935, "end": 946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 935, "end": 940, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 940, "end": 946, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 941, "end": 945, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 941, "end": 945, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 948, "end": 965, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 949, "end": 965, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 951, "end": 965, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 951, "end": 956, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 956, "end": 965, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 957, "end": 964, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 957, "end": 964, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 967, "end": 984, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 970, "end": 984, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 970, "end": 975, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 975, "end": 984, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 976, "end": 983, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 976, "end": 983, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 986, "end": 1035, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 990, "end": 1034, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 990, "end": 993, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 993, "end": 1034, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 995, "end": 1034, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 996, "end": 1023, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 997, "end": 1023, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 999, "end": 1023, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1001, "end": 1011, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1001, "end": 1002, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1002, "end": 1010, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1004, "end": 1010, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1012, "end": 1021, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1012, "end": 1013, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1013, "end": 1021, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1015, "end": 1021, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1025, "end": 1034, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1028, "end": 1034, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1028, "end": 1034, "ctxt": 0 }, "value": "Object", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1036, "end": 1102, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1040, "end": 1102, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1040, "end": 1043, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1043, "end": 1102, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1045, "end": 1102, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1051, "end": 1073, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1052, "end": 1061, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1053, "end": 1061, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1055, "end": 1061, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1062, "end": 1072, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1064, "end": 1072, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1064, "end": 1070, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1078, "end": 1100, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1079, "end": 1088, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1080, "end": 1088, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1082, "end": 1088, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1089, "end": 1099, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1091, "end": 1099, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1091, "end": 1097, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1103, "end": 1194, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1107, "end": 1194, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1107, "end": 1110, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1110, "end": 1194, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1112, "end": 1194, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1118, "end": 1154, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1138, "end": 1142, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1139, "end": 1142, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1141, "end": 1142, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1141, "end": 1142, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1143, "end": 1153, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1145, "end": 1153, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1145, "end": 1151, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1118, "end": 1137, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1119, "end": 1136, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1119, "end": 1120, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1129, "end": 1136, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1129, "end": 1136, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] } }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1159, "end": 1192, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1176, "end": 1180, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1177, "end": 1180, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1179, "end": 1180, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1179, "end": 1180, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1181, "end": 1191, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1183, "end": 1191, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1183, "end": 1189, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1159, "end": 1175, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1160, "end": 1174, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1160, "end": 1161, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1170, "end": 1174, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1170, "end": 1174, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] } } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1195, "end": 1292, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1199, "end": 1291, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1199, "end": 1202, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1202, "end": 1291, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1204, "end": 1291, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1210, "end": 1247, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1211, "end": 1235, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1212, "end": 1235, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1214, "end": 1235, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1215, "end": 1224, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1216, "end": 1224, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1218, "end": 1224, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1226, "end": 1235, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1229, "end": 1235, "ctxt": 0 }, "kind": "number" } } } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1236, "end": 1246, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1238, "end": 1246, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1238, "end": 1244, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1252, "end": 1289, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1253, "end": 1277, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1254, "end": 1277, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1256, "end": 1277, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1257, "end": 1266, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1258, "end": 1266, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1260, "end": 1266, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1268, "end": 1277, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1271, "end": 1277, "ctxt": 0 }, "kind": "string" } } } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1278, "end": 1288, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1280, "end": 1288, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1280, "end": 1286, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1293, "end": 1469, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1297, "end": 1469, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1297, "end": 1300, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1300, "end": 1469, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1302, "end": 1469, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1308, "end": 1386, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1309, "end": 1377, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1310, "end": 1377, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1312, "end": 1377, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1322, "end": 1342, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1323, "end": 1332, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1324, "end": 1332, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1326, "end": 1332, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1333, "end": 1341, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1335, "end": 1341, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1351, "end": 1371, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1352, "end": 1361, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1353, "end": 1361, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1355, "end": 1361, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1362, "end": 1370, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1364, "end": 1370, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1378, "end": 1385, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1380, "end": 1385, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1380, "end": 1383, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1391, "end": 1467, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1392, "end": 1458, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1393, "end": 1458, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1395, "end": 1458, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1405, "end": 1427, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1406, "end": 1416, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1407, "end": 1416, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1409, "end": 1416, "ctxt": 0 }, "kind": "boolean" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1417, "end": 1426, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1419, "end": 1426, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1436, "end": 1452, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1437, "end": 1444, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1438, "end": 1444, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1440, "end": 1444, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1440, "end": 1444, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1445, "end": 1451, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1447, "end": 1451, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1447, "end": 1451, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1459, "end": 1466, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1461, "end": 1466, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1461, "end": 1464, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1471, "end": 1495, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1475, "end": 1494, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1475, "end": 1476, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1476, "end": 1494, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1478, "end": 1494, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1482, "end": 1486, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1483, "end": 1486, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1485, "end": 1486, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1485, "end": 1486, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1478, "end": 1481, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1479, "end": 1480, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1479, "end": 1480, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1488, "end": 1494, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1491, "end": 1494, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1491, "end": 1492, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1491, "end": 1492, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1497, "end": 1503, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1497, "end": 1502, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1497, "end": 1498, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1501, "end": 1502, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1510, "end": 1516, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1510, "end": 1515, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1510, "end": 1511, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1514, "end": 1515, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1523, "end": 1553, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1527, "end": 1552, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1527, "end": 1529, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1529, "end": 1552, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1531, "end": 1552, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1535, "end": 1539, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1536, "end": 1539, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1538, "end": 1539, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1538, "end": 1539, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1531, "end": 1534, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1532, "end": 1533, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1532, "end": 1533, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1541, "end": 1552, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1544, "end": 1552, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1544, "end": 1550, "ctxt": 0 }, "kind": "string" } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1555, "end": 1563, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1555, "end": 1562, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1555, "end": 1557, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1560, "end": 1562, "ctxt": 0 }, "value": "b2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1571, "end": 1579, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1571, "end": 1578, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1571, "end": 1573, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1576, "end": 1578, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1586, "end": 1609, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1590, "end": 1608, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1590, "end": 1592, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1592, "end": 1608, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1594, "end": 1608, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1598, "end": 1602, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1599, "end": 1602, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1601, "end": 1602, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1601, "end": 1602, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1594, "end": 1597, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1595, "end": 1596, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1595, "end": 1596, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1604, "end": 1608, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1607, "end": 1608, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1607, "end": 1608, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1611, "end": 1619, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1611, "end": 1618, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1611, "end": 1613, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1616, "end": 1618, "ctxt": 0 }, "value": "b3", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1626, "end": 1634, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1626, "end": 1633, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1626, "end": 1628, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1631, "end": 1633, "ctxt": 0 }, "value": "a3", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1641, "end": 1673, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1645, "end": 1672, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1645, "end": 1647, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1647, "end": 1672, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1649, "end": 1672, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1656, "end": 1660, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1657, "end": 1660, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1659, "end": 1660, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1659, "end": 1660, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1662, "end": 1666, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1663, "end": 1666, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1665, "end": 1666, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1665, "end": 1666, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1649, "end": 1655, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1650, "end": 1651, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1650, "end": 1651, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1653, "end": 1654, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1653, "end": 1654, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1668, "end": 1672, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1671, "end": 1672, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1671, "end": 1672, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1675, "end": 1683, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1675, "end": 1682, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1675, "end": 1677, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1680, "end": 1682, "ctxt": 0 }, "value": "b4", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1690, "end": 1698, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1690, "end": 1697, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1690, "end": 1692, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1695, "end": 1697, "ctxt": 0 }, "value": "a4", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1705, "end": 1743, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1709, "end": 1742, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1709, "end": 1711, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1711, "end": 1742, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1713, "end": 1742, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1720, "end": 1736, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1721, "end": 1736, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1723, "end": 1736, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1724, "end": 1730, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1727, "end": 1730, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1729, "end": 1730, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1729, "end": 1730, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1732, "end": 1736, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1735, "end": 1736, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1735, "end": 1736, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1713, "end": 1719, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1714, "end": 1715, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1714, "end": 1715, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1717, "end": 1718, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1717, "end": 1718, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1738, "end": 1742, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1741, "end": 1742, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1741, "end": 1742, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1745, "end": 1753, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1745, "end": 1752, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1745, "end": 1747, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1750, "end": 1752, "ctxt": 0 }, "value": "b5", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1760, "end": 1768, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1760, "end": 1767, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1760, "end": 1762, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1765, "end": 1767, "ctxt": 0 }, "value": "a5", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1775, "end": 1842, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1779, "end": 1841, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1779, "end": 1781, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1781, "end": 1841, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1783, "end": 1841, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1819, "end": 1835, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1820, "end": 1835, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1822, "end": 1835, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1823, "end": 1829, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1826, "end": 1829, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1828, "end": 1829, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1828, "end": 1829, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1831, "end": 1835, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1834, "end": 1835, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1834, "end": 1835, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1783, "end": 1818, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1784, "end": 1798, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1784, "end": 1785, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1794, "end": 1798, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1794, "end": 1798, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1800, "end": 1817, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1800, "end": 1801, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1810, "end": 1817, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1810, "end": 1817, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1837, "end": 1841, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1840, "end": 1841, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1840, "end": 1841, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1844, "end": 1852, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1844, "end": 1851, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1844, "end": 1846, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1849, "end": 1851, "ctxt": 0 }, "value": "b6", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1859, "end": 1867, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1859, "end": 1866, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1859, "end": 1861, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1864, "end": 1866, "ctxt": 0 }, "value": "a6", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1874, "end": 1951, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1878, "end": 1950, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1878, "end": 1880, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1880, "end": 1950, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1882, "end": 1950, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1918, "end": 1934, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1919, "end": 1934, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1921, "end": 1934, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1922, "end": 1928, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1925, "end": 1928, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1927, "end": 1928, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1927, "end": 1928, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1930, "end": 1934, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1933, "end": 1934, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1933, "end": 1934, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1882, "end": 1917, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1883, "end": 1897, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1883, "end": 1884, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1893, "end": 1897, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1893, "end": 1897, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1899, "end": 1916, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1899, "end": 1900, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1909, "end": 1916, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1909, "end": 1916, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1936, "end": 1950, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1939, "end": 1950, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1940, "end": 1944, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1941, "end": 1944, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1943, "end": 1944, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1943, "end": 1944, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1946, "end": 1950, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1949, "end": 1950, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1949, "end": 1950, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1953, "end": 1961, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1953, "end": 1960, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1953, "end": 1955, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1958, "end": 1960, "ctxt": 0 }, "value": "b7", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1968, "end": 1976, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1968, "end": 1975, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1968, "end": 1970, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1973, "end": 1975, "ctxt": 0 }, "value": "a7", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1983, "end": 2079, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1987, "end": 2078, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1987, "end": 1989, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1989, "end": 2078, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1991, "end": 2078, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2027, "end": 2043, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2028, "end": 2043, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2030, "end": 2043, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2031, "end": 2037, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2034, "end": 2037, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2036, "end": 2037, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2036, "end": 2037, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2039, "end": 2043, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2042, "end": 2043, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2042, "end": 2043, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2045, "end": 2062, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2046, "end": 2062, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2048, "end": 2062, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2049, "end": 2056, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2053, "end": 2056, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2055, "end": 2056, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2055, "end": 2056, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2058, "end": 2062, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2061, "end": 2062, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2061, "end": 2062, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1991, "end": 2026, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1992, "end": 2006, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1992, "end": 1993, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2002, "end": 2006, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2002, "end": 2006, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2008, "end": 2025, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2008, "end": 2009, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2018, "end": 2025, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2018, "end": 2025, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2064, "end": 2078, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2067, "end": 2078, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2068, "end": 2072, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2069, "end": 2072, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2071, "end": 2072, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2071, "end": 2072, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2074, "end": 2078, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2077, "end": 2078, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2077, "end": 2078, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2080, "end": 2088, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2080, "end": 2087, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2080, "end": 2082, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2085, "end": 2087, "ctxt": 0 }, "value": "b8", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2095, "end": 2103, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2095, "end": 2102, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2095, "end": 2097, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2100, "end": 2102, "ctxt": 0 }, "value": "a8", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2110, "end": 2234, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2114, "end": 2233, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2114, "end": 2116, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2116, "end": 2233, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2118, "end": 2233, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2154, "end": 2170, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2155, "end": 2170, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2157, "end": 2170, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2158, "end": 2164, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2161, "end": 2164, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2163, "end": 2164, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2163, "end": 2164, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2166, "end": 2170, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2169, "end": 2170, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2169, "end": 2170, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2172, "end": 2217, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2173, "end": 2217, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2175, "end": 2217, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2176, "end": 2211, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2180, "end": 2211, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2182, "end": 2211, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2184, "end": 2196, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2184, "end": 2187, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2187, "end": 2195, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2189, "end": 2195, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2197, "end": 2209, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2197, "end": 2201, "ctxt": 0 }, "value": "bing", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2201, "end": 2209, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2203, "end": 2209, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2213, "end": 2217, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2216, "end": 2217, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2216, "end": 2217, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2118, "end": 2153, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2119, "end": 2133, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2119, "end": 2120, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2129, "end": 2133, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2129, "end": 2133, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2135, "end": 2152, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2135, "end": 2136, "ctxt": 0 }, "value": "U", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2145, "end": 2152, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2145, "end": 2152, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2219, "end": 2233, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2222, "end": 2233, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2223, "end": 2227, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2224, "end": 2227, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2226, "end": 2227, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2226, "end": 2227, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2229, "end": 2233, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2232, "end": 2233, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2232, "end": 2233, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2236, "end": 2244, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2236, "end": 2243, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2236, "end": 2238, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2241, "end": 2243, "ctxt": 0 }, "value": "b9", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2251, "end": 2259, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2251, "end": 2258, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2251, "end": 2253, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2256, "end": 2258, "ctxt": 0 }, "value": "a9", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2266, "end": 2311, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2270, "end": 2310, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2270, "end": 2273, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2273, "end": 2310, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2275, "end": 2310, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 2295, "end": 2304, "ctxt": 0 }, "rest": { "start": 2295, "end": 2298, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2298, "end": 2299, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2299, "end": 2304, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2301, "end": 2304, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2301, "end": 2302, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2301, "end": 2302, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2275, "end": 2294, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2276, "end": 2293, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2276, "end": 2277, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2286, "end": 2293, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2286, "end": 2293, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2306, "end": 2310, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2309, "end": 2310, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2309, "end": 2310, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2313, "end": 2323, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2313, "end": 2322, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2313, "end": 2316, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2319, "end": 2322, "ctxt": 0 }, "value": "b10", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2330, "end": 2340, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2330, "end": 2339, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2330, "end": 2333, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2336, "end": 2339, "ctxt": 0 }, "value": "a10", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2347, "end": 2390, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2351, "end": 2389, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2351, "end": 2354, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2354, "end": 2389, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2356, "end": 2389, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2373, "end": 2377, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2374, "end": 2377, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2376, "end": 2377, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2376, "end": 2377, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2379, "end": 2383, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2380, "end": 2383, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2382, "end": 2383, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2382, "end": 2383, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2356, "end": 2372, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2357, "end": 2371, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2357, "end": 2358, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2367, "end": 2371, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2367, "end": 2371, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2385, "end": 2389, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2388, "end": 2389, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2388, "end": 2389, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2392, "end": 2402, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2392, "end": 2401, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2392, "end": 2395, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2398, "end": 2401, "ctxt": 0 }, "value": "b11", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2409, "end": 2419, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2409, "end": 2418, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2409, "end": 2412, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2415, "end": 2418, "ctxt": 0 }, "value": "a11", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2426, "end": 2499, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2430, "end": 2498, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2430, "end": 2433, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2433, "end": 2498, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2435, "end": 2498, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2459, "end": 2473, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2460, "end": 2473, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2462, "end": 2473, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2462, "end": 2467, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2467, "end": 2473, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2468, "end": 2472, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2468, "end": 2472, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2475, "end": 2479, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2476, "end": 2479, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2478, "end": 2479, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2478, "end": 2479, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2435, "end": 2458, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2436, "end": 2457, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2436, "end": 2437, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2446, "end": 2457, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2446, "end": 2451, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2451, "end": 2457, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2452, "end": 2456, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2452, "end": 2456, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2481, "end": 2498, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2484, "end": 2498, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2484, "end": 2489, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2489, "end": 2498, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2490, "end": 2497, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2490, "end": 2497, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2501, "end": 2511, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2501, "end": 2510, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2501, "end": 2504, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2507, "end": 2510, "ctxt": 0 }, "value": "b12", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2518, "end": 2528, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2518, "end": 2527, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2518, "end": 2521, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2524, "end": 2527, "ctxt": 0 }, "value": "a12", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2535, "end": 2598, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2539, "end": 2597, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2539, "end": 2542, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2542, "end": 2597, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2544, "end": 2597, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2571, "end": 2585, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2572, "end": 2585, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2574, "end": 2585, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2574, "end": 2579, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2579, "end": 2585, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2580, "end": 2584, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2580, "end": 2584, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2587, "end": 2591, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2588, "end": 2591, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2590, "end": 2591, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2590, "end": 2591, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2544, "end": 2570, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2545, "end": 2569, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2545, "end": 2546, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2555, "end": 2569, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2555, "end": 2560, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2560, "end": 2569, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2561, "end": 2568, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2561, "end": 2568, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2593, "end": 2597, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2596, "end": 2597, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2596, "end": 2597, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2600, "end": 2610, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2600, "end": 2609, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2600, "end": 2603, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2606, "end": 2609, "ctxt": 0 }, "value": "b13", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2617, "end": 2627, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2617, "end": 2626, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2617, "end": 2620, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2623, "end": 2626, "ctxt": 0 }, "value": "a13", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2634, "end": 2671, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2638, "end": 2670, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2638, "end": 2641, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2641, "end": 2670, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2643, "end": 2670, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2647, "end": 2664, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2648, "end": 2664, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2650, "end": 2664, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2652, "end": 2657, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2652, "end": 2653, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2653, "end": 2656, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2655, "end": 2656, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2655, "end": 2656, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2658, "end": 2662, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2658, "end": 2659, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2659, "end": 2662, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2661, "end": 2662, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2661, "end": 2662, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2643, "end": 2646, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2644, "end": 2645, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2644, "end": 2645, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2666, "end": 2670, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2669, "end": 2670, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2669, "end": 2670, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2673, "end": 2683, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2673, "end": 2682, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2673, "end": 2676, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2679, "end": 2682, "ctxt": 0 }, "value": "b14", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2690, "end": 2700, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2690, "end": 2699, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2690, "end": 2693, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2696, "end": 2699, "ctxt": 0 }, "value": "a14", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2707, "end": 2733, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2711, "end": 2732, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2711, "end": 2714, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2714, "end": 2732, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2716, "end": 2732, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2720, "end": 2724, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2721, "end": 2724, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2723, "end": 2724, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2723, "end": 2724, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2716, "end": 2719, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2717, "end": 2718, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2717, "end": 2718, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2726, "end": 2732, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2729, "end": 2732, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2729, "end": 2730, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2729, "end": 2730, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2735, "end": 2745, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2735, "end": 2744, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2735, "end": 2738, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2741, "end": 2744, "ctxt": 0 }, "value": "b15", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2752, "end": 2762, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2752, "end": 2761, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2752, "end": 2755, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2758, "end": 2761, "ctxt": 0 }, "value": "a15", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2769, "end": 2813, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2773, "end": 2812, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2773, "end": 2776, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2776, "end": 2812, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2778, "end": 2812, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2795, "end": 2799, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2796, "end": 2799, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2798, "end": 2799, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2798, "end": 2799, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2778, "end": 2794, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2779, "end": 2793, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2779, "end": 2780, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 2789, "end": 2793, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2789, "end": 2793, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2801, "end": 2812, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2804, "end": 2812, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 2804, "end": 2810, "ctxt": 0 }, "kind": "number" } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2814, "end": 2824, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2814, "end": 2823, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2814, "end": 2817, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2820, "end": 2823, "ctxt": 0 }, "value": "b16", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2831, "end": 2841, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2831, "end": 2840, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2831, "end": 2834, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2837, "end": 2840, "ctxt": 0 }, "value": "a16", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2848, "end": 2884, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2852, "end": 2883, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2852, "end": 2855, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2855, "end": 2883, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2857, "end": 2883, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2861, "end": 2875, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2862, "end": 2875, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2864, "end": 2875, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2865, "end": 2869, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2866, "end": 2869, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2868, "end": 2869, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2868, "end": 2869, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2871, "end": 2875, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2874, "end": 2875, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2874, "end": 2875, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2857, "end": 2860, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2858, "end": 2859, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2858, "end": 2859, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2877, "end": 2883, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2880, "end": 2883, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2880, "end": 2881, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2880, "end": 2881, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2891, "end": 2901, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2891, "end": 2900, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2891, "end": 2894, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2897, "end": 2900, "ctxt": 0 }, "value": "b17", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2908, "end": 2918, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2908, "end": 2917, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2908, "end": 2911, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2914, "end": 2917, "ctxt": 0 }, "value": "a17", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2925, "end": 2961, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2929, "end": 2960, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2929, "end": 2932, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2932, "end": 2960, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2934, "end": 2960, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2938, "end": 2952, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2939, "end": 2952, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2941, "end": 2952, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2942, "end": 2946, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2943, "end": 2946, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2945, "end": 2946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2945, "end": 2946, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2948, "end": 2952, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2951, "end": 2952, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2951, "end": 2952, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2934, "end": 2937, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2935, "end": 2936, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2935, "end": 2936, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2954, "end": 2960, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2957, "end": 2960, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2957, "end": 2958, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2957, "end": 2958, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2963, "end": 2973, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2963, "end": 2972, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2963, "end": 2966, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2969, "end": 2972, "ctxt": 0 }, "value": "b18", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2980, "end": 2990, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2980, "end": 2989, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2980, "end": 2983, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2986, "end": 2989, "ctxt": 0 }, "value": "a18", "optional": false } } } ], "interpreter": null }