{ "type": "Script", "span": { "start": 164, "end": 4885, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 164, "end": 4417, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 171, "end": 177, "ctxt": 0 }, "value": "Errors", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 178, "end": 4417, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 191, "end": 195, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "span": { "start": 185, "end": 212, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 198, "end": 210, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 198, "end": 201, "ctxt": 0 }, "value": "foo", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 201, "end": 209, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 203, "end": 209, "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": 224, "end": 231, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "span": { "start": 218, "end": 261, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 247, "end": 259, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 247, "end": 250, "ctxt": 0 }, "value": "bar", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 250, "end": 258, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 252, "end": 258, "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": 240, "end": 244, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 273, "end": 281, "ctxt": 0 }, "value": "Derived2", "optional": false }, "declare": false, "span": { "start": 267, "end": 314, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 300, "end": 312, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 300, "end": 303, "ctxt": 0 }, "value": "baz", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 303, "end": 311, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 305, "end": 311, "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": 290, "end": 297, "ctxt": 0 }, "value": "Derived", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 326, "end": 338, "ctxt": 0 }, "value": "OtherDerived", "optional": false }, "declare": false, "span": { "start": 320, "end": 369, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 354, "end": 367, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 354, "end": 358, "ctxt": 0 }, "value": "bing", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 358, "end": 366, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 360, "end": 366, "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": 347, "end": 351, "ctxt": 0 }, "value": "Base", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 394, "end": 398, "ctxt": 0 }, "value": "foo2", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 399, "end": 426, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 399, "end": 426, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 401, "end": 426, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 403, "end": 426, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 404, "end": 413, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 405, "end": 413, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 407, "end": 413, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 415, "end": 426, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 418, "end": 426, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 418, "end": 424, "ctxt": 0 }, "kind": "string" } } } } } } } ], "decorators": [], "span": { "start": 377, "end": 439, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 427, "end": 438, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 429, "end": 438, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 436, "end": 438, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 462, "end": 466, "ctxt": 0 }, "value": "foo2", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 467, "end": 474, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 467, "end": 474, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 469, "end": 474, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 471, "end": 474, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 445, "end": 481, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 475, "end": 480, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 477, "end": 480, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 506, "end": 510, "ctxt": 0 }, "value": "foo7", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 511, "end": 567, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 511, "end": 567, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 513, "end": 567, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 515, "end": 567, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 516, "end": 541, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 517, "end": 541, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 519, "end": 541, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 520, "end": 529, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 523, "end": 529, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 525, "end": 529, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 525, "end": 529, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 531, "end": 541, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 534, "end": 541, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 534, "end": 541, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 543, "end": 567, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 546, "end": 567, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 547, "end": 554, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 548, "end": 554, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 550, "end": 554, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 550, "end": 554, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 567, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 559, "end": 567, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 559, "end": 567, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } } } } } } } } ], "decorators": [], "span": { "start": 489, "end": 580, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 568, "end": 579, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 570, "end": 579, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 577, "end": 579, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 603, "end": 607, "ctxt": 0 }, "value": "foo7", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 608, "end": 615, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 608, "end": 615, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 610, "end": 615, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 612, "end": 615, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 586, "end": 622, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 616, "end": 621, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 618, "end": 621, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 647, "end": 651, "ctxt": 0 }, "value": "foo8", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 652, "end": 735, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 652, "end": 735, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 654, "end": 735, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 656, "end": 735, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 657, "end": 682, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 658, "end": 682, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 660, "end": 682, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 661, "end": 670, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 664, "end": 670, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 666, "end": 670, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 666, "end": 670, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 672, "end": 682, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 675, "end": 682, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 675, "end": 682, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 684, "end": 710, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 685, "end": 710, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 687, "end": 710, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 688, "end": 698, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 692, "end": 698, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 694, "end": 698, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 694, "end": 698, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 700, "end": 710, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 703, "end": 710, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 703, "end": 710, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 712, "end": 735, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 715, "end": 735, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 716, "end": 723, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 717, "end": 723, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 719, "end": 723, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 719, "end": 723, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 725, "end": 735, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 728, "end": 735, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 728, "end": 735, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } } } } ], "decorators": [], "span": { "start": 630, "end": 748, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 736, "end": 747, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 738, "end": 747, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 745, "end": 747, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 771, "end": 775, "ctxt": 0 }, "value": "foo8", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 776, "end": 783, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 776, "end": 783, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 778, "end": 783, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 780, "end": 783, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 754, "end": 790, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 784, "end": 789, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 786, "end": 789, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 815, "end": 820, "ctxt": 0 }, "value": "foo10", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 821, "end": 847, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 821, "end": 847, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 823, "end": 847, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 825, "end": 847, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 826, "end": 838, "ctxt": 0 }, "rest": { "start": 826, "end": 829, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 829, "end": 830, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 830, "end": 838, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 832, "end": 838, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 832, "end": 836, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 832, "end": 836, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 840, "end": 847, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 843, "end": 847, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 843, "end": 847, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } } } ], "decorators": [], "span": { "start": 798, "end": 860, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 848, "end": 859, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 850, "end": 859, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 857, "end": 859, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 883, "end": 888, "ctxt": 0 }, "value": "foo10", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 889, "end": 896, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 889, "end": 896, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 891, "end": 896, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 893, "end": 896, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 866, "end": 903, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 897, "end": 902, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 899, "end": 902, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 928, "end": 933, "ctxt": 0 }, "value": "foo11", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 934, "end": 999, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 934, "end": 999, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 936, "end": 999, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 938, "end": 999, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 939, "end": 957, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 940, "end": 957, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 942, "end": 957, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 944, "end": 955, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 944, "end": 947, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 947, "end": 955, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 949, "end": 955, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, { "type": "Identifier", "span": { "start": 959, "end": 990, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 960, "end": 990, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 962, "end": 990, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 964, "end": 976, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 964, "end": 967, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 967, "end": 975, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 969, "end": 975, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 977, "end": 988, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 977, "end": 980, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 980, "end": 988, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 982, "end": 988, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 992, "end": 999, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 995, "end": 999, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 995, "end": 999, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } } } ], "decorators": [], "span": { "start": 911, "end": 1012, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1000, "end": 1011, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1002, "end": 1011, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1009, "end": 1011, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1035, "end": 1040, "ctxt": 0 }, "value": "foo11", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1041, "end": 1048, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1041, "end": 1048, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1043, "end": 1048, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1045, "end": 1048, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 1018, "end": 1055, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1049, "end": 1054, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1051, "end": 1054, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1080, "end": 1085, "ctxt": 0 }, "value": "foo12", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1086, "end": 1144, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1086, "end": 1144, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1088, "end": 1144, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1090, "end": 1144, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1091, "end": 1105, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1092, "end": 1105, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1094, "end": 1105, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1094, "end": 1099, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1099, "end": 1105, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1100, "end": 1104, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1100, "end": 1104, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 1107, "end": 1125, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1108, "end": 1125, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1110, "end": 1125, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1110, "end": 1115, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1115, "end": 1125, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1116, "end": 1124, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1116, "end": 1124, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1127, "end": 1144, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1130, "end": 1144, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1130, "end": 1135, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1135, "end": 1144, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1136, "end": 1143, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1136, "end": 1143, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } } } } } } ], "decorators": [], "span": { "start": 1063, "end": 1157, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1145, "end": 1156, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1147, "end": 1156, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1154, "end": 1156, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1180, "end": 1185, "ctxt": 0 }, "value": "foo12", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1186, "end": 1193, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1186, "end": 1193, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1188, "end": 1193, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1190, "end": 1193, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 1163, "end": 1200, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1194, "end": 1199, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1196, "end": 1199, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1225, "end": 1230, "ctxt": 0 }, "value": "foo15", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1231, "end": 1274, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1231, "end": 1274, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1233, "end": 1274, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1235, "end": 1274, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1236, "end": 1263, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1237, "end": 1263, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1239, "end": 1263, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1241, "end": 1251, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1241, "end": 1242, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1242, "end": 1250, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1244, "end": 1250, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1252, "end": 1261, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1252, "end": 1253, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1253, "end": 1261, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1255, "end": 1261, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1265, "end": 1274, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1268, "end": 1274, "ctxt": 0 }, "kind": "number" } } } } } } ], "decorators": [], "span": { "start": 1208, "end": 1287, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1275, "end": 1286, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1277, "end": 1286, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1284, "end": 1286, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1310, "end": 1315, "ctxt": 0 }, "value": "foo15", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1316, "end": 1323, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1316, "end": 1323, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1318, "end": 1323, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1320, "end": 1323, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 1293, "end": 1330, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1324, "end": 1329, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1326, "end": 1329, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1355, "end": 1360, "ctxt": 0 }, "value": "foo16", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1361, "end": 1691, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1361, "end": 1691, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1363, "end": 1691, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1365, "end": 1691, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1475, "end": 1572, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1476, "end": 1560, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1477, "end": 1560, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1479, "end": 1560, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1494, "end": 1514, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1495, "end": 1504, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1496, "end": 1504, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1498, "end": 1504, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1505, "end": 1513, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1507, "end": 1513, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1528, "end": 1549, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1529, "end": 1539, "ctxt": 0 }, "value": "a", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1531, "end": 1539, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1533, "end": 1539, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1540, "end": 1548, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1542, "end": 1548, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1561, "end": 1571, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1563, "end": 1571, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1563, "end": 1569, "ctxt": 0 }, "kind": "number" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1582, "end": 1684, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1583, "end": 1671, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1584, "end": 1671, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1586, "end": 1671, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1601, "end": 1623, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1602, "end": 1612, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1603, "end": 1612, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1605, "end": 1612, "ctxt": 0 }, "kind": "boolean" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1613, "end": 1622, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1615, "end": 1622, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1637, "end": 1660, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1638, "end": 1649, "ctxt": 0 }, "value": "a", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1640, "end": 1649, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1642, "end": 1649, "ctxt": 0 }, "kind": "boolean" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1650, "end": 1659, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1652, "end": 1659, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1672, "end": 1683, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1674, "end": 1683, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1674, "end": 1681, "ctxt": 0 }, "kind": "boolean" } } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 1338, "end": 1704, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1692, "end": 1703, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1694, "end": 1703, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1701, "end": 1703, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1727, "end": 1732, "ctxt": 0 }, "value": "foo16", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1733, "end": 1740, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1733, "end": 1740, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1735, "end": 1740, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1737, "end": 1740, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 1710, "end": 1747, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1741, "end": 1746, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1743, "end": 1746, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1772, "end": 1777, "ctxt": 0 }, "value": "foo17", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1778, "end": 2027, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1778, "end": 2027, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1780, "end": 2027, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1782, "end": 2027, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1793, "end": 1901, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1794, "end": 1892, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1795, "end": 1892, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1797, "end": 1892, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1812, "end": 1841, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1832, "end": 1836, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1833, "end": 1836, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1835, "end": 1836, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1835, "end": 1836, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1837, "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 } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1812, "end": 1831, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1813, "end": 1830, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1813, "end": 1814, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1823, "end": 1830, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1823, "end": 1830, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] } }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1855, "end": 1881, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1872, "end": 1876, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1873, "end": 1876, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1875, "end": 1876, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1875, "end": 1876, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1877, "end": 1880, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1879, "end": 1880, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1879, "end": 1880, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1855, "end": 1871, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1856, "end": 1870, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1856, "end": 1857, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1866, "end": 1870, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1866, "end": 1870, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] } } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1893, "end": 1900, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1895, "end": 1900, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 1895, "end": 1898, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1911, "end": 2020, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1912, "end": 2011, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1913, "end": 2011, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1915, "end": 2011, "ctxt": 0 }, "members": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 1930, "end": 1960, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1951, "end": 1955, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1952, "end": 1955, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1954, "end": 1955, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1954, "end": 1955, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1956, "end": 1959, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1958, "end": 1959, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1958, "end": 1959, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1930, "end": 1950, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1931, "end": 1949, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1931, "end": 1932, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1941, "end": 1949, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1941, "end": 1949, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null }, "default": null } ] } }, { "type": "TsCallSignatureDeclaration", "span": { "start": 1974, "end": 2000, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1991, "end": 1995, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1992, "end": 1995, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1994, "end": 1995, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1994, "end": 1995, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1996, "end": 1999, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1998, "end": 1999, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1998, "end": 1999, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1974, "end": 1990, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1975, "end": 1989, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1975, "end": 1976, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1985, "end": 1989, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1985, "end": 1989, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] } } ] } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2012, "end": 2019, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2014, "end": 2019, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 2014, "end": 2017, "ctxt": 0 }, "kind": "any" } } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 1755, "end": 2040, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2028, "end": 2039, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 2030, "end": 2039, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 2037, "end": 2039, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2063, "end": 2068, "ctxt": 0 }, "value": "foo17", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 2069, "end": 2076, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2069, "end": 2076, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2071, "end": 2076, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2073, "end": 2076, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 2046, "end": 2083, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2077, "end": 2082, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2079, "end": 2082, "ctxt": 0 }, "kind": "any" } } }, { "type": "VariableDeclaration", "span": { "start": 2091, "end": 2132, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2095, "end": 2131, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2095, "end": 2097, "ctxt": 0 }, "value": "r1", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 2100, "end": 2131, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2100, "end": 2104, "ctxt": 0 }, "value": "foo2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2105, "end": 2130, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2112, "end": 2116, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2113, "end": 2116, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2115, "end": 2116, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2115, "end": 2116, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2121, "end": 2130, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2126, "end": 2130, "ctxt": 0 } }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2122, "end": 2125, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2122, "end": 2123, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2122, "end": 2123, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2105, "end": 2111, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2106, "end": 2107, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2106, "end": 2107, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2109, "end": 2110, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2109, "end": 2110, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2145, "end": 2204, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2149, "end": 2203, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2149, "end": 2152, "ctxt": 0 }, "value": "r1a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2155, "end": 2203, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2156, "end": 2175, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2157, "end": 2166, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2158, "end": 2166, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2160, "end": 2166, "ctxt": 0 }, "kind": "number" } } } ], "body": { "type": "ArrayExpression", "span": { "start": 2171, "end": 2175, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2172, "end": 2174, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2177, "end": 2202, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2184, "end": 2188, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2185, "end": 2188, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2187, "end": 2188, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2187, "end": 2188, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2193, "end": 2202, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2198, "end": 2202, "ctxt": 0 } }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2194, "end": 2197, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2194, "end": 2195, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2194, "end": 2195, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2177, "end": 2183, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2178, "end": 2179, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2178, "end": 2179, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2181, "end": 2182, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2181, "end": 2182, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2210, "end": 2269, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2214, "end": 2268, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2214, "end": 2217, "ctxt": 0 }, "value": "r1b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2220, "end": 2268, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2221, "end": 2246, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2228, "end": 2232, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2229, "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": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2237, "end": 2246, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2242, "end": 2246, "ctxt": 0 } }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2238, "end": 2241, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2238, "end": 2239, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2238, "end": 2239, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2221, "end": 2227, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2222, "end": 2223, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2222, "end": 2223, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2225, "end": 2226, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2225, "end": 2226, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2248, "end": 2267, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2249, "end": 2258, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2250, "end": 2258, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2252, "end": 2258, "ctxt": 0 }, "kind": "number" } } } ], "body": { "type": "ArrayExpression", "span": { "start": 2263, "end": 2267, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2264, "end": 2266, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2277, "end": 2384, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2281, "end": 2383, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2281, "end": 2286, "ctxt": 0 }, "value": "r2arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2289, "end": 2383, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2345, "end": 2361, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2346, "end": 2361, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2348, "end": 2361, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2349, "end": 2355, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2352, "end": 2355, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2354, "end": 2355, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2354, "end": 2355, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2357, "end": 2361, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2360, "end": 2361, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2360, "end": 2361, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "ArrowFunctionExpression", "span": { "start": 2366, "end": 2383, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2367, "end": 2371, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2368, "end": 2371, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2370, "end": 2371, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2370, "end": 2371, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2376, "end": 2383, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2379, "end": 2383, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2377, "end": 2378, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2377, "end": 2378, "ctxt": 0 }, "value": "V", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2289, "end": 2344, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2290, "end": 2304, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2290, "end": 2291, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2300, "end": 2304, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2300, "end": 2304, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2306, "end": 2323, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2306, "end": 2307, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2316, "end": 2323, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2316, "end": 2323, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2325, "end": 2343, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2325, "end": 2326, "ctxt": 0 }, "value": "V", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2335, "end": 2343, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2335, "end": 2343, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2390, "end": 2462, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2394, "end": 2461, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2394, "end": 2400, "ctxt": 0 }, "value": "r2arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2403, "end": 2461, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2404, "end": 2429, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2405, "end": 2429, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2407, "end": 2429, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2408, "end": 2417, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2411, "end": 2417, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2413, "end": 2417, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2413, "end": 2417, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2419, "end": 2429, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2422, "end": 2429, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2422, "end": 2429, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "ArrowFunctionExpression", "span": { "start": 2434, "end": 2461, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2435, "end": 2442, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2436, "end": 2442, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2438, "end": 2442, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2438, "end": 2442, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2447, "end": 2461, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2457, "end": 2461, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2448, "end": 2456, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2448, "end": 2456, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2468, "end": 2489, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2472, "end": 2488, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2472, "end": 2474, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 2477, "end": 2488, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2477, "end": 2481, "ctxt": 0 }, "value": "foo7", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2482, "end": 2487, "ctxt": 0 }, "value": "r2arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2502, "end": 2528, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2506, "end": 2527, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2506, "end": 2509, "ctxt": 0 }, "value": "r2a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2512, "end": 2527, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2513, "end": 2519, "ctxt": 0 }, "value": "r2arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2521, "end": 2526, "ctxt": 0 }, "value": "r2arg", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2534, "end": 2560, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2538, "end": 2559, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2538, "end": 2541, "ctxt": 0 }, "value": "r2b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2544, "end": 2559, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2545, "end": 2550, "ctxt": 0 }, "value": "r2arg", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2552, "end": 2558, "ctxt": 0 }, "value": "r2arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2568, "end": 2689, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2572, "end": 2688, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2572, "end": 2577, "ctxt": 0 }, "value": "r3arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2580, "end": 2688, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2616, "end": 2632, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2617, "end": 2632, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2619, "end": 2632, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2620, "end": 2626, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2623, "end": 2626, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2625, "end": 2626, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2625, "end": 2626, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2628, "end": 2632, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2631, "end": 2632, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2631, "end": 2632, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2634, "end": 2666, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2635, "end": 2666, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2637, "end": 2666, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2638, "end": 2660, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2642, "end": 2660, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2644, "end": 2660, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2646, "end": 2658, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2646, "end": 2649, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2649, "end": 2657, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2651, "end": 2657, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2662, "end": 2666, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2665, "end": 2666, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2665, "end": 2666, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "ArrowFunctionExpression", "span": { "start": 2671, "end": 2688, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2672, "end": 2676, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2673, "end": 2676, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2675, "end": 2676, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2675, "end": 2676, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2681, "end": 2688, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2684, "end": 2688, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2682, "end": 2683, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2682, "end": 2683, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2580, "end": 2615, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2581, "end": 2595, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2581, "end": 2582, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2591, "end": 2595, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2591, "end": 2595, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2597, "end": 2614, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2597, "end": 2598, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2607, "end": 2614, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2607, "end": 2614, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2695, "end": 2794, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2699, "end": 2793, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2699, "end": 2705, "ctxt": 0 }, "value": "r3arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2708, "end": 2793, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2709, "end": 2734, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2710, "end": 2734, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2712, "end": 2734, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2713, "end": 2722, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2716, "end": 2722, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2718, "end": 2722, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2718, "end": 2722, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2724, "end": 2734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2727, "end": 2734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2727, "end": 2734, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } }, { "type": "Identifier", "span": { "start": 2736, "end": 2762, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2737, "end": 2762, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2739, "end": 2762, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2740, "end": 2750, "ctxt": 0 }, "value": "arg2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2744, "end": 2750, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2746, "end": 2750, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2746, "end": 2750, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2752, "end": 2762, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2755, "end": 2762, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2755, "end": 2762, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "ArrowFunctionExpression", "span": { "start": 2767, "end": 2793, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2768, "end": 2775, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2769, "end": 2775, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2771, "end": 2775, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2771, "end": 2775, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2780, "end": 2793, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2789, "end": 2793, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2781, "end": 2788, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2781, "end": 2788, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2800, "end": 2821, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2804, "end": 2820, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2804, "end": 2806, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 2809, "end": 2820, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2809, "end": 2813, "ctxt": 0 }, "value": "foo8", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2814, "end": 2819, "ctxt": 0 }, "value": "r3arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2834, "end": 2860, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2838, "end": 2859, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2838, "end": 2841, "ctxt": 0 }, "value": "r3a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2844, "end": 2859, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2845, "end": 2851, "ctxt": 0 }, "value": "r3arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2853, "end": 2858, "ctxt": 0 }, "value": "r3arg", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2866, "end": 2892, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2870, "end": 2891, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2870, "end": 2873, "ctxt": 0 }, "value": "r3b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 2876, "end": 2891, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2877, "end": 2882, "ctxt": 0 }, "value": "r3arg", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2884, "end": 2890, "ctxt": 0 }, "value": "r3arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2900, "end": 2954, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2904, "end": 2953, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2904, "end": 2909, "ctxt": 0 }, "value": "r4arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2912, "end": 2953, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 2932, "end": 2941, "ctxt": 0 }, "rest": { "start": 2932, "end": 2935, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2935, "end": 2936, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2936, "end": 2941, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2938, "end": 2941, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2938, "end": 2939, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2938, "end": 2939, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2946, "end": 2953, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2949, "end": 2953, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2947, "end": 2948, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2947, "end": 2948, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2912, "end": 2931, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2913, "end": 2930, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2913, "end": 2914, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2923, "end": 2930, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2923, "end": 2930, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2960, "end": 3002, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2964, "end": 3001, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2964, "end": 2970, "ctxt": 0 }, "value": "r4arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2973, "end": 3001, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 2974, "end": 2986, "ctxt": 0 }, "rest": { "start": 2974, "end": 2977, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2977, "end": 2978, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2978, "end": 2986, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2980, "end": 2986, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2980, "end": 2984, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2980, "end": 2984, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 2991, "end": 3001, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2997, "end": 3001, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2992, "end": 2996, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2992, "end": 2996, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3008, "end": 3030, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3012, "end": 3029, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3012, "end": 3014, "ctxt": 0 }, "value": "r4", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 3017, "end": 3029, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3017, "end": 3022, "ctxt": 0 }, "value": "foo10", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3023, "end": 3028, "ctxt": 0 }, "value": "r4arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3043, "end": 3069, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3047, "end": 3068, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3047, "end": 3050, "ctxt": 0 }, "value": "r4a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3053, "end": 3068, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3054, "end": 3060, "ctxt": 0 }, "value": "r4arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3062, "end": 3067, "ctxt": 0 }, "value": "r4arg", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3075, "end": 3101, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3079, "end": 3100, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3079, "end": 3082, "ctxt": 0 }, "value": "r4b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3085, "end": 3100, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3086, "end": 3091, "ctxt": 0 }, "value": "r4arg", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3093, "end": 3099, "ctxt": 0 }, "value": "r4arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3109, "end": 3164, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3113, "end": 3163, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3113, "end": 3118, "ctxt": 0 }, "value": "r5arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3121, "end": 3163, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3141, "end": 3145, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3142, "end": 3145, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3144, "end": 3145, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3144, "end": 3145, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3147, "end": 3151, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3148, "end": 3151, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3150, "end": 3151, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3150, "end": 3151, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 3156, "end": 3163, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3159, "end": 3163, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3157, "end": 3158, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3157, "end": 3158, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3121, "end": 3140, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3122, "end": 3139, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3122, "end": 3123, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 3132, "end": 3139, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3132, "end": 3139, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3170, "end": 3251, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3174, "end": 3250, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3174, "end": 3180, "ctxt": 0 }, "value": "r5arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3183, "end": 3250, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3184, "end": 3202, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3185, "end": 3202, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3187, "end": 3202, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3189, "end": 3200, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3189, "end": 3192, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3192, "end": 3200, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3194, "end": 3200, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, { "type": "Identifier", "span": { "start": 3204, "end": 3235, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3205, "end": 3235, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3207, "end": 3235, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3209, "end": 3221, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3209, "end": 3212, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3212, "end": 3220, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3214, "end": 3220, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3222, "end": 3233, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3222, "end": 3225, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3225, "end": 3233, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3227, "end": 3233, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 3240, "end": 3250, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3246, "end": 3250, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3241, "end": 3245, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3241, "end": 3245, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3257, "end": 3279, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3261, "end": 3278, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3261, "end": 3263, "ctxt": 0 }, "value": "r5", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 3266, "end": 3278, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3266, "end": 3271, "ctxt": 0 }, "value": "foo11", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3272, "end": 3277, "ctxt": 0 }, "value": "r5arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3292, "end": 3318, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3296, "end": 3317, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3296, "end": 3299, "ctxt": 0 }, "value": "r5a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3302, "end": 3317, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3303, "end": 3309, "ctxt": 0 }, "value": "r5arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3311, "end": 3316, "ctxt": 0 }, "value": "r5arg", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3324, "end": 3350, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3328, "end": 3349, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3328, "end": 3331, "ctxt": 0 }, "value": "r5b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3334, "end": 3349, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3335, "end": 3340, "ctxt": 0 }, "value": "r5arg", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3342, "end": 3348, "ctxt": 0 }, "value": "r5arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3358, "end": 3431, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3362, "end": 3430, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3362, "end": 3367, "ctxt": 0 }, "value": "r6arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3370, "end": 3430, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3371, "end": 3385, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3372, "end": 3385, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3374, "end": 3385, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3374, "end": 3379, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3379, "end": 3385, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3380, "end": 3384, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3380, "end": 3384, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 3387, "end": 3405, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3388, "end": 3405, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3390, "end": 3405, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3390, "end": 3395, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3395, "end": 3405, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3396, "end": 3404, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3396, "end": 3404, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 3410, "end": 3430, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3426, "end": 3430, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3411, "end": 3425, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3411, "end": 3416, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3416, "end": 3425, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3417, "end": 3424, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3417, "end": 3424, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } ] } } }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3437, "end": 3521, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3441, "end": 3520, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3441, "end": 3447, "ctxt": 0 }, "value": "r6arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3450, "end": 3520, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3478, "end": 3492, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3479, "end": 3492, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3481, "end": 3492, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3481, "end": 3486, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3486, "end": 3492, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3487, "end": 3491, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3487, "end": 3491, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } }, { "type": "Identifier", "span": { "start": 3494, "end": 3508, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3495, "end": 3508, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3497, "end": 3508, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3497, "end": 3502, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3502, "end": 3508, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3503, "end": 3507, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3503, "end": 3507, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } ] } } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 3513, "end": 3520, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3516, "end": 3520, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3514, "end": 3515, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3514, "end": 3515, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3450, "end": 3477, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3451, "end": 3476, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3451, "end": 3452, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 3461, "end": 3476, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3461, "end": 3466, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3466, "end": 3476, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3467, "end": 3475, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3467, "end": 3475, "ctxt": 0 }, "value": "Derived2", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3527, "end": 3549, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3531, "end": 3548, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3531, "end": 3533, "ctxt": 0 }, "value": "r6", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 3536, "end": 3548, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3536, "end": 3541, "ctxt": 0 }, "value": "foo12", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3542, "end": 3547, "ctxt": 0 }, "value": "r6arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3613, "end": 3639, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3617, "end": 3638, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3617, "end": 3620, "ctxt": 0 }, "value": "r6a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3623, "end": 3638, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3624, "end": 3630, "ctxt": 0 }, "value": "r6arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3632, "end": 3637, "ctxt": 0 }, "value": "r6arg", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3645, "end": 3671, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3649, "end": 3670, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3649, "end": 3652, "ctxt": 0 }, "value": "r6b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3655, "end": 3670, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3656, "end": 3661, "ctxt": 0 }, "value": "r6arg", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3663, "end": 3669, "ctxt": 0 }, "value": "r6arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3679, "end": 3725, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3683, "end": 3724, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3683, "end": 3688, "ctxt": 0 }, "value": "r7arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3691, "end": 3724, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3695, "end": 3712, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3696, "end": 3712, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3698, "end": 3712, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3700, "end": 3705, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3700, "end": 3701, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3701, "end": 3704, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3703, "end": 3704, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3703, "end": 3704, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3706, "end": 3710, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3706, "end": 3707, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3707, "end": 3710, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3709, "end": 3710, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3709, "end": 3710, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 3717, "end": 3724, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3720, "end": 3724, "ctxt": 0 } }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3718, "end": 3719, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3718, "end": 3719, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3691, "end": 3694, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3692, "end": 3693, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3692, "end": 3693, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3731, "end": 3779, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3735, "end": 3778, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3735, "end": 3741, "ctxt": 0 }, "value": "r7arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3744, "end": 3778, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3745, "end": 3772, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3746, "end": 3772, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3748, "end": 3772, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3750, "end": 3760, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3750, "end": 3751, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3751, "end": 3759, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3753, "end": 3759, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3761, "end": 3770, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3761, "end": 3762, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3762, "end": 3770, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3764, "end": 3770, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } ], "body": { "type": "NumericLiteral", "span": { "start": 3777, "end": 3778, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3785, "end": 3807, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3789, "end": 3806, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3789, "end": 3791, "ctxt": 0 }, "value": "r7", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 3794, "end": 3806, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3794, "end": 3799, "ctxt": 0 }, "value": "foo15", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3800, "end": 3805, "ctxt": 0 }, "value": "r7arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3820, "end": 3846, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3824, "end": 3845, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3824, "end": 3827, "ctxt": 0 }, "value": "r7a", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3830, "end": 3845, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3831, "end": 3837, "ctxt": 0 }, "value": "r7arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3839, "end": 3844, "ctxt": 0 }, "value": "r7arg", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3852, "end": 3878, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3856, "end": 3877, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3856, "end": 3859, "ctxt": 0 }, "value": "r7b", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 3862, "end": 3877, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3863, "end": 3868, "ctxt": 0 }, "value": "r7arg", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3870, "end": 3876, "ctxt": 0 }, "value": "r7arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3886, "end": 3940, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3890, "end": 3939, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3890, "end": 3896, "ctxt": 0 }, "value": "r7arg3", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 3899, "end": 3939, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3916, "end": 3933, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3917, "end": 3933, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3919, "end": 3933, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3921, "end": 3926, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3921, "end": 3922, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3922, "end": 3925, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3924, "end": 3925, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3924, "end": 3925, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3927, "end": 3931, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3927, "end": 3928, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3928, "end": 3931, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3930, "end": 3931, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3930, "end": 3931, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } } ], "body": { "type": "NumericLiteral", "span": { "start": 3938, "end": 3939, "ctxt": 0 }, "value": 1.0 }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3899, "end": 3915, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3900, "end": 3914, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3900, "end": 3901, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 3910, "end": 3914, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3910, "end": 3914, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3946, "end": 3970, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3950, "end": 3969, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3950, "end": 3953, "ctxt": 0 }, "value": "r7c", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 3956, "end": 3969, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3956, "end": 3961, "ctxt": 0 }, "value": "foo15", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 3962, "end": 3968, "ctxt": 0 }, "value": "r7arg3", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4029, "end": 4056, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4033, "end": 4055, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4033, "end": 4036, "ctxt": 0 }, "value": "r7d", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 4039, "end": 4055, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4040, "end": 4046, "ctxt": 0 }, "value": "r7arg2", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4048, "end": 4054, "ctxt": 0 }, "value": "r7arg3", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4062, "end": 4089, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4066, "end": 4088, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4066, "end": 4069, "ctxt": 0 }, "value": "r7e", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 4072, "end": 4088, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4073, "end": 4079, "ctxt": 0 }, "value": "r7arg3", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4081, "end": 4087, "ctxt": 0 }, "value": "r7arg2", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4097, "end": 4142, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4101, "end": 4141, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4101, "end": 4106, "ctxt": 0 }, "value": "r8arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 4109, "end": 4141, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4113, "end": 4127, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4114, "end": 4127, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4116, "end": 4127, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4117, "end": 4121, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4118, "end": 4121, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4120, "end": 4121, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4120, "end": 4121, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4123, "end": 4127, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4126, "end": 4127, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4126, "end": 4127, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 4132, "end": 4141, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 4137, "end": 4141, "ctxt": 0 } }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 4133, "end": 4136, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 4133, "end": 4134, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4133, "end": 4134, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4109, "end": 4112, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4110, "end": 4111, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4110, "end": 4111, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4148, "end": 4170, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4152, "end": 4169, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4152, "end": 4154, "ctxt": 0 }, "value": "r8", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 4157, "end": 4169, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4157, "end": 4162, "ctxt": 0 }, "value": "foo16", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4163, "end": 4168, "ctxt": 0 }, "value": "r8arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4185, "end": 4232, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4189, "end": 4231, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4189, "end": 4194, "ctxt": 0 }, "value": "r9arg", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 4197, "end": 4231, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4201, "end": 4215, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4202, "end": 4215, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4204, "end": 4215, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4205, "end": 4209, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4206, "end": 4209, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4208, "end": 4209, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4208, "end": 4209, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4211, "end": 4215, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4214, "end": 4215, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4214, "end": 4215, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 4220, "end": 4231, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 4227, "end": 4231, "ctxt": 0 } }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 4221, "end": 4226, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 4221, "end": 4224, "ctxt": 0 }, "kind": "any" } } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4197, "end": 4200, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4198, "end": 4199, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4198, "end": 4199, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4238, "end": 4260, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4242, "end": 4259, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4242, "end": 4244, "ctxt": 0 }, "value": "r9", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 4247, "end": 4259, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4247, "end": 4252, "ctxt": 0 }, "value": "foo17", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4253, "end": 4258, "ctxt": 0 }, "value": "r9arg", "optional": false } } ], "typeArguments": null }, "definite": false } ] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 4421, "end": 4885, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 4428, "end": 4459, "ctxt": 0 }, "value": "WithGenericSignaturesInBaseType", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 4460, "end": 4885, "ctxt": 0 }, "body": [ { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4484, "end": 4488, "ctxt": 0 }, "value": "foo2", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 4489, "end": 4509, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4489, "end": 4509, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4491, "end": 4509, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4493, "end": 4509, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4497, "end": 4501, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4498, "end": 4501, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4500, "end": 4501, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4500, "end": 4501, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4493, "end": 4496, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4494, "end": 4495, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4494, "end": 4495, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4503, "end": 4509, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 4506, "end": 4509, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 4506, "end": 4507, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4506, "end": 4507, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } } } ], "decorators": [], "span": { "start": 4467, "end": 4522, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 4510, "end": 4521, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 4512, "end": 4521, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 4519, "end": 4521, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4545, "end": 4549, "ctxt": 0 }, "value": "foo2", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 4550, "end": 4557, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4550, "end": 4557, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4552, "end": 4557, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4554, "end": 4557, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 4528, "end": 4564, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 4558, "end": 4563, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4560, "end": 4563, "ctxt": 0 }, "kind": "any" } } }, { "type": "VariableDeclaration", "span": { "start": 4570, "end": 4601, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4574, "end": 4600, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4574, "end": 4580, "ctxt": 0 }, "value": "r2arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 4583, "end": 4600, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4587, "end": 4591, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4588, "end": 4591, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4590, "end": 4591, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4590, "end": 4591, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "ArrayExpression", "span": { "start": 4596, "end": 4600, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 4597, "end": 4599, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4583, "end": 4586, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4584, "end": 4585, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4584, "end": 4585, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4607, "end": 4629, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4611, "end": 4628, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4611, "end": 4613, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 4616, "end": 4628, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4616, "end": 4620, "ctxt": 0 }, "value": "foo2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4621, "end": 4627, "ctxt": 0 }, "value": "r2arg2", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4720, "end": 4724, "ctxt": 0 }, "value": "foo3", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 4725, "end": 4750, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4725, "end": 4750, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4727, "end": 4750, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4729, "end": 4750, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4733, "end": 4737, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4734, "end": 4737, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4736, "end": 4737, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4736, "end": 4737, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4729, "end": 4732, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4730, "end": 4731, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4730, "end": 4731, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4739, "end": 4750, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 4742, "end": 4750, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 4742, "end": 4748, "ctxt": 0 }, "kind": "string" } } } } } } } ], "decorators": [], "span": { "start": 4703, "end": 4763, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 4751, "end": 4762, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 4753, "end": 4762, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 4760, "end": 4762, "ctxt": 0 }, "value": "a2", "optional": false } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4786, "end": 4790, "ctxt": 0 }, "value": "foo3", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 4791, "end": 4798, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4791, "end": 4798, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4793, "end": 4798, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4795, "end": 4798, "ctxt": 0 }, "kind": "any" } } } } ], "decorators": [], "span": { "start": 4769, "end": 4805, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 4799, "end": 4804, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4801, "end": 4804, "ctxt": 0 }, "kind": "any" } } }, { "type": "VariableDeclaration", "span": { "start": 4811, "end": 4847, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4815, "end": 4846, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4815, "end": 4821, "ctxt": 0 }, "value": "r3arg2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 4824, "end": 4846, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4828, "end": 4832, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4829, "end": 4832, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4831, "end": 4832, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4831, "end": 4832, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "body": { "type": "TsTypeAssertion", "span": { "start": 4837, "end": 4846, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 4842, "end": 4846, "ctxt": 0 } }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 4838, "end": 4841, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 4838, "end": 4839, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4838, "end": 4839, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "async": false, "generator": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 4824, "end": 4827, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4825, "end": 4826, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4825, "end": 4826, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4853, "end": 4875, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4857, "end": 4874, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4857, "end": 4859, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 4862, "end": 4874, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 4862, "end": 4866, "ctxt": 0 }, "value": "foo3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4867, "end": 4873, "ctxt": 0 }, "value": "r3arg2", "optional": false } } ], "typeArguments": null }, "definite": false } ] } ] } } ], "interpreter": null }