{ "type": "Script", "span": { "start": 106, "end": 2989, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 112, "end": 116, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 106, "end": 133, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 119, "end": 131, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 119, "end": 122, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 122, "end": 130, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 124, "end": 130, "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": 140, "end": 147, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 134, "end": 177, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 163, "end": 175, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 163, "end": 166, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 166, "end": 174, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 168, "end": 174, "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": 156, "end": 160, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 184, "end": 192, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 178, "end": 225, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 211, "end": 223, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 211, "end": 214, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 214, "end": 222, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 216, "end": 222, "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": 201, "end": 208, "ctxt": 0 }, "value": "Derived", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 232, "end": 244, "ctxt": 0 }, "value": "OtherDerived", "optional": false }, "declare": false, "span": { "start": 226, "end": 275, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 260, "end": 273, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 260, "end": 264, "ctxt": 0 }, "value": "bing", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 264, "end": 272, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 266, "end": 272, "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": 253, "end": 257, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 277, "end": 308, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 281, "end": 307, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 281, "end": 282, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 282, "end": 307, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 284, "end": 307, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 285, "end": 294, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 286, "end": 294, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 288, "end": 294, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 296, "end": 307, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 299, "end": 307, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 299, "end": 305, "ctxt": 0 }, "kind": "number" } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 309, "end": 341, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 313, "end": 340, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 313, "end": 315, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 315, "end": 340, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 317, "end": 340, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 318, "end": 327, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 319, "end": 327, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 321, "end": 327, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 329, "end": 340, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 332, "end": 340, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 332, "end": 338, "ctxt": 0 }, "kind": "string" } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 342, "end": 370, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 346, "end": 369, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 346, "end": 348, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 348, "end": 369, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 350, "end": 369, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 351, "end": 360, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 352, "end": 360, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 354, "end": 360, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 362, "end": 369, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 365, "end": 369, "ctxt": 0 }, "kind": "void" } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 371, "end": 412, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 375, "end": 411, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 375, "end": 377, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 377, "end": 411, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 379, "end": 411, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 380, "end": 389, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 381, "end": 389, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 383, "end": 389, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 391, "end": 400, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 392, "end": 400, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 394, "end": 400, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 402, "end": 411, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 405, "end": 411, "ctxt": 0 }, "kind": "string" } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 413, "end": 460, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 417, "end": 459, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 417, "end": 419, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 419, "end": 459, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 421, "end": 459, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 422, "end": 448, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 423, "end": 448, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 425, "end": 448, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 426, "end": 437, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 429, "end": 437, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 431, "end": 437, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 439, "end": 448, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 442, "end": 448, "ctxt": 0 }, "kind": "number" } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 450, "end": 459, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 453, "end": 459, "ctxt": 0 }, "kind": "string" } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 461, "end": 505, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 465, "end": 504, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 465, "end": 467, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 467, "end": 504, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 469, "end": 504, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 470, "end": 495, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 471, "end": 495, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 473, "end": 495, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 474, "end": 483, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 477, "end": 483, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 479, "end": 483, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 479, "end": 483, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 485, "end": 495, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 488, "end": 495, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 488, "end": 495, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 497, "end": 504, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 500, "end": 504, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 500, "end": 504, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 506, "end": 566, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 510, "end": 565, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 510, "end": 512, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 512, "end": 565, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 514, "end": 565, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 515, "end": 540, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 516, "end": 540, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 518, "end": 540, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 519, "end": 528, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 522, "end": 528, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 524, "end": 528, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 524, "end": 528, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 530, "end": 540, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 533, "end": 540, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 533, "end": 540, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 542, "end": 565, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 545, "end": 565, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 546, "end": 553, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 547, "end": 553, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 549, "end": 553, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 549, "end": 553, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 555, "end": 565, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 558, "end": 565, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 558, "end": 565, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 567, "end": 655, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 571, "end": 654, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 571, "end": 573, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 573, "end": 654, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 575, "end": 654, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 576, "end": 601, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 577, "end": 601, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 579, "end": 601, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 580, "end": 589, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 583, "end": 589, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 585, "end": 589, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 585, "end": 589, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 591, "end": 601, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 594, "end": 601, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 594, "end": 601, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 603, "end": 629, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 604, "end": 629, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 606, "end": 629, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 607, "end": 617, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 611, "end": 617, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 613, "end": 617, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 613, "end": 617, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 619, "end": 629, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 622, "end": 629, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 622, "end": 629, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 631, "end": 654, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 634, "end": 654, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 635, "end": 642, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 636, "end": 642, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 638, "end": 642, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 638, "end": 642, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 644, "end": 654, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 647, "end": 654, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 647, "end": 654, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 656, "end": 744, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 660, "end": 743, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 660, "end": 662, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 662, "end": 743, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 664, "end": 743, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 665, "end": 690, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 666, "end": 690, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 668, "end": 690, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 669, "end": 678, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 672, "end": 678, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 674, "end": 678, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 674, "end": 678, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 680, "end": 690, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 683, "end": 690, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 683, "end": 690, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 692, "end": 718, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 693, "end": 718, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 695, "end": 718, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 696, "end": 706, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 700, "end": 706, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 702, "end": 706, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 702, "end": 706, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 708, "end": 718, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 711, "end": 718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 711, "end": 718, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 720, "end": 743, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 723, "end": 743, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 724, "end": 731, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 725, "end": 731, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 727, "end": 731, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 727, "end": 731, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 733, "end": 743, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 736, "end": 743, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 736, "end": 743, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 745, "end": 783, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 749, "end": 782, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 749, "end": 752, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 752, "end": 782, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 754, "end": 782, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 755, "end": 770, "ctxt": 0 }, "rest": { "start": 755, "end": 758, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 758, "end": 759, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 759, "end": 770, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 761, "end": 770, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 761, "end": 768, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 761, "end": 768, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 772, "end": 782, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 775, "end": 782, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 775, "end": 782, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 784, "end": 855, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 788, "end": 854, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 788, "end": 791, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 791, "end": 854, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 793, "end": 854, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 794, "end": 812, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 795, "end": 812, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 797, "end": 812, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 799, "end": 810, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 799, "end": 802, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 802, "end": 810, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 804, "end": 810, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, { "type": "Identifier", "span": { "start": 814, "end": 845, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 815, "end": 845, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 817, "end": 845, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 819, "end": 831, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 819, "end": 822, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 822, "end": 830, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 824, "end": 830, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 832, "end": 843, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 832, "end": 835, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 835, "end": 843, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 837, "end": 843, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 847, "end": 854, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 850, "end": 854, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 850, "end": 854, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 856, "end": 920, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 860, "end": 919, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 860, "end": 863, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 863, "end": 919, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 865, "end": 919, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 866, "end": 880, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 867, "end": 880, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 869, "end": 880, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 869, "end": 874, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 874, "end": 880, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 875, "end": 879, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 875, "end": 879, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 882, "end": 900, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 883, "end": 900, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 885, "end": 900, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 885, "end": 890, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 890, "end": 900, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 891, "end": 899, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 891, "end": 899, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 902, "end": 919, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 905, "end": 919, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 905, "end": 910, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 910, "end": 919, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 911, "end": 918, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 911, "end": 918, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 921, "end": 984, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 925, "end": 983, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 925, "end": 928, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 928, "end": 983, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 930, "end": 983, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 931, "end": 945, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 932, "end": 945, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 934, "end": 945, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 934, "end": 939, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 939, "end": 945, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 940, "end": 944, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 940, "end": 944, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 947, "end": 964, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 948, "end": 964, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 950, "end": 964, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 950, "end": 955, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 955, "end": 964, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 956, "end": 963, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 956, "end": 963, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 966, "end": 983, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 969, "end": 983, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 969, "end": 974, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 974, "end": 983, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 975, "end": 982, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 975, "end": 982, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 985, "end": 1034, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 989, "end": 1033, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 989, "end": 992, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 992, "end": 1033, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 994, "end": 1033, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 995, "end": 1022, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 996, "end": 1022, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 998, "end": 1022, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1000, "end": 1010, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1000, "end": 1001, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1001, "end": 1009, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1003, "end": 1009, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1011, "end": 1020, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1011, "end": 1012, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1012, "end": 1020, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1014, "end": 1020, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1024, "end": 1033, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1027, "end": 1033, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1027, "end": 1033, "ctxt": 0 }, "value": "Object", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1035, "end": 1101, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1039, "end": 1101, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1039, "end": 1042, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1042, "end": 1101, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1044, "end": 1101, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1050, "end": 1072, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1051, "end": 1060, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1052, "end": 1060, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1054, "end": 1060, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1061, "end": 1071, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1063, "end": 1071, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1063, "end": 1069, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1077, "end": 1099, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1078, "end": 1087, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1079, "end": 1087, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1081, "end": 1087, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1088, "end": 1098, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1090, "end": 1098, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1090, "end": 1096, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1102, "end": 1193, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1106, "end": 1193, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1106, "end": 1109, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1109, "end": 1193, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1111, "end": 1193, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1117, "end": 1153, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1137, "end": 1141, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1138, "end": 1141, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1140, "end": 1141, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1140, "end": 1141, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1142, "end": 1152, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1144, "end": 1152, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1144, "end": 1150, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1117, "end": 1136, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1118, "end": 1135, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1118, "end": 1119, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1128, "end": 1135, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1128, "end": 1135, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] } }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1158, "end": 1191, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1175, "end": 1179, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1176, "end": 1179, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1178, "end": 1179, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1178, "end": 1179, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1180, "end": 1190, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1182, "end": 1190, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1182, "end": 1188, "ctxt": 0 }, "kind": "number" } } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1158, "end": 1174, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1159, "end": 1173, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1159, "end": 1160, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1169, "end": 1173, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1169, "end": 1173, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] } } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1194, "end": 1291, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1198, "end": 1290, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1198, "end": 1201, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1201, "end": 1290, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1203, "end": 1290, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1209, "end": 1246, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1210, "end": 1234, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1211, "end": 1234, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1213, "end": 1234, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1214, "end": 1223, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1215, "end": 1223, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1217, "end": 1223, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1225, "end": 1234, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1228, "end": 1234, "ctxt": 0 }, "kind": "number" } } } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1235, "end": 1245, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1237, "end": 1245, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1237, "end": 1243, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1251, "end": 1288, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1252, "end": 1276, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1253, "end": 1276, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1255, "end": 1276, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1256, "end": 1265, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1257, "end": 1265, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1259, "end": 1265, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1267, "end": 1276, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1270, "end": 1276, "ctxt": 0 }, "kind": "string" } } } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1277, "end": 1287, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1279, "end": 1287, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1279, "end": 1285, "ctxt": 0 }, "kind": "string" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1292, "end": 1468, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1296, "end": 1468, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1296, "end": 1299, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1299, "end": 1468, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1301, "end": 1468, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1307, "end": 1385, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1308, "end": 1376, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1309, "end": 1376, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1311, "end": 1376, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1321, "end": 1341, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1322, "end": 1331, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1323, "end": 1331, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1325, "end": 1331, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1332, "end": 1340, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1334, "end": 1340, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1350, "end": 1370, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1351, "end": 1360, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1352, "end": 1360, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1354, "end": 1360, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1361, "end": 1369, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1363, "end": 1369, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1377, "end": 1384, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1379, "end": 1384, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1379, "end": 1382, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1390, "end": 1466, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1391, "end": 1457, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1392, "end": 1457, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1394, "end": 1457, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1404, "end": 1426, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1405, "end": 1415, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1406, "end": 1415, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1408, "end": 1415, "ctxt": 0 }, "kind": "boolean" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1416, "end": 1425, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1418, "end": 1425, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1435, "end": 1451, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1436, "end": 1443, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1437, "end": 1443, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1439, "end": 1443, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1439, "end": 1443, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1444, "end": 1450, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1446, "end": 1450, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1446, "end": 1450, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1458, "end": 1465, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1460, "end": 1465, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1460, "end": 1463, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1470, "end": 1494, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1474, "end": 1493, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1474, "end": 1475, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1475, "end": 1493, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1477, "end": 1493, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1481, "end": 1485, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1482, "end": 1485, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1484, "end": 1485, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1484, "end": 1485, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1477, "end": 1480, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1478, "end": 1479, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1478, "end": 1479, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1487, "end": 1493, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1490, "end": 1493, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1490, "end": 1491, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1490, "end": 1491, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1496, "end": 1502, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1496, "end": 1501, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1496, "end": 1497, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1500, "end": 1501, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1509, "end": 1515, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1509, "end": 1514, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1509, "end": 1510, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1513, "end": 1514, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1522, "end": 1552, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1526, "end": 1551, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1526, "end": 1528, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1528, "end": 1551, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1530, "end": 1551, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1534, "end": 1538, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1535, "end": 1538, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1537, "end": 1538, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1537, "end": 1538, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1530, "end": 1533, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1531, "end": 1532, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1531, "end": 1532, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1540, "end": 1551, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1543, "end": 1551, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1543, "end": 1549, "ctxt": 0 }, "kind": "string" } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1554, "end": 1562, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1554, "end": 1561, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1554, "end": 1556, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1559, "end": 1561, "ctxt": 0 }, "value": "b2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1570, "end": 1578, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1570, "end": 1577, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1570, "end": 1572, "ctxt": 0 }, "value": "b2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1575, "end": 1577, "ctxt": 0 }, "value": "a2", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1585, "end": 1608, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1589, "end": 1607, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1589, "end": 1591, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1591, "end": 1607, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1593, "end": 1607, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1597, "end": 1601, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1598, "end": 1601, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1600, "end": 1601, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1600, "end": 1601, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1593, "end": 1596, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1594, "end": 1595, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1594, "end": 1595, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1603, "end": 1607, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1606, "end": 1607, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1606, "end": 1607, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1610, "end": 1618, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1610, "end": 1617, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1610, "end": 1612, "ctxt": 0 }, "value": "a3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1615, "end": 1617, "ctxt": 0 }, "value": "b3", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1625, "end": 1633, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1625, "end": 1632, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1625, "end": 1627, "ctxt": 0 }, "value": "b3", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1630, "end": 1632, "ctxt": 0 }, "value": "a3", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1640, "end": 1672, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1644, "end": 1671, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1644, "end": 1646, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1646, "end": 1671, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1648, "end": 1671, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1655, "end": 1659, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1656, "end": 1659, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1658, "end": 1659, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1658, "end": 1659, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1661, "end": 1665, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1662, "end": 1665, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1664, "end": 1665, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1664, "end": 1665, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1648, "end": 1654, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1649, "end": 1650, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1649, "end": 1650, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1652, "end": 1653, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1652, "end": 1653, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1667, "end": 1671, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1670, "end": 1671, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1670, "end": 1671, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1674, "end": 1682, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1674, "end": 1681, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1674, "end": 1676, "ctxt": 0 }, "value": "a4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1679, "end": 1681, "ctxt": 0 }, "value": "b4", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1689, "end": 1697, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1689, "end": 1696, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1689, "end": 1691, "ctxt": 0 }, "value": "b4", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1694, "end": 1696, "ctxt": 0 }, "value": "a4", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1704, "end": 1742, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1708, "end": 1741, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1708, "end": 1710, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1710, "end": 1741, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1712, "end": 1741, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1719, "end": 1735, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1720, "end": 1735, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1722, "end": 1735, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1723, "end": 1729, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1726, "end": 1729, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1728, "end": 1729, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1728, "end": 1729, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1731, "end": 1735, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1734, "end": 1735, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1734, "end": 1735, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1712, "end": 1718, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1713, "end": 1714, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1713, "end": 1714, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1716, "end": 1717, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1716, "end": 1717, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1737, "end": 1741, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1740, "end": 1741, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1740, "end": 1741, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1744, "end": 1752, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1744, "end": 1751, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1744, "end": 1746, "ctxt": 0 }, "value": "a5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1749, "end": 1751, "ctxt": 0 }, "value": "b5", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1759, "end": 1767, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1759, "end": 1766, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1759, "end": 1761, "ctxt": 0 }, "value": "b5", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1764, "end": 1766, "ctxt": 0 }, "value": "a5", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1774, "end": 1841, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1778, "end": 1840, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1778, "end": 1780, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1780, "end": 1840, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1782, "end": 1840, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1818, "end": 1834, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1819, "end": 1834, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1821, "end": 1834, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1822, "end": 1828, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1825, "end": 1828, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1827, "end": 1828, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1827, "end": 1828, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1830, "end": 1834, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1833, "end": 1834, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1833, "end": 1834, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1782, "end": 1817, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1783, "end": 1797, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1783, "end": 1784, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1793, "end": 1797, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1793, "end": 1797, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1799, "end": 1816, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1799, "end": 1800, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1809, "end": 1816, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1809, "end": 1816, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1836, "end": 1840, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1839, "end": 1840, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1839, "end": 1840, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1843, "end": 1851, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1843, "end": 1850, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1843, "end": 1845, "ctxt": 0 }, "value": "a6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1848, "end": 1850, "ctxt": 0 }, "value": "b6", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1858, "end": 1866, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1858, "end": 1865, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1858, "end": 1860, "ctxt": 0 }, "value": "b6", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1863, "end": 1865, "ctxt": 0 }, "value": "a6", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1873, "end": 1950, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1877, "end": 1949, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1877, "end": 1879, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1879, "end": 1949, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1881, "end": 1949, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1917, "end": 1933, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1918, "end": 1933, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1920, "end": 1933, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1921, "end": 1927, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1924, "end": 1927, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1926, "end": 1927, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1926, "end": 1927, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1929, "end": 1933, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1932, "end": 1933, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1932, "end": 1933, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1881, "end": 1916, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1882, "end": 1896, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1882, "end": 1883, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1892, "end": 1896, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1892, "end": 1896, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1898, "end": 1915, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1898, "end": 1899, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1908, "end": 1915, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1908, "end": 1915, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1935, "end": 1949, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1938, "end": 1949, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1939, "end": 1943, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1940, "end": 1943, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1942, "end": 1943, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1942, "end": 1943, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1945, "end": 1949, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1948, "end": 1949, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1948, "end": 1949, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1952, "end": 1960, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1952, "end": 1959, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1952, "end": 1954, "ctxt": 0 }, "value": "a7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1957, "end": 1959, "ctxt": 0 }, "value": "b7", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1967, "end": 1975, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1967, "end": 1974, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1967, "end": 1969, "ctxt": 0 }, "value": "b7", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1972, "end": 1974, "ctxt": 0 }, "value": "a7", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1982, "end": 2078, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1986, "end": 2077, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1986, "end": 1988, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1988, "end": 2077, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1990, "end": 2077, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2026, "end": 2042, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2027, "end": 2042, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2029, "end": 2042, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2030, "end": 2036, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2033, "end": 2036, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2035, "end": 2036, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2035, "end": 2036, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2038, "end": 2042, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2041, "end": 2042, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2041, "end": 2042, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2044, "end": 2061, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2045, "end": 2061, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2047, "end": 2061, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2048, "end": 2055, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2052, "end": 2055, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2054, "end": 2055, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2054, "end": 2055, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2057, "end": 2061, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2060, "end": 2061, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2060, "end": 2061, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1990, "end": 2025, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1991, "end": 2005, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1991, "end": 1992, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2001, "end": 2005, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2001, "end": 2005, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2007, "end": 2024, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2007, "end": 2008, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2017, "end": 2024, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2017, "end": 2024, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2063, "end": 2077, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2066, "end": 2077, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2067, "end": 2071, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2068, "end": 2071, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2070, "end": 2071, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2070, "end": 2071, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2073, "end": 2077, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2076, "end": 2077, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2076, "end": 2077, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2079, "end": 2087, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2079, "end": 2086, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2079, "end": 2081, "ctxt": 0 }, "value": "a8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2084, "end": 2086, "ctxt": 0 }, "value": "b8", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2094, "end": 2102, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2094, "end": 2101, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2094, "end": 2096, "ctxt": 0 }, "value": "b8", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2099, "end": 2101, "ctxt": 0 }, "value": "a8", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2109, "end": 2233, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2113, "end": 2232, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2113, "end": 2115, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2115, "end": 2232, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2117, "end": 2232, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2153, "end": 2169, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2154, "end": 2169, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2156, "end": 2169, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2157, "end": 2163, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2160, "end": 2163, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2162, "end": 2163, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2162, "end": 2163, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2165, "end": 2169, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2168, "end": 2169, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2168, "end": 2169, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2171, "end": 2216, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2172, "end": 2216, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2174, "end": 2216, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2175, "end": 2210, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2179, "end": 2210, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2181, "end": 2210, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2183, "end": 2195, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2183, "end": 2186, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2186, "end": 2194, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2188, "end": 2194, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2196, "end": 2208, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2196, "end": 2200, "ctxt": 0 }, "value": "bing", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2200, "end": 2208, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2202, "end": 2208, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2212, "end": 2216, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2215, "end": 2216, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2215, "end": 2216, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2117, "end": 2152, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2118, "end": 2132, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2118, "end": 2119, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2128, "end": 2132, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2128, "end": 2132, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2134, "end": 2151, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2134, "end": 2135, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2144, "end": 2151, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2144, "end": 2151, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2218, "end": 2232, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2221, "end": 2232, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2222, "end": 2226, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2223, "end": 2226, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2225, "end": 2226, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2225, "end": 2226, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2228, "end": 2232, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2231, "end": 2232, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2231, "end": 2232, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2235, "end": 2243, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2235, "end": 2242, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2235, "end": 2237, "ctxt": 0 }, "value": "a9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2240, "end": 2242, "ctxt": 0 }, "value": "b9", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2250, "end": 2258, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2250, "end": 2257, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2250, "end": 2252, "ctxt": 0 }, "value": "b9", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2255, "end": 2257, "ctxt": 0 }, "value": "a9", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2265, "end": 2310, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2269, "end": 2309, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2269, "end": 2272, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2272, "end": 2309, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2274, "end": 2309, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 2294, "end": 2303, "ctxt": 0 }, "rest": { "start": 2294, "end": 2297, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2297, "end": 2298, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2298, "end": 2303, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2300, "end": 2303, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2300, "end": 2301, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2300, "end": 2301, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2274, "end": 2293, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2275, "end": 2292, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2275, "end": 2276, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2285, "end": 2292, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2285, "end": 2292, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2305, "end": 2309, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2308, "end": 2309, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2308, "end": 2309, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2312, "end": 2322, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2312, "end": 2321, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2312, "end": 2315, "ctxt": 0 }, "value": "a10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2318, "end": 2321, "ctxt": 0 }, "value": "b10", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2329, "end": 2339, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2329, "end": 2338, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2329, "end": 2332, "ctxt": 0 }, "value": "b10", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2335, "end": 2338, "ctxt": 0 }, "value": "a10", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2346, "end": 2389, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2350, "end": 2388, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2350, "end": 2353, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2353, "end": 2388, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2355, "end": 2388, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2372, "end": 2376, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2373, "end": 2376, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2375, "end": 2376, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2375, "end": 2376, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2378, "end": 2382, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2379, "end": 2382, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2381, "end": 2382, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2381, "end": 2382, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2355, "end": 2371, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2356, "end": 2370, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2356, "end": 2357, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2366, "end": 2370, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2366, "end": 2370, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2384, "end": 2388, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2387, "end": 2388, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2387, "end": 2388, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2391, "end": 2401, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2391, "end": 2400, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2391, "end": 2394, "ctxt": 0 }, "value": "a11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2397, "end": 2400, "ctxt": 0 }, "value": "b11", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2408, "end": 2418, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2408, "end": 2417, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2408, "end": 2411, "ctxt": 0 }, "value": "b11", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2414, "end": 2417, "ctxt": 0 }, "value": "a11", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2425, "end": 2498, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2429, "end": 2497, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2429, "end": 2432, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2432, "end": 2497, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2434, "end": 2497, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2458, "end": 2472, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2459, "end": 2472, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2461, "end": 2472, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2461, "end": 2466, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2466, "end": 2472, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2467, "end": 2471, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2467, "end": 2471, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2474, "end": 2478, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2475, "end": 2478, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2477, "end": 2478, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2477, "end": 2478, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2434, "end": 2457, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2435, "end": 2456, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2435, "end": 2436, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2445, "end": 2456, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2445, "end": 2450, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2450, "end": 2456, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2451, "end": 2455, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2451, "end": 2455, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2480, "end": 2497, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2483, "end": 2497, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2483, "end": 2488, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2488, "end": 2497, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2489, "end": 2496, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2489, "end": 2496, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2500, "end": 2510, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2500, "end": 2509, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2500, "end": 2503, "ctxt": 0 }, "value": "a12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2506, "end": 2509, "ctxt": 0 }, "value": "b12", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2517, "end": 2527, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2517, "end": 2526, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2517, "end": 2520, "ctxt": 0 }, "value": "b12", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2523, "end": 2526, "ctxt": 0 }, "value": "a12", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2534, "end": 2597, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2538, "end": 2596, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2538, "end": 2541, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2541, "end": 2596, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2543, "end": 2596, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2570, "end": 2584, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2571, "end": 2584, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2573, "end": 2584, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2573, "end": 2578, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2578, "end": 2584, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2579, "end": 2583, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2579, "end": 2583, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 2586, "end": 2590, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2587, "end": 2590, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2589, "end": 2590, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2589, "end": 2590, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2543, "end": 2569, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2544, "end": 2568, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2544, "end": 2545, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2554, "end": 2568, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2554, "end": 2559, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2559, "end": 2568, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2560, "end": 2567, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2560, "end": 2567, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2592, "end": 2596, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2595, "end": 2596, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2595, "end": 2596, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2599, "end": 2609, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2599, "end": 2608, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2599, "end": 2602, "ctxt": 0 }, "value": "a13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2605, "end": 2608, "ctxt": 0 }, "value": "b13", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2616, "end": 2626, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2616, "end": 2625, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2616, "end": 2619, "ctxt": 0 }, "value": "b13", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2622, "end": 2625, "ctxt": 0 }, "value": "a13", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2633, "end": 2670, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2637, "end": 2669, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2637, "end": 2640, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2640, "end": 2669, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2642, "end": 2669, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2646, "end": 2663, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2647, "end": 2663, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2649, "end": 2663, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2651, "end": 2656, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2651, "end": 2652, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2652, "end": 2655, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2654, "end": 2655, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2654, "end": 2655, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2657, "end": 2661, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2657, "end": 2658, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2658, "end": 2661, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2660, "end": 2661, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2660, "end": 2661, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2642, "end": 2645, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2643, "end": 2644, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2643, "end": 2644, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2665, "end": 2669, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2668, "end": 2669, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2668, "end": 2669, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2672, "end": 2682, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2672, "end": 2681, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2672, "end": 2675, "ctxt": 0 }, "value": "a14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2678, "end": 2681, "ctxt": 0 }, "value": "b14", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2689, "end": 2699, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2689, "end": 2698, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2689, "end": 2692, "ctxt": 0 }, "value": "b14", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2695, "end": 2698, "ctxt": 0 }, "value": "a14", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2706, "end": 2732, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2710, "end": 2731, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2710, "end": 2713, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2713, "end": 2731, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2715, "end": 2731, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2719, "end": 2723, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2720, "end": 2723, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2722, "end": 2723, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2722, "end": 2723, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2715, "end": 2718, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2716, "end": 2717, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2716, "end": 2717, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2725, "end": 2731, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2728, "end": 2731, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2728, "end": 2729, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2728, "end": 2729, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2734, "end": 2744, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2734, "end": 2743, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2734, "end": 2737, "ctxt": 0 }, "value": "a15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2740, "end": 2743, "ctxt": 0 }, "value": "b15", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2751, "end": 2761, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2751, "end": 2760, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2751, "end": 2754, "ctxt": 0 }, "value": "b15", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2757, "end": 2760, "ctxt": 0 }, "value": "a15", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2768, "end": 2812, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2772, "end": 2811, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2772, "end": 2775, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2775, "end": 2811, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2777, "end": 2811, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2794, "end": 2798, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2795, "end": 2798, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2797, "end": 2798, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2797, "end": 2798, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2777, "end": 2793, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2778, "end": 2792, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2778, "end": 2779, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2788, "end": 2792, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2788, "end": 2792, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2800, "end": 2811, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2803, "end": 2811, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 2803, "end": 2809, "ctxt": 0 }, "kind": "number" } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2813, "end": 2823, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2813, "end": 2822, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2813, "end": 2816, "ctxt": 0 }, "value": "a16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2819, "end": 2822, "ctxt": 0 }, "value": "b16", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2830, "end": 2840, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2830, "end": 2839, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2830, "end": 2833, "ctxt": 0 }, "value": "b16", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2836, "end": 2839, "ctxt": 0 }, "value": "a16", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2847, "end": 2883, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2851, "end": 2882, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2851, "end": 2854, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2854, "end": 2882, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2856, "end": 2882, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2860, "end": 2874, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2861, "end": 2874, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2863, "end": 2874, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2864, "end": 2868, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2865, "end": 2868, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2867, "end": 2868, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2867, "end": 2868, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2870, "end": 2874, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2873, "end": 2874, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2873, "end": 2874, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2856, "end": 2859, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2857, "end": 2858, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2857, "end": 2858, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2876, "end": 2882, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2879, "end": 2882, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2879, "end": 2880, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2879, "end": 2880, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2890, "end": 2900, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2890, "end": 2899, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2890, "end": 2893, "ctxt": 0 }, "value": "a17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2896, "end": 2899, "ctxt": 0 }, "value": "b17", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2907, "end": 2917, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2907, "end": 2916, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2907, "end": 2910, "ctxt": 0 }, "value": "b17", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2913, "end": 2916, "ctxt": 0 }, "value": "a17", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2924, "end": 2960, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2928, "end": 2959, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2928, "end": 2931, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2931, "end": 2959, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2933, "end": 2959, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2937, "end": 2951, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2938, "end": 2951, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2940, "end": 2951, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2941, "end": 2945, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2942, "end": 2945, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2944, "end": 2945, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2944, "end": 2945, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2947, "end": 2951, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2950, "end": 2951, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2950, "end": 2951, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2933, "end": 2936, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2934, "end": 2935, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2934, "end": 2935, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2953, "end": 2959, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2956, "end": 2959, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2956, "end": 2957, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2956, "end": 2957, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2962, "end": 2972, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2962, "end": 2971, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2962, "end": 2965, "ctxt": 0 }, "value": "a18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2968, "end": 2971, "ctxt": 0 }, "value": "b18", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2979, "end": 2989, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2979, "end": 2988, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2979, "end": 2982, "ctxt": 0 }, "value": "b18", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2985, "end": 2988, "ctxt": 0 }, "value": "a18", "optional": false } } } ], "interpreter": null }