swc/crates/swc_ecma_parser/tests/tsc/subtypingWithCallSignatures2.json

16124 lines
461 KiB
JSON

{
"type": "Script",
"span": {
"start": 102,
"end": 6102,
"ctxt": 0
},
"body": [
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 108,
"end": 112,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"declare": false,
"span": {
"start": 102,
"end": 129,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 115,
"end": 127,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 115,
"end": 118,
"ctxt": 0
},
"value": "foo",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 118,
"end": 126,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 120,
"end": 126,
"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": 136,
"end": 143,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"declare": false,
"span": {
"start": 130,
"end": 173,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 159,
"end": 171,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 159,
"end": 162,
"ctxt": 0
},
"value": "bar",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 162,
"end": 170,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 164,
"end": 170,
"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": 152,
"end": 156,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 180,
"end": 188,
"ctxt": 0
},
"value": "Derived2",
"optional": false
},
"declare": false,
"span": {
"start": 174,
"end": 221,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 207,
"end": 219,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 207,
"end": 210,
"ctxt": 0
},
"value": "baz",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 210,
"end": 218,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 212,
"end": 218,
"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": 197,
"end": 204,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 228,
"end": 240,
"ctxt": 0
},
"value": "OtherDerived",
"optional": false
},
"declare": false,
"span": {
"start": 222,
"end": 271,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 256,
"end": 269,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 256,
"end": 260,
"ctxt": 0
},
"value": "bing",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 260,
"end": 268,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 262,
"end": 268,
"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": 249,
"end": 253,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 290,
"end": 294,
"ctxt": 0
},
"value": "foo1",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 295,
"end": 321,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 295,
"end": 321,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 296,
"end": 321,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 298,
"end": 321,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 299,
"end": 308,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 300,
"end": 308,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 302,
"end": 308,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 310,
"end": 321,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 313,
"end": 321,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 313,
"end": 319,
"ctxt": 0
},
"kind": "number"
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 273,
"end": 333,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 322,
"end": 332,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 324,
"end": 332,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 331,
"end": 332,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 351,
"end": 355,
"ctxt": 0
},
"value": "foo1",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 356,
"end": 362,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 356,
"end": 362,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 357,
"end": 362,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 359,
"end": 362,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 334,
"end": 369,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 363,
"end": 368,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 365,
"end": 368,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 388,
"end": 392,
"ctxt": 0
},
"value": "foo2",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 393,
"end": 419,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 393,
"end": 419,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 394,
"end": 419,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 396,
"end": 419,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 397,
"end": 406,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 398,
"end": 406,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 400,
"end": 406,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 408,
"end": 419,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 411,
"end": 419,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 411,
"end": 417,
"ctxt": 0
},
"kind": "string"
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 371,
"end": 431,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 420,
"end": 430,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 422,
"end": 430,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 429,
"end": 430,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 449,
"end": 453,
"ctxt": 0
},
"value": "foo2",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 454,
"end": 460,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 454,
"end": 460,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 455,
"end": 460,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 457,
"end": 460,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 432,
"end": 467,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 461,
"end": 466,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 463,
"end": 466,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 486,
"end": 490,
"ctxt": 0
},
"value": "foo3",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 491,
"end": 513,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 491,
"end": 513,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 492,
"end": 513,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 494,
"end": 513,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 495,
"end": 504,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 496,
"end": 504,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 498,
"end": 504,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 506,
"end": 513,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 509,
"end": 513,
"ctxt": 0
},
"kind": "void"
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 469,
"end": 525,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 514,
"end": 524,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 516,
"end": 524,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 523,
"end": 524,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 543,
"end": 547,
"ctxt": 0
},
"value": "foo3",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 548,
"end": 554,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 548,
"end": 554,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 549,
"end": 554,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 551,
"end": 554,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 526,
"end": 561,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 555,
"end": 560,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 557,
"end": 560,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 580,
"end": 584,
"ctxt": 0
},
"value": "foo4",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 585,
"end": 620,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 585,
"end": 620,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 586,
"end": 620,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 588,
"end": 620,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 589,
"end": 598,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 590,
"end": 598,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 592,
"end": 598,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 600,
"end": 609,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 601,
"end": 609,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 603,
"end": 609,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 611,
"end": 620,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 614,
"end": 620,
"ctxt": 0
},
"kind": "string"
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 563,
"end": 632,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 621,
"end": 631,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 623,
"end": 631,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 630,
"end": 631,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 650,
"end": 654,
"ctxt": 0
},
"value": "foo4",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 655,
"end": 661,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 655,
"end": 661,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 656,
"end": 661,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 658,
"end": 661,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 633,
"end": 668,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 662,
"end": 667,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 664,
"end": 667,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 687,
"end": 691,
"ctxt": 0
},
"value": "foo5",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 692,
"end": 733,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 692,
"end": 733,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 693,
"end": 733,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 695,
"end": 733,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 696,
"end": 722,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 697,
"end": 722,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 699,
"end": 722,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 700,
"end": 711,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 703,
"end": 711,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 705,
"end": 711,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 713,
"end": 722,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 716,
"end": 722,
"ctxt": 0
},
"kind": "number"
}
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 724,
"end": 733,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 727,
"end": 733,
"ctxt": 0
},
"kind": "string"
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 670,
"end": 745,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 734,
"end": 744,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 736,
"end": 744,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 743,
"end": 744,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 763,
"end": 767,
"ctxt": 0
},
"value": "foo5",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 768,
"end": 774,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 768,
"end": 774,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 769,
"end": 774,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 771,
"end": 774,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 746,
"end": 781,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 775,
"end": 780,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 777,
"end": 780,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 800,
"end": 804,
"ctxt": 0
},
"value": "foo6",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 805,
"end": 843,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 805,
"end": 843,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 806,
"end": 843,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 808,
"end": 843,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 809,
"end": 834,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 810,
"end": 834,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 812,
"end": 834,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 813,
"end": 822,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 816,
"end": 822,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 818,
"end": 822,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 818,
"end": 822,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 824,
"end": 834,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 827,
"end": 834,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 827,
"end": 834,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 836,
"end": 843,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 839,
"end": 843,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 839,
"end": 843,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 783,
"end": 855,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 844,
"end": 854,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 846,
"end": 854,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 853,
"end": 854,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 873,
"end": 877,
"ctxt": 0
},
"value": "foo6",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 878,
"end": 884,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 878,
"end": 884,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 879,
"end": 884,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 881,
"end": 884,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 856,
"end": 891,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 885,
"end": 890,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 887,
"end": 890,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 910,
"end": 914,
"ctxt": 0
},
"value": "foo7",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 915,
"end": 969,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 915,
"end": 969,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 916,
"end": 969,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 918,
"end": 969,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 919,
"end": 944,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 920,
"end": 944,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 922,
"end": 944,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 923,
"end": 932,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 926,
"end": 932,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 928,
"end": 932,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 928,
"end": 932,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 934,
"end": 944,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 937,
"end": 944,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 937,
"end": 944,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 946,
"end": 969,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 949,
"end": 969,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 950,
"end": 957,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 951,
"end": 957,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 953,
"end": 957,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 953,
"end": 957,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 959,
"end": 969,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 962,
"end": 969,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 962,
"end": 969,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 893,
"end": 981,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 970,
"end": 980,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 972,
"end": 980,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 979,
"end": 980,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 999,
"end": 1003,
"ctxt": 0
},
"value": "foo7",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1004,
"end": 1010,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1004,
"end": 1010,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1005,
"end": 1010,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1007,
"end": 1010,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 982,
"end": 1017,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1011,
"end": 1016,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1013,
"end": 1016,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1036,
"end": 1040,
"ctxt": 0
},
"value": "foo8",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1041,
"end": 1123,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1041,
"end": 1123,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1042,
"end": 1123,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1044,
"end": 1123,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1045,
"end": 1070,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1046,
"end": 1070,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1048,
"end": 1070,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1049,
"end": 1058,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1052,
"end": 1058,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1054,
"end": 1058,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1054,
"end": 1058,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1060,
"end": 1070,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1063,
"end": 1070,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1063,
"end": 1070,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 1072,
"end": 1098,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1073,
"end": 1098,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1075,
"end": 1098,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1076,
"end": 1086,
"ctxt": 0
},
"value": "arg2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1080,
"end": 1086,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1082,
"end": 1086,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1082,
"end": 1086,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1088,
"end": 1098,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1091,
"end": 1098,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1091,
"end": 1098,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1100,
"end": 1123,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1103,
"end": 1123,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1104,
"end": 1111,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1105,
"end": 1111,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1107,
"end": 1111,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1107,
"end": 1111,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1113,
"end": 1123,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1116,
"end": 1123,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1116,
"end": 1123,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1019,
"end": 1135,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1124,
"end": 1134,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1126,
"end": 1134,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1133,
"end": 1134,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1153,
"end": 1157,
"ctxt": 0
},
"value": "foo8",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1158,
"end": 1164,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1158,
"end": 1164,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1159,
"end": 1164,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1161,
"end": 1164,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1136,
"end": 1171,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1165,
"end": 1170,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1167,
"end": 1170,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1190,
"end": 1194,
"ctxt": 0
},
"value": "foo9",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1195,
"end": 1277,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1195,
"end": 1277,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1196,
"end": 1277,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1198,
"end": 1277,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1199,
"end": 1224,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1200,
"end": 1224,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1202,
"end": 1224,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1203,
"end": 1212,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1206,
"end": 1212,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1208,
"end": 1212,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1208,
"end": 1212,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1214,
"end": 1224,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1217,
"end": 1224,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1217,
"end": 1224,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 1226,
"end": 1252,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1227,
"end": 1252,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1229,
"end": 1252,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1230,
"end": 1240,
"ctxt": 0
},
"value": "arg2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1234,
"end": 1240,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1236,
"end": 1240,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1236,
"end": 1240,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1242,
"end": 1252,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1245,
"end": 1252,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1245,
"end": 1252,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1254,
"end": 1277,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1257,
"end": 1277,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1258,
"end": 1265,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1259,
"end": 1265,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1261,
"end": 1265,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1261,
"end": 1265,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1267,
"end": 1277,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1270,
"end": 1277,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1270,
"end": 1277,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1173,
"end": 1289,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1278,
"end": 1288,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1280,
"end": 1288,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1287,
"end": 1288,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1307,
"end": 1311,
"ctxt": 0
},
"value": "foo9",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1312,
"end": 1318,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1312,
"end": 1318,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1313,
"end": 1318,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1315,
"end": 1318,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1290,
"end": 1325,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1319,
"end": 1324,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1321,
"end": 1324,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1344,
"end": 1349,
"ctxt": 0
},
"value": "foo10",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1350,
"end": 1381,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1350,
"end": 1381,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1351,
"end": 1381,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1353,
"end": 1381,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 1354,
"end": 1369,
"ctxt": 0
},
"rest": {
"start": 1354,
"end": 1357,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1357,
"end": 1358,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1358,
"end": 1369,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1360,
"end": 1369,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 1360,
"end": 1367,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1360,
"end": 1367,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1371,
"end": 1381,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1374,
"end": 1381,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1374,
"end": 1381,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1327,
"end": 1393,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1382,
"end": 1392,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1384,
"end": 1392,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1391,
"end": 1392,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1411,
"end": 1416,
"ctxt": 0
},
"value": "foo10",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1417,
"end": 1423,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1417,
"end": 1423,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1418,
"end": 1423,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1420,
"end": 1423,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1394,
"end": 1430,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1424,
"end": 1429,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1426,
"end": 1429,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1449,
"end": 1454,
"ctxt": 0
},
"value": "foo11",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1455,
"end": 1519,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1455,
"end": 1519,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1456,
"end": 1519,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1458,
"end": 1519,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1459,
"end": 1477,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1460,
"end": 1477,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1462,
"end": 1477,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1464,
"end": 1475,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1464,
"end": 1467,
"ctxt": 0
},
"value": "foo",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1467,
"end": 1475,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1469,
"end": 1475,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
{
"type": "Identifier",
"span": {
"start": 1479,
"end": 1510,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1480,
"end": 1510,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1482,
"end": 1510,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1484,
"end": 1496,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1484,
"end": 1487,
"ctxt": 0
},
"value": "foo",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1487,
"end": 1495,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1489,
"end": 1495,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1497,
"end": 1508,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1497,
"end": 1500,
"ctxt": 0
},
"value": "bar",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1500,
"end": 1508,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1502,
"end": 1508,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1512,
"end": 1519,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1515,
"end": 1519,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1515,
"end": 1519,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1432,
"end": 1531,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1520,
"end": 1530,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1522,
"end": 1530,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1529,
"end": 1530,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1549,
"end": 1554,
"ctxt": 0
},
"value": "foo11",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1555,
"end": 1561,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1555,
"end": 1561,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1556,
"end": 1561,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1558,
"end": 1561,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1532,
"end": 1568,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1562,
"end": 1567,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1564,
"end": 1567,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1587,
"end": 1592,
"ctxt": 0
},
"value": "foo12",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1593,
"end": 1650,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1593,
"end": 1650,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1594,
"end": 1650,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1596,
"end": 1650,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1597,
"end": 1611,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1598,
"end": 1611,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1600,
"end": 1611,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1600,
"end": 1605,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 1605,
"end": 1611,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 1606,
"end": 1610,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1606,
"end": 1610,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 1613,
"end": 1631,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1614,
"end": 1631,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1616,
"end": 1631,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1616,
"end": 1621,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 1621,
"end": 1631,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 1622,
"end": 1630,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1622,
"end": 1630,
"ctxt": 0
},
"value": "Derived2",
"optional": false
},
"typeParams": null
}
]
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1633,
"end": 1650,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1636,
"end": 1650,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1636,
"end": 1641,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 1641,
"end": 1650,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 1642,
"end": 1649,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1642,
"end": 1649,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1570,
"end": 1662,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1651,
"end": 1661,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1653,
"end": 1661,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1660,
"end": 1661,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1680,
"end": 1685,
"ctxt": 0
},
"value": "foo12",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1686,
"end": 1692,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1686,
"end": 1692,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1687,
"end": 1692,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1689,
"end": 1692,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1663,
"end": 1699,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1693,
"end": 1698,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1695,
"end": 1698,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1718,
"end": 1723,
"ctxt": 0
},
"value": "foo13",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1724,
"end": 1780,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1724,
"end": 1780,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1725,
"end": 1780,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1727,
"end": 1780,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1728,
"end": 1742,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1729,
"end": 1742,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1731,
"end": 1742,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1731,
"end": 1736,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 1736,
"end": 1742,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 1737,
"end": 1741,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1737,
"end": 1741,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 1744,
"end": 1761,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1745,
"end": 1761,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1747,
"end": 1761,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1747,
"end": 1752,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 1752,
"end": 1761,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 1753,
"end": 1760,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1753,
"end": 1760,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1763,
"end": 1780,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1766,
"end": 1780,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1766,
"end": 1771,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 1771,
"end": 1780,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 1772,
"end": 1779,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1772,
"end": 1779,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1701,
"end": 1792,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1781,
"end": 1791,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1783,
"end": 1791,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1790,
"end": 1791,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1810,
"end": 1815,
"ctxt": 0
},
"value": "foo13",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1816,
"end": 1822,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1816,
"end": 1822,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1817,
"end": 1822,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1819,
"end": 1822,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1793,
"end": 1829,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1823,
"end": 1828,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1825,
"end": 1828,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1848,
"end": 1853,
"ctxt": 0
},
"value": "foo14",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1854,
"end": 1896,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1854,
"end": 1896,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1855,
"end": 1896,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1857,
"end": 1896,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1858,
"end": 1885,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1859,
"end": 1885,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1861,
"end": 1885,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1863,
"end": 1873,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1863,
"end": 1864,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1864,
"end": 1872,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1866,
"end": 1872,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1874,
"end": 1883,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1874,
"end": 1875,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1875,
"end": 1883,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1877,
"end": 1883,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1887,
"end": 1896,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1890,
"end": 1896,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1890,
"end": 1896,
"ctxt": 0
},
"value": "Object",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 1831,
"end": 1908,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1897,
"end": 1907,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 1899,
"end": 1907,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 1906,
"end": 1907,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1926,
"end": 1931,
"ctxt": 0
},
"value": "foo14",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1932,
"end": 1938,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1932,
"end": 1938,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1933,
"end": 1938,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1935,
"end": 1938,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 1909,
"end": 1945,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1939,
"end": 1944,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1941,
"end": 1944,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1964,
"end": 1969,
"ctxt": 0
},
"value": "foo15",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1970,
"end": 2032,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1970,
"end": 2032,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1971,
"end": 2032,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1973,
"end": 2032,
"ctxt": 0
},
"members": [
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 1980,
"end": 2002,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1981,
"end": 1990,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1982,
"end": 1990,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1984,
"end": 1990,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1991,
"end": 2001,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1993,
"end": 2001,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1993,
"end": 1999,
"ctxt": 0
},
"kind": "number"
}
}
},
"typeParams": null
},
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2007,
"end": 2029,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2008,
"end": 2017,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2009,
"end": 2017,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2011,
"end": 2017,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2018,
"end": 2028,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2020,
"end": 2028,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2020,
"end": 2026,
"ctxt": 0
},
"kind": "string"
}
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 1947,
"end": 2044,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2033,
"end": 2043,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 2035,
"end": 2043,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 2042,
"end": 2043,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2062,
"end": 2067,
"ctxt": 0
},
"value": "foo15",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2068,
"end": 2074,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2068,
"end": 2074,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2069,
"end": 2074,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2071,
"end": 2074,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 2045,
"end": 2081,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2075,
"end": 2080,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2077,
"end": 2080,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2100,
"end": 2105,
"ctxt": 0
},
"value": "foo16",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2106,
"end": 2191,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2106,
"end": 2191,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2107,
"end": 2191,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 2109,
"end": 2191,
"ctxt": 0
},
"members": [
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2115,
"end": 2151,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2135,
"end": 2139,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2136,
"end": 2139,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2138,
"end": 2139,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2138,
"end": 2139,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2140,
"end": 2150,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2142,
"end": 2150,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2142,
"end": 2148,
"ctxt": 0
},
"kind": "number"
}
}
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2115,
"end": 2134,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2116,
"end": 2133,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2116,
"end": 2117,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 2126,
"end": 2133,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2126,
"end": 2133,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
},
"default": null
}
]
}
},
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2156,
"end": 2189,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2173,
"end": 2177,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2174,
"end": 2177,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2176,
"end": 2177,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2176,
"end": 2177,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2178,
"end": 2188,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2180,
"end": 2188,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2180,
"end": 2186,
"ctxt": 0
},
"kind": "number"
}
}
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2156,
"end": 2172,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2157,
"end": 2171,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2157,
"end": 2158,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 2167,
"end": 2171,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2167,
"end": 2171,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
}
]
}
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 2083,
"end": 2203,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2192,
"end": 2202,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 2194,
"end": 2202,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 2201,
"end": 2202,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2221,
"end": 2226,
"ctxt": 0
},
"value": "foo16",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2227,
"end": 2233,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2227,
"end": 2233,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2228,
"end": 2233,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2230,
"end": 2233,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 2204,
"end": 2240,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2234,
"end": 2239,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2236,
"end": 2239,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2259,
"end": 2264,
"ctxt": 0
},
"value": "foo17",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2265,
"end": 2355,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2265,
"end": 2355,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2266,
"end": 2355,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 2268,
"end": 2355,
"ctxt": 0
},
"members": [
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2274,
"end": 2311,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2275,
"end": 2299,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2276,
"end": 2299,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2278,
"end": 2299,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2279,
"end": 2288,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2280,
"end": 2288,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2282,
"end": 2288,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2290,
"end": 2299,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2293,
"end": 2299,
"ctxt": 0
},
"kind": "number"
}
}
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2300,
"end": 2310,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2302,
"end": 2310,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2302,
"end": 2308,
"ctxt": 0
},
"kind": "number"
}
}
},
"typeParams": null
},
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2316,
"end": 2353,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2317,
"end": 2341,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2318,
"end": 2341,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2320,
"end": 2341,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2321,
"end": 2330,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2322,
"end": 2330,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2324,
"end": 2330,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2332,
"end": 2341,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2335,
"end": 2341,
"ctxt": 0
},
"kind": "string"
}
}
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2342,
"end": 2352,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2344,
"end": 2352,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2344,
"end": 2350,
"ctxt": 0
},
"kind": "string"
}
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 2242,
"end": 2367,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2356,
"end": 2366,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 2358,
"end": 2366,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 2365,
"end": 2366,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2385,
"end": 2390,
"ctxt": 0
},
"value": "foo17",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2391,
"end": 2397,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2391,
"end": 2397,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2392,
"end": 2397,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2394,
"end": 2397,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 2368,
"end": 2404,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2398,
"end": 2403,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2400,
"end": 2403,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2423,
"end": 2428,
"ctxt": 0
},
"value": "foo18",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2429,
"end": 2599,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2429,
"end": 2599,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2430,
"end": 2599,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 2432,
"end": 2599,
"ctxt": 0
},
"members": [
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2438,
"end": 2516,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2439,
"end": 2507,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2440,
"end": 2507,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 2442,
"end": 2507,
"ctxt": 0
},
"members": [
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2452,
"end": 2472,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2453,
"end": 2462,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2454,
"end": 2462,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2456,
"end": 2462,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2463,
"end": 2471,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2465,
"end": 2471,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2481,
"end": 2501,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2482,
"end": 2491,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2483,
"end": 2491,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2485,
"end": 2491,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2492,
"end": 2500,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2494,
"end": 2500,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2508,
"end": 2515,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2510,
"end": 2515,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2510,
"end": 2513,
"ctxt": 0
},
"kind": "any"
}
}
},
"typeParams": null
},
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2521,
"end": 2597,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2522,
"end": 2588,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2523,
"end": 2588,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 2525,
"end": 2588,
"ctxt": 0
},
"members": [
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2535,
"end": 2557,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2536,
"end": 2546,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2537,
"end": 2546,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2539,
"end": 2546,
"ctxt": 0
},
"kind": "boolean"
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2547,
"end": 2556,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2549,
"end": 2556,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
},
{
"type": "TsCallSignatureDeclaration",
"span": {
"start": 2566,
"end": 2582,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2567,
"end": 2574,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2568,
"end": 2574,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2570,
"end": 2574,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2570,
"end": 2574,
"ctxt": 0
},
"value": "Date",
"optional": false
},
"typeParams": null
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2575,
"end": 2581,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2577,
"end": 2581,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2577,
"end": 2581,
"ctxt": 0
},
"value": "Date",
"optional": false
},
"typeParams": null
}
},
"typeParams": null
}
]
}
}
}
],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2589,
"end": 2596,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2591,
"end": 2596,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2591,
"end": 2594,
"ctxt": 0
},
"kind": "any"
}
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 2406,
"end": 2611,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2600,
"end": 2610,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeQuery",
"span": {
"start": 2602,
"end": 2610,
"ctxt": 0
},
"exprName": {
"type": "Identifier",
"span": {
"start": 2609,
"end": 2610,
"ctxt": 0
},
"value": "a",
"optional": false
},
"typeArguments": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2629,
"end": 2634,
"ctxt": 0
},
"value": "foo18",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2635,
"end": 2641,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2635,
"end": 2641,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2636,
"end": 2641,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2638,
"end": 2641,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"decorators": [],
"span": {
"start": 2612,
"end": 2648,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2642,
"end": 2647,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2644,
"end": 2647,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2650,
"end": 2680,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2654,
"end": 2679,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2654,
"end": 2660,
"ctxt": 0
},
"value": "r1arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 2663,
"end": 2679,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2667,
"end": 2671,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2668,
"end": 2671,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2670,
"end": 2671,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2670,
"end": 2671,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "ArrayExpression",
"span": {
"start": 2676,
"end": 2679,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2677,
"end": 2678,
"ctxt": 0
},
"value": "x",
"optional": false
}
}
]
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2663,
"end": 2666,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2664,
"end": 2665,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2664,
"end": 2665,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2681,
"end": 2713,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2685,
"end": 2712,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2685,
"end": 2691,
"ctxt": 0
},
"value": "r1arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 2694,
"end": 2712,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2695,
"end": 2704,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2696,
"end": 2704,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2698,
"end": 2704,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"body": {
"type": "ArrayExpression",
"span": {
"start": 2709,
"end": 2712,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2710,
"end": 2711,
"ctxt": 0
},
"value": 1.0
}
}
]
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2714,
"end": 2736,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2718,
"end": 2735,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2718,
"end": 2720,
"ctxt": 0
},
"value": "r1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2723,
"end": 2735,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2723,
"end": 2727,
"ctxt": 0
},
"value": "foo1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2728,
"end": 2734,
"ctxt": 0
},
"value": "r1arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2792,
"end": 2819,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2796,
"end": 2818,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2796,
"end": 2799,
"ctxt": 0
},
"value": "r1a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 2802,
"end": 2818,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2803,
"end": 2809,
"ctxt": 0
},
"value": "r1arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2811,
"end": 2817,
"ctxt": 0
},
"value": "r1arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2869,
"end": 2896,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2873,
"end": 2895,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2873,
"end": 2876,
"ctxt": 0
},
"value": "r1b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 2879,
"end": 2895,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2880,
"end": 2886,
"ctxt": 0
},
"value": "r1arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2888,
"end": 2894,
"ctxt": 0
},
"value": "r1arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2947,
"end": 2978,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2951,
"end": 2977,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2951,
"end": 2957,
"ctxt": 0
},
"value": "r2arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 2960,
"end": 2977,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2964,
"end": 2968,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2965,
"end": 2968,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2967,
"end": 2968,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2967,
"end": 2968,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "ArrayExpression",
"span": {
"start": 2973,
"end": 2977,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2974,
"end": 2976,
"ctxt": 0
},
"value": "",
"raw": "''"
}
}
]
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2960,
"end": 2963,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2961,
"end": 2962,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2961,
"end": 2962,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2979,
"end": 3012,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2983,
"end": 3011,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2983,
"end": 2989,
"ctxt": 0
},
"value": "r2arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 2992,
"end": 3011,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2993,
"end": 3002,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2994,
"end": 3002,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2996,
"end": 3002,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"body": {
"type": "ArrayExpression",
"span": {
"start": 3007,
"end": 3011,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3008,
"end": 3010,
"ctxt": 0
},
"value": "",
"raw": "''"
}
}
]
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3013,
"end": 3035,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3017,
"end": 3034,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3017,
"end": 3019,
"ctxt": 0
},
"value": "r2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3022,
"end": 3034,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3022,
"end": 3026,
"ctxt": 0
},
"value": "foo2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3027,
"end": 3033,
"ctxt": 0
},
"value": "r2arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3037,
"end": 3064,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3041,
"end": 3063,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3041,
"end": 3044,
"ctxt": 0
},
"value": "r2a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3047,
"end": 3063,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3048,
"end": 3054,
"ctxt": 0
},
"value": "r2arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3056,
"end": 3062,
"ctxt": 0
},
"value": "r2arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3065,
"end": 3092,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3069,
"end": 3091,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3069,
"end": 3072,
"ctxt": 0
},
"value": "r2b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3075,
"end": 3091,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3076,
"end": 3082,
"ctxt": 0
},
"value": "r2arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3084,
"end": 3090,
"ctxt": 0
},
"value": "r2arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3094,
"end": 3122,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3098,
"end": 3121,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3098,
"end": 3104,
"ctxt": 0
},
"value": "r3arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3107,
"end": 3121,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3111,
"end": 3115,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3112,
"end": 3115,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3114,
"end": 3115,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3114,
"end": 3115,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "Identifier",
"span": {
"start": 3120,
"end": 3121,
"ctxt": 0
},
"value": "x",
"optional": false
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 3107,
"end": 3110,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 3108,
"end": 3109,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3108,
"end": 3109,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3123,
"end": 3155,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3127,
"end": 3154,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3127,
"end": 3133,
"ctxt": 0
},
"value": "r3arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3136,
"end": 3154,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3137,
"end": 3146,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3138,
"end": 3146,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3140,
"end": 3146,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"body": {
"type": "BlockStatement",
"span": {
"start": 3151,
"end": 3154,
"ctxt": 0
},
"stmts": []
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3156,
"end": 3178,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3160,
"end": 3177,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3160,
"end": 3162,
"ctxt": 0
},
"value": "r3",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3165,
"end": 3177,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3165,
"end": 3169,
"ctxt": 0
},
"value": "foo3",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3170,
"end": 3176,
"ctxt": 0
},
"value": "r3arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3180,
"end": 3207,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3184,
"end": 3206,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3184,
"end": 3187,
"ctxt": 0
},
"value": "r3a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3190,
"end": 3206,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3191,
"end": 3197,
"ctxt": 0
},
"value": "r3arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3199,
"end": 3205,
"ctxt": 0
},
"value": "r3arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3208,
"end": 3235,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3212,
"end": 3234,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3212,
"end": 3215,
"ctxt": 0
},
"value": "r3b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3218,
"end": 3234,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3219,
"end": 3225,
"ctxt": 0
},
"value": "r3arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3227,
"end": 3233,
"ctxt": 0
},
"value": "r3arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3237,
"end": 3274,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3241,
"end": 3273,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3241,
"end": 3247,
"ctxt": 0
},
"value": "r4arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3250,
"end": 3273,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3257,
"end": 3261,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3258,
"end": 3261,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3260,
"end": 3261,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3260,
"end": 3261,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "Identifier",
"span": {
"start": 3263,
"end": 3267,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3264,
"end": 3267,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3266,
"end": 3267,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3266,
"end": 3267,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "Identifier",
"span": {
"start": 3272,
"end": 3273,
"ctxt": 0
},
"value": "x",
"optional": false
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 3250,
"end": 3256,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 3251,
"end": 3252,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3251,
"end": 3252,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 3254,
"end": 3255,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3254,
"end": 3255,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3275,
"end": 3317,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3279,
"end": 3316,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3279,
"end": 3285,
"ctxt": 0
},
"value": "r4arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3288,
"end": 3316,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3289,
"end": 3298,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3290,
"end": 3298,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3292,
"end": 3298,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3300,
"end": 3309,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3301,
"end": 3309,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3303,
"end": 3309,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"body": {
"type": "StringLiteral",
"span": {
"start": 3314,
"end": 3316,
"ctxt": 0
},
"value": "",
"raw": "''"
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3318,
"end": 3340,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3322,
"end": 3339,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3322,
"end": 3324,
"ctxt": 0
},
"value": "r4",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3327,
"end": 3339,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3327,
"end": 3331,
"ctxt": 0
},
"value": "foo4",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3332,
"end": 3338,
"ctxt": 0
},
"value": "r4arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3348,
"end": 3375,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3352,
"end": 3374,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3352,
"end": 3355,
"ctxt": 0
},
"value": "r4a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3358,
"end": 3374,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3359,
"end": 3365,
"ctxt": 0
},
"value": "r4arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3367,
"end": 3373,
"ctxt": 0
},
"value": "r4arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3376,
"end": 3403,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3380,
"end": 3402,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3380,
"end": 3383,
"ctxt": 0
},
"value": "r4b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3386,
"end": 3402,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3387,
"end": 3393,
"ctxt": 0
},
"value": "r4arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3395,
"end": 3401,
"ctxt": 0
},
"value": "r4arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3405,
"end": 3454,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3409,
"end": 3453,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3409,
"end": 3415,
"ctxt": 0
},
"value": "r5arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3418,
"end": 3453,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3425,
"end": 3441,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3426,
"end": 3441,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3428,
"end": 3441,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3429,
"end": 3435,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3432,
"end": 3435,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3434,
"end": 3435,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3434,
"end": 3435,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3437,
"end": 3441,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3440,
"end": 3441,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3440,
"end": 3441,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 3446,
"end": 3453,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 3449,
"end": 3453,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3447,
"end": 3448,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3447,
"end": 3448,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 3418,
"end": 3424,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 3419,
"end": 3420,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3419,
"end": 3420,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 3422,
"end": 3423,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3422,
"end": 3423,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3455,
"end": 3503,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3459,
"end": 3502,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3459,
"end": 3465,
"ctxt": 0
},
"value": "r5arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3468,
"end": 3502,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3469,
"end": 3495,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3470,
"end": 3495,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3472,
"end": 3495,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3473,
"end": 3484,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3476,
"end": 3484,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3478,
"end": 3484,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3486,
"end": 3495,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3489,
"end": 3495,
"ctxt": 0
},
"kind": "number"
}
}
}
}
}
],
"body": {
"type": "StringLiteral",
"span": {
"start": 3500,
"end": 3502,
"ctxt": 0
},
"value": "",
"raw": "''"
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3504,
"end": 3526,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3508,
"end": 3525,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3508,
"end": 3510,
"ctxt": 0
},
"value": "r5",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3513,
"end": 3525,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3513,
"end": 3517,
"ctxt": 0
},
"value": "foo5",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3518,
"end": 3524,
"ctxt": 0
},
"value": "r5arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3534,
"end": 3561,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3538,
"end": 3560,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3538,
"end": 3541,
"ctxt": 0
},
"value": "r5a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3544,
"end": 3560,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3545,
"end": 3551,
"ctxt": 0
},
"value": "r5arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3553,
"end": 3559,
"ctxt": 0
},
"value": "r5arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3562,
"end": 3589,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3566,
"end": 3588,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3566,
"end": 3569,
"ctxt": 0
},
"value": "r5b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3572,
"end": 3588,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3573,
"end": 3579,
"ctxt": 0
},
"value": "r5arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3581,
"end": 3587,
"ctxt": 0
},
"value": "r5arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3591,
"end": 3669,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3595,
"end": 3668,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3595,
"end": 3601,
"ctxt": 0
},
"value": "r6arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3604,
"end": 3668,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3640,
"end": 3656,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3641,
"end": 3656,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3643,
"end": 3656,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3644,
"end": 3650,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3647,
"end": 3650,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3649,
"end": 3650,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3649,
"end": 3650,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3652,
"end": 3656,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3655,
"end": 3656,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3655,
"end": 3656,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 3661,
"end": 3668,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 3664,
"end": 3668,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3662,
"end": 3663,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3662,
"end": 3663,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 3604,
"end": 3639,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 3605,
"end": 3619,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3605,
"end": 3606,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 3615,
"end": 3619,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3615,
"end": 3619,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 3621,
"end": 3638,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3621,
"end": 3622,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 3631,
"end": 3638,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3631,
"end": 3638,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3670,
"end": 3725,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3674,
"end": 3724,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3674,
"end": 3680,
"ctxt": 0
},
"value": "r6arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3683,
"end": 3724,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3684,
"end": 3709,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3685,
"end": 3709,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3687,
"end": 3709,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3688,
"end": 3697,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3691,
"end": 3697,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3693,
"end": 3697,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3693,
"end": 3697,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3699,
"end": 3709,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3702,
"end": 3709,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3702,
"end": 3709,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 3714,
"end": 3724,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 3720,
"end": 3724,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3715,
"end": 3719,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3715,
"end": 3719,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3726,
"end": 3748,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3730,
"end": 3747,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3730,
"end": 3732,
"ctxt": 0
},
"value": "r6",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3735,
"end": 3747,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3735,
"end": 3739,
"ctxt": 0
},
"value": "foo6",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3740,
"end": 3746,
"ctxt": 0
},
"value": "r6arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3756,
"end": 3783,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3760,
"end": 3782,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3760,
"end": 3763,
"ctxt": 0
},
"value": "r6a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3766,
"end": 3782,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3767,
"end": 3773,
"ctxt": 0
},
"value": "r6arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3775,
"end": 3781,
"ctxt": 0
},
"value": "r6arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3784,
"end": 3811,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3788,
"end": 3810,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3788,
"end": 3791,
"ctxt": 0
},
"value": "r6b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 3794,
"end": 3810,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3795,
"end": 3801,
"ctxt": 0
},
"value": "r6arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3803,
"end": 3809,
"ctxt": 0
},
"value": "r6arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3813,
"end": 3901,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3817,
"end": 3900,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3817,
"end": 3823,
"ctxt": 0
},
"value": "r7arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3826,
"end": 3900,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3862,
"end": 3878,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3863,
"end": 3878,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3865,
"end": 3878,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3866,
"end": 3872,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3869,
"end": 3872,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3871,
"end": 3872,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3871,
"end": 3872,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3874,
"end": 3878,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3877,
"end": 3878,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3877,
"end": 3878,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3883,
"end": 3900,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3884,
"end": 3888,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3885,
"end": 3888,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3887,
"end": 3888,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3887,
"end": 3888,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 3893,
"end": 3900,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 3896,
"end": 3900,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3894,
"end": 3895,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3894,
"end": 3895,
"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": 3826,
"end": 3861,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 3827,
"end": 3841,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3827,
"end": 3828,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 3837,
"end": 3841,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3837,
"end": 3841,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 3843,
"end": 3860,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3843,
"end": 3844,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 3853,
"end": 3860,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3853,
"end": 3860,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3902,
"end": 3973,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3906,
"end": 3972,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3906,
"end": 3912,
"ctxt": 0
},
"value": "r7arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3915,
"end": 3972,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3916,
"end": 3941,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3917,
"end": 3941,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3919,
"end": 3941,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3920,
"end": 3929,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3923,
"end": 3929,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3925,
"end": 3929,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3925,
"end": 3929,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3931,
"end": 3941,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3934,
"end": 3941,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3934,
"end": 3941,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3946,
"end": 3972,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3947,
"end": 3954,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3948,
"end": 3954,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3950,
"end": 3954,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3950,
"end": 3954,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 3959,
"end": 3972,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 3968,
"end": 3972,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3960,
"end": 3967,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3960,
"end": 3967,
"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": 3974,
"end": 3996,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3978,
"end": 3995,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3978,
"end": 3980,
"ctxt": 0
},
"value": "r7",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3983,
"end": 3995,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3983,
"end": 3987,
"ctxt": 0
},
"value": "foo7",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3988,
"end": 3994,
"ctxt": 0
},
"value": "r7arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4004,
"end": 4031,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4008,
"end": 4030,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4008,
"end": 4011,
"ctxt": 0
},
"value": "r7a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4014,
"end": 4030,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4015,
"end": 4021,
"ctxt": 0
},
"value": "r7arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4023,
"end": 4029,
"ctxt": 0
},
"value": "r7arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4032,
"end": 4059,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4036,
"end": 4058,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4036,
"end": 4039,
"ctxt": 0
},
"value": "r7b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4042,
"end": 4058,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4043,
"end": 4049,
"ctxt": 0
},
"value": "r7arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4051,
"end": 4057,
"ctxt": 0
},
"value": "r7arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4061,
"end": 4168,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4065,
"end": 4167,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4065,
"end": 4071,
"ctxt": 0
},
"value": "r8arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4074,
"end": 4167,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4110,
"end": 4126,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4111,
"end": 4126,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4113,
"end": 4126,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4114,
"end": 4120,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4117,
"end": 4120,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4119,
"end": 4120,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4119,
"end": 4120,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4122,
"end": 4126,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4125,
"end": 4126,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4125,
"end": 4126,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 4128,
"end": 4145,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4129,
"end": 4145,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4131,
"end": 4145,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4132,
"end": 4139,
"ctxt": 0
},
"value": "arg2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4136,
"end": 4139,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4138,
"end": 4139,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4138,
"end": 4139,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4141,
"end": 4145,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4144,
"end": 4145,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4144,
"end": 4145,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4150,
"end": 4167,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4151,
"end": 4155,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4152,
"end": 4155,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4154,
"end": 4155,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4154,
"end": 4155,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 4160,
"end": 4167,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 4163,
"end": 4167,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4161,
"end": 4162,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4161,
"end": 4162,
"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": 4074,
"end": 4109,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4075,
"end": 4089,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4075,
"end": 4076,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 4085,
"end": 4089,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4085,
"end": 4089,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 4091,
"end": 4108,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4091,
"end": 4092,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 4101,
"end": 4108,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4101,
"end": 4108,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4169,
"end": 4268,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4173,
"end": 4267,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4173,
"end": 4179,
"ctxt": 0
},
"value": "r8arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4182,
"end": 4267,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4183,
"end": 4208,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4184,
"end": 4208,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4186,
"end": 4208,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4187,
"end": 4196,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4190,
"end": 4196,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4192,
"end": 4196,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4192,
"end": 4196,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4198,
"end": 4208,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4201,
"end": 4208,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4201,
"end": 4208,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 4210,
"end": 4236,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4211,
"end": 4236,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4213,
"end": 4236,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4214,
"end": 4224,
"ctxt": 0
},
"value": "arg2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4218,
"end": 4224,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4220,
"end": 4224,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4220,
"end": 4224,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4226,
"end": 4236,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4229,
"end": 4236,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4229,
"end": 4236,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4241,
"end": 4267,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4242,
"end": 4249,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4243,
"end": 4249,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4245,
"end": 4249,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4245,
"end": 4249,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 4254,
"end": 4267,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 4263,
"end": 4267,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4255,
"end": 4262,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4255,
"end": 4262,
"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": 4269,
"end": 4291,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4273,
"end": 4290,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4273,
"end": 4275,
"ctxt": 0
},
"value": "r8",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 4278,
"end": 4290,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 4278,
"end": 4282,
"ctxt": 0
},
"value": "foo8",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4283,
"end": 4289,
"ctxt": 0
},
"value": "r8arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4299,
"end": 4326,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4303,
"end": 4325,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4303,
"end": 4306,
"ctxt": 0
},
"value": "r8a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4309,
"end": 4325,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4310,
"end": 4316,
"ctxt": 0
},
"value": "r8arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4318,
"end": 4324,
"ctxt": 0
},
"value": "r8arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4327,
"end": 4354,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4331,
"end": 4353,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4331,
"end": 4334,
"ctxt": 0
},
"value": "r8b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4337,
"end": 4353,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4338,
"end": 4344,
"ctxt": 0
},
"value": "r8arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4346,
"end": 4352,
"ctxt": 0
},
"value": "r8arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4356,
"end": 4491,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4360,
"end": 4490,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4360,
"end": 4366,
"ctxt": 0
},
"value": "r9arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4369,
"end": 4490,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4405,
"end": 4421,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4406,
"end": 4421,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4408,
"end": 4421,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4409,
"end": 4415,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4412,
"end": 4415,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4414,
"end": 4415,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4414,
"end": 4415,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4417,
"end": 4421,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4420,
"end": 4421,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4420,
"end": 4421,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 4423,
"end": 4468,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4424,
"end": 4468,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4426,
"end": 4468,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4427,
"end": 4462,
"ctxt": 0
},
"value": "arg2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4431,
"end": 4462,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 4433,
"end": 4462,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 4435,
"end": 4447,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4435,
"end": 4438,
"ctxt": 0
},
"value": "foo",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4438,
"end": 4446,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4440,
"end": 4446,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 4448,
"end": 4460,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4448,
"end": 4452,
"ctxt": 0
},
"value": "bing",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4452,
"end": 4460,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4454,
"end": 4460,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4464,
"end": 4468,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4467,
"end": 4468,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4467,
"end": 4468,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4473,
"end": 4490,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4474,
"end": 4478,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4475,
"end": 4478,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4477,
"end": 4478,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4477,
"end": 4478,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 4483,
"end": 4490,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 4486,
"end": 4490,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4484,
"end": 4485,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4484,
"end": 4485,
"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": 4369,
"end": 4404,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4370,
"end": 4384,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4370,
"end": 4371,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 4380,
"end": 4384,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4380,
"end": 4384,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 4386,
"end": 4403,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4386,
"end": 4387,
"ctxt": 0
},
"value": "U",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 4396,
"end": 4403,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4396,
"end": 4403,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4492,
"end": 4591,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4496,
"end": 4590,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4496,
"end": 4502,
"ctxt": 0
},
"value": "r9arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4505,
"end": 4590,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4506,
"end": 4531,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4507,
"end": 4531,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4509,
"end": 4531,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4510,
"end": 4519,
"ctxt": 0
},
"value": "arg",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4513,
"end": 4519,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4515,
"end": 4519,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4515,
"end": 4519,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4521,
"end": 4531,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4524,
"end": 4531,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4524,
"end": 4531,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 4533,
"end": 4559,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4534,
"end": 4559,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4536,
"end": 4559,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4537,
"end": 4547,
"ctxt": 0
},
"value": "arg2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4541,
"end": 4547,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4543,
"end": 4547,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4543,
"end": 4547,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4549,
"end": 4559,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4552,
"end": 4559,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4552,
"end": 4559,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4564,
"end": 4590,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4565,
"end": 4572,
"ctxt": 0
},
"value": "r",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4566,
"end": 4572,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4568,
"end": 4572,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4568,
"end": 4572,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 4577,
"end": 4590,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 4586,
"end": 4590,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4578,
"end": 4585,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4578,
"end": 4585,
"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": 4592,
"end": 4614,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4596,
"end": 4613,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4596,
"end": 4598,
"ctxt": 0
},
"value": "r9",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 4601,
"end": 4613,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 4601,
"end": 4605,
"ctxt": 0
},
"value": "foo9",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4606,
"end": 4612,
"ctxt": 0
},
"value": "r9arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4622,
"end": 4649,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4626,
"end": 4648,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4626,
"end": 4629,
"ctxt": 0
},
"value": "r9a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4632,
"end": 4648,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4633,
"end": 4639,
"ctxt": 0
},
"value": "r9arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4641,
"end": 4647,
"ctxt": 0
},
"value": "r9arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4650,
"end": 4677,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4654,
"end": 4676,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4654,
"end": 4657,
"ctxt": 0
},
"value": "r9b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4660,
"end": 4676,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4661,
"end": 4667,
"ctxt": 0
},
"value": "r9arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4669,
"end": 4675,
"ctxt": 0
},
"value": "r9arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4679,
"end": 4732,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4683,
"end": 4731,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4683,
"end": 4690,
"ctxt": 0
},
"value": "r10arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4693,
"end": 4731,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4713,
"end": 4722,
"ctxt": 0
},
"rest": {
"start": 4713,
"end": 4716,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4716,
"end": 4717,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4717,
"end": 4722,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 4719,
"end": 4722,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 4719,
"end": 4720,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4719,
"end": 4720,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
],
"body": {
"type": "MemberExpression",
"span": {
"start": 4727,
"end": 4731,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 4727,
"end": 4728,
"ctxt": 0
},
"value": "x",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 4728,
"end": 4731,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 4729,
"end": 4730,
"ctxt": 0
},
"value": 0.0
}
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4693,
"end": 4712,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4694,
"end": 4711,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4694,
"end": 4695,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 4704,
"end": 4711,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4704,
"end": 4711,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4733,
"end": 4782,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4737,
"end": 4781,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4737,
"end": 4744,
"ctxt": 0
},
"value": "r10arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4747,
"end": 4781,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4748,
"end": 4763,
"ctxt": 0
},
"rest": {
"start": 4748,
"end": 4751,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4751,
"end": 4752,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4752,
"end": 4763,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 4754,
"end": 4763,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 4754,
"end": 4761,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4754,
"end": 4761,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 4768,
"end": 4781,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 4777,
"end": 4781,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4769,
"end": 4776,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4769,
"end": 4776,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4783,
"end": 4808,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4787,
"end": 4807,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4787,
"end": 4790,
"ctxt": 0
},
"value": "r10",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 4793,
"end": 4807,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 4793,
"end": 4798,
"ctxt": 0
},
"value": "foo10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4799,
"end": 4806,
"ctxt": 0
},
"value": "r10arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4816,
"end": 4846,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4820,
"end": 4845,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4820,
"end": 4824,
"ctxt": 0
},
"value": "r10a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4827,
"end": 4845,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4828,
"end": 4835,
"ctxt": 0
},
"value": "r10arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4837,
"end": 4844,
"ctxt": 0
},
"value": "r10arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4847,
"end": 4877,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4851,
"end": 4876,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4851,
"end": 4855,
"ctxt": 0
},
"value": "r10b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 4858,
"end": 4876,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4859,
"end": 4866,
"ctxt": 0
},
"value": "r10arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 4868,
"end": 4875,
"ctxt": 0
},
"value": "r10arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4879,
"end": 4927,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4883,
"end": 4926,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4883,
"end": 4890,
"ctxt": 0
},
"value": "r11arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4893,
"end": 4926,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4910,
"end": 4914,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4911,
"end": 4914,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4913,
"end": 4914,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4913,
"end": 4914,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "Identifier",
"span": {
"start": 4916,
"end": 4920,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4917,
"end": 4920,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4919,
"end": 4920,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4919,
"end": 4920,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "Identifier",
"span": {
"start": 4925,
"end": 4926,
"ctxt": 0
},
"value": "x",
"optional": false
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4893,
"end": 4909,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4894,
"end": 4908,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4894,
"end": 4895,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 4904,
"end": 4908,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4904,
"end": 4908,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 4928,
"end": 5010,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4932,
"end": 5009,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4932,
"end": 4939,
"ctxt": 0
},
"value": "r11arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4942,
"end": 5009,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4943,
"end": 4961,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4944,
"end": 4961,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 4946,
"end": 4961,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 4948,
"end": 4959,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4948,
"end": 4951,
"ctxt": 0
},
"value": "foo",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4951,
"end": 4959,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4953,
"end": 4959,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
{
"type": "Identifier",
"span": {
"start": 4963,
"end": 4994,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4964,
"end": 4994,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 4966,
"end": 4994,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 4968,
"end": 4980,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4968,
"end": 4971,
"ctxt": 0
},
"value": "foo",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4971,
"end": 4979,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4973,
"end": 4979,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 4981,
"end": 4992,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4981,
"end": 4984,
"ctxt": 0
},
"value": "bar",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4984,
"end": 4992,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4986,
"end": 4992,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 4999,
"end": 5009,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5005,
"end": 5009,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5000,
"end": 5004,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5000,
"end": 5004,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5011,
"end": 5036,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5015,
"end": 5035,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5015,
"end": 5018,
"ctxt": 0
},
"value": "r11",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5021,
"end": 5035,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5021,
"end": 5026,
"ctxt": 0
},
"value": "foo11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5027,
"end": 5034,
"ctxt": 0
},
"value": "r11arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5044,
"end": 5074,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5048,
"end": 5073,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5048,
"end": 5052,
"ctxt": 0
},
"value": "r11a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5055,
"end": 5073,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5056,
"end": 5063,
"ctxt": 0
},
"value": "r11arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5065,
"end": 5072,
"ctxt": 0
},
"value": "r11arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5075,
"end": 5105,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5079,
"end": 5104,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5079,
"end": 5083,
"ctxt": 0
},
"value": "r11b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5086,
"end": 5104,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5087,
"end": 5094,
"ctxt": 0
},
"value": "r11arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5096,
"end": 5103,
"ctxt": 0
},
"value": "r11arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5107,
"end": 5191,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5111,
"end": 5190,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5111,
"end": 5118,
"ctxt": 0
},
"value": "r12arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5121,
"end": 5190,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5145,
"end": 5159,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5146,
"end": 5159,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5148,
"end": 5159,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5148,
"end": 5153,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5153,
"end": 5159,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5154,
"end": 5158,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5154,
"end": 5158,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 5161,
"end": 5165,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5162,
"end": 5165,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5164,
"end": 5165,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5164,
"end": 5165,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 5170,
"end": 5190,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5186,
"end": 5190,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5171,
"end": 5185,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5171,
"end": 5176,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5176,
"end": 5185,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5177,
"end": 5184,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5177,
"end": 5184,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 5121,
"end": 5144,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 5122,
"end": 5143,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 5122,
"end": 5123,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 5132,
"end": 5143,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5132,
"end": 5137,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5137,
"end": 5143,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5138,
"end": 5142,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5138,
"end": 5142,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5192,
"end": 5267,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5196,
"end": 5266,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5196,
"end": 5203,
"ctxt": 0
},
"value": "r12arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5206,
"end": 5266,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5207,
"end": 5221,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5208,
"end": 5221,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5210,
"end": 5221,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5210,
"end": 5215,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5215,
"end": 5221,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5216,
"end": 5220,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5216,
"end": 5220,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 5223,
"end": 5241,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5224,
"end": 5241,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5226,
"end": 5241,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5226,
"end": 5231,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5231,
"end": 5241,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5232,
"end": 5240,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5232,
"end": 5240,
"ctxt": 0
},
"value": "Derived2",
"optional": false
},
"typeParams": null
}
]
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 5246,
"end": 5266,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5262,
"end": 5266,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5247,
"end": 5261,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5247,
"end": 5252,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5252,
"end": 5261,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5253,
"end": 5260,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5253,
"end": 5260,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5268,
"end": 5293,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5272,
"end": 5292,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5272,
"end": 5275,
"ctxt": 0
},
"value": "r12",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5278,
"end": 5292,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5278,
"end": 5283,
"ctxt": 0
},
"value": "foo12",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5284,
"end": 5291,
"ctxt": 0
},
"value": "r12arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5301,
"end": 5331,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5305,
"end": 5330,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5305,
"end": 5309,
"ctxt": 0
},
"value": "r12a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5312,
"end": 5330,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5313,
"end": 5320,
"ctxt": 0
},
"value": "r12arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5322,
"end": 5329,
"ctxt": 0
},
"value": "r12arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5332,
"end": 5362,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5336,
"end": 5361,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5336,
"end": 5340,
"ctxt": 0
},
"value": "r12b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5343,
"end": 5361,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5344,
"end": 5351,
"ctxt": 0
},
"value": "r12arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5353,
"end": 5360,
"ctxt": 0
},
"value": "r12arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5364,
"end": 5432,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5368,
"end": 5431,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5368,
"end": 5375,
"ctxt": 0
},
"value": "r13arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5378,
"end": 5431,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5405,
"end": 5419,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5406,
"end": 5419,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5408,
"end": 5419,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5408,
"end": 5413,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5413,
"end": 5419,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5414,
"end": 5418,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5414,
"end": 5418,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 5421,
"end": 5425,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5422,
"end": 5425,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5424,
"end": 5425,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5424,
"end": 5425,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "Identifier",
"span": {
"start": 5430,
"end": 5431,
"ctxt": 0
},
"value": "y",
"optional": false
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 5378,
"end": 5404,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 5379,
"end": 5403,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 5379,
"end": 5380,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 5389,
"end": 5403,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5389,
"end": 5394,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5394,
"end": 5403,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5395,
"end": 5402,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5395,
"end": 5402,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5433,
"end": 5507,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5437,
"end": 5506,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5437,
"end": 5444,
"ctxt": 0
},
"value": "r13arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5447,
"end": 5506,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5448,
"end": 5462,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5449,
"end": 5462,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5451,
"end": 5462,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5451,
"end": 5456,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5456,
"end": 5462,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5457,
"end": 5461,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5457,
"end": 5461,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
{
"type": "Identifier",
"span": {
"start": 5464,
"end": 5481,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5465,
"end": 5481,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5467,
"end": 5481,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5467,
"end": 5472,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5472,
"end": 5481,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5473,
"end": 5480,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5473,
"end": 5480,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 5486,
"end": 5506,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5502,
"end": 5506,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5487,
"end": 5501,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5487,
"end": 5492,
"ctxt": 0
},
"value": "Array",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5492,
"end": 5501,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5493,
"end": 5500,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5493,
"end": 5500,
"ctxt": 0
},
"value": "Derived",
"optional": false
},
"typeParams": null
}
]
}
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5508,
"end": 5533,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5512,
"end": 5532,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5512,
"end": 5515,
"ctxt": 0
},
"value": "r13",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5518,
"end": 5532,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5518,
"end": 5523,
"ctxt": 0
},
"value": "foo13",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5524,
"end": 5531,
"ctxt": 0
},
"value": "r13arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5541,
"end": 5571,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5545,
"end": 5570,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5545,
"end": 5549,
"ctxt": 0
},
"value": "r13a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5552,
"end": 5570,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5553,
"end": 5560,
"ctxt": 0
},
"value": "r13arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5562,
"end": 5569,
"ctxt": 0
},
"value": "r13arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5572,
"end": 5602,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5576,
"end": 5601,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5576,
"end": 5580,
"ctxt": 0
},
"value": "r13b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5583,
"end": 5601,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5584,
"end": 5591,
"ctxt": 0
},
"value": "r13arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5593,
"end": 5600,
"ctxt": 0
},
"value": "r13arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5604,
"end": 5648,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5608,
"end": 5647,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5608,
"end": 5615,
"ctxt": 0
},
"value": "r14arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5618,
"end": 5647,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5622,
"end": 5639,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5623,
"end": 5639,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 5625,
"end": 5639,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 5627,
"end": 5632,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 5627,
"end": 5628,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5628,
"end": 5631,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5630,
"end": 5631,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5630,
"end": 5631,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 5633,
"end": 5637,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 5633,
"end": 5634,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5634,
"end": 5637,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5636,
"end": 5637,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5636,
"end": 5637,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
},
"typeParams": null
}
]
}
}
}
],
"body": {
"type": "MemberExpression",
"span": {
"start": 5644,
"end": 5647,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5644,
"end": 5645,
"ctxt": 0
},
"value": "x",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5646,
"end": 5647,
"ctxt": 0
},
"value": "a",
"optional": false
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 5618,
"end": 5621,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 5619,
"end": 5620,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 5619,
"end": 5620,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5649,
"end": 5709,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5653,
"end": 5708,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5653,
"end": 5660,
"ctxt": 0
},
"value": "r14arg2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5663,
"end": 5708,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5664,
"end": 5691,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5665,
"end": 5691,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 5667,
"end": 5691,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 5669,
"end": 5679,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 5669,
"end": 5670,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5670,
"end": 5678,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5672,
"end": 5678,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 5680,
"end": 5689,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 5680,
"end": 5681,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5681,
"end": 5689,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5683,
"end": 5689,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 5696,
"end": 5708,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5704,
"end": 5708,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5697,
"end": 5703,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5697,
"end": 5703,
"ctxt": 0
},
"value": "Object",
"optional": false
},
"typeParams": null
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5710,
"end": 5735,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5714,
"end": 5734,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5714,
"end": 5717,
"ctxt": 0
},
"value": "r14",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5720,
"end": 5734,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5720,
"end": 5725,
"ctxt": 0
},
"value": "foo14",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5726,
"end": 5733,
"ctxt": 0
},
"value": "r14arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5743,
"end": 5773,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5747,
"end": 5772,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5747,
"end": 5751,
"ctxt": 0
},
"value": "r14a",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5754,
"end": 5772,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5755,
"end": 5762,
"ctxt": 0
},
"value": "r14arg1",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5764,
"end": 5771,
"ctxt": 0
},
"value": "r14arg2",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5774,
"end": 5804,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5778,
"end": 5803,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5778,
"end": 5782,
"ctxt": 0
},
"value": "r14b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrayExpression",
"span": {
"start": 5785,
"end": 5803,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5786,
"end": 5793,
"ctxt": 0
},
"value": "r14arg2",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5795,
"end": 5802,
"ctxt": 0
},
"value": "r14arg1",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5806,
"end": 5842,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5810,
"end": 5842,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5810,
"end": 5817,
"ctxt": 0
},
"value": "r15arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5820,
"end": 5842,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5824,
"end": 5828,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5825,
"end": 5828,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5827,
"end": 5828,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5827,
"end": 5828,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 5833,
"end": 5842,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5838,
"end": 5842,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 5834,
"end": 5837,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 5834,
"end": 5835,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5834,
"end": 5835,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 5820,
"end": 5823,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 5821,
"end": 5822,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 5821,
"end": 5822,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5843,
"end": 5868,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5847,
"end": 5867,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5847,
"end": 5850,
"ctxt": 0
},
"value": "r15",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5853,
"end": 5867,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5853,
"end": 5858,
"ctxt": 0
},
"value": "foo15",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5859,
"end": 5866,
"ctxt": 0
},
"value": "r15arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5876,
"end": 5920,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5880,
"end": 5919,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5880,
"end": 5887,
"ctxt": 0
},
"value": "r16arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5890,
"end": 5919,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5907,
"end": 5911,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5908,
"end": 5911,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5910,
"end": 5911,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5910,
"end": 5911,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "ArrayExpression",
"span": {
"start": 5916,
"end": 5919,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 5917,
"end": 5918,
"ctxt": 0
},
"value": 1.0
}
}
]
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 5890,
"end": 5906,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 5891,
"end": 5905,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 5891,
"end": 5892,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": {
"type": "TsTypeReference",
"span": {
"start": 5901,
"end": 5905,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5901,
"end": 5905,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeParams": null
},
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5921,
"end": 5946,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5925,
"end": 5945,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5925,
"end": 5928,
"ctxt": 0
},
"value": "r16",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 5931,
"end": 5945,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 5931,
"end": 5936,
"ctxt": 0
},
"value": "foo16",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 5937,
"end": 5944,
"ctxt": 0
},
"value": "r16arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5948,
"end": 5995,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5952,
"end": 5994,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5952,
"end": 5959,
"ctxt": 0
},
"value": "r17arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 5962,
"end": 5994,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5966,
"end": 5980,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5967,
"end": 5980,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 5969,
"end": 5980,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5970,
"end": 5974,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5971,
"end": 5974,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5973,
"end": 5974,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5973,
"end": 5974,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5976,
"end": 5980,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5979,
"end": 5980,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5979,
"end": 5980,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 5985,
"end": 5994,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 5990,
"end": 5994,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 5986,
"end": 5989,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 5986,
"end": 5987,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5986,
"end": 5987,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 5962,
"end": 5965,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 5963,
"end": 5964,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 5963,
"end": 5964,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5996,
"end": 6021,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 6000,
"end": 6020,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 6000,
"end": 6003,
"ctxt": 0
},
"value": "r17",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 6006,
"end": 6020,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 6006,
"end": 6011,
"ctxt": 0
},
"value": "foo17",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 6012,
"end": 6019,
"ctxt": 0
},
"value": "r17arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 6029,
"end": 6076,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 6033,
"end": 6075,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 6033,
"end": 6040,
"ctxt": 0
},
"value": "r18arg1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ArrowFunctionExpression",
"span": {
"start": 6043,
"end": 6075,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 6047,
"end": 6061,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 6048,
"end": 6061,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 6050,
"end": 6061,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 6051,
"end": 6055,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 6052,
"end": 6055,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6054,
"end": 6055,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 6054,
"end": 6055,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 6057,
"end": 6061,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 6060,
"end": 6061,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 6060,
"end": 6061,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
}
],
"body": {
"type": "TsTypeAssertion",
"span": {
"start": 6066,
"end": 6075,
"ctxt": 0
},
"expression": {
"type": "NullLiteral",
"span": {
"start": 6071,
"end": 6075,
"ctxt": 0
}
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 6067,
"end": 6070,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 6067,
"end": 6068,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 6067,
"end": 6068,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
"async": false,
"generator": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 6043,
"end": 6046,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 6044,
"end": 6045,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 6044,
"end": 6045,
"ctxt": 0
},
"value": "T",
"optional": false
},
"in": false,
"out": false,
"constraint": null,
"default": null
}
]
},
"returnType": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 6077,
"end": 6102,
"ctxt": 0
},
"kind": "var",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 6081,
"end": 6101,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 6081,
"end": 6084,
"ctxt": 0
},
"value": "r18",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 6087,
"end": 6101,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 6087,
"end": 6092,
"ctxt": 0
},
"value": "foo18",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 6093,
"end": 6100,
"ctxt": 0
},
"value": "r18arg1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
}
],
"interpreter": null
}