swc/crates/swc_ecma_parser/tests/tsc/destructuringParameterDeclaration1ES5.json
2022-04-05 12:46:35 +00:00

6424 lines
178 KiB
JSON

{
"type": "Script",
"span": {
"start": 305,
"end": 3692,
"ctxt": 0
},
"body": [
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 314,
"end": 316,
"ctxt": 0
},
"value": "a1",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 317,
"end": 360,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ArrayPattern",
"span": {
"start": 317,
"end": 360,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 318,
"end": 319,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 321,
"end": 322,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "ArrayPattern",
"span": {
"start": 324,
"end": 329,
"ctxt": 0
},
"elements": [
{
"type": "ArrayPattern",
"span": {
"start": 325,
"end": 328,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 326,
"end": 327,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 330,
"end": 360,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 332,
"end": 360,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 333,
"end": 339,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 333,
"end": 339,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 341,
"end": 347,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 341,
"end": 347,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 349,
"end": 359,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsArrayType",
"span": {
"start": 349,
"end": 359,
"ctxt": 0
},
"elemType": {
"type": "TsArrayType",
"span": {
"start": 349,
"end": 357,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 349,
"end": 355,
"ctxt": 0
},
"kind": "string"
}
}
}
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 305,
"end": 365,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 362,
"end": 365,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 375,
"end": 377,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 378,
"end": 405,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 378,
"end": 405,
"ctxt": 0
},
"value": "o",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 379,
"end": 405,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 381,
"end": 405,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 383,
"end": 393,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 383,
"end": 384,
"ctxt": 0
},
"value": "x",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 384,
"end": 392,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 386,
"end": 392,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 394,
"end": 403,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 394,
"end": 395,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 395,
"end": 403,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 397,
"end": 403,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 366,
"end": 410,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 407,
"end": 410,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 420,
"end": 422,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 423,
"end": 532,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 423,
"end": 532,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 424,
"end": 425,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 424,
"end": 425,
"ctxt": 0
},
"value": "j",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 427,
"end": 428,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 427,
"end": 428,
"ctxt": 0
},
"value": "k",
"optional": false
},
"value": null
},
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 430,
"end": 431,
"ctxt": 0
},
"value": "l",
"optional": false
},
"value": {
"type": "ObjectPattern",
"span": {
"start": 433,
"end": 439,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 434,
"end": 435,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 434,
"end": 435,
"ctxt": 0
},
"value": "m",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 437,
"end": 438,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 437,
"end": 438,
"ctxt": 0
},
"value": "n",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
}
},
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 441,
"end": 442,
"ctxt": 0
},
"value": "q",
"optional": false
},
"value": {
"type": "ArrayPattern",
"span": {
"start": 444,
"end": 453,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 445,
"end": 446,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 448,
"end": 449,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 451,
"end": 452,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 454,
"end": 532,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 456,
"end": 532,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 458,
"end": 468,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 458,
"end": 459,
"ctxt": 0
},
"value": "j",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 459,
"end": 467,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 461,
"end": 467,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 469,
"end": 479,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 469,
"end": 470,
"ctxt": 0
},
"value": "k",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 470,
"end": 478,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 472,
"end": 478,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 480,
"end": 509,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 480,
"end": 481,
"ctxt": 0
},
"value": "l",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 481,
"end": 508,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 483,
"end": 508,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 485,
"end": 496,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 485,
"end": 486,
"ctxt": 0
},
"value": "m",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 486,
"end": 495,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 488,
"end": 495,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 497,
"end": 506,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 497,
"end": 498,
"ctxt": 0
},
"value": "n",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 498,
"end": 506,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 500,
"end": 506,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 510,
"end": 530,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 510,
"end": 511,
"ctxt": 0
},
"value": "q",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 511,
"end": 530,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 513,
"end": 530,
"ctxt": 0
},
"elemType": {
"type": "TsParenthesizedType",
"span": {
"start": 513,
"end": 528,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsUnionType",
"span": {
"start": 514,
"end": 527,
"ctxt": 0
},
"types": [
{
"type": "TsKeywordType",
"span": {
"start": 514,
"end": 520,
"ctxt": 0
},
"kind": "number"
},
{
"type": "TsKeywordType",
"span": {
"start": 521,
"end": 527,
"ctxt": 0
},
"kind": "string"
}
]
}
}
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 411,
"end": 537,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 534,
"end": 537,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "EmptyStatement",
"span": {
"start": 537,
"end": 538,
"ctxt": 0
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 548,
"end": 550,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 551,
"end": 583,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 551,
"end": 583,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 552,
"end": 553,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 552,
"end": 553,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 555,
"end": 556,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 555,
"end": 556,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 557,
"end": 583,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 559,
"end": 583,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 561,
"end": 571,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 561,
"end": 562,
"ctxt": 0
},
"value": "x",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 562,
"end": 570,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 564,
"end": 570,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 572,
"end": 581,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 572,
"end": 573,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 573,
"end": 581,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 575,
"end": 581,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 539,
"end": 588,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 585,
"end": 588,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 590,
"end": 614,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 590,
"end": 613,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 590,
"end": 592,
"ctxt": 0
},
"value": "a1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 593,
"end": 612,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 594,
"end": 595,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 597,
"end": 598,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 600,
"end": 611,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 601,
"end": 610,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 602,
"end": 609,
"ctxt": 0
},
"value": "world",
"raw": "\"world\""
}
}
]
}
}
]
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 615,
"end": 642,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 615,
"end": 641,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 615,
"end": 617,
"ctxt": 0
},
"value": "a1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 618,
"end": 640,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 619,
"end": 620,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 622,
"end": 623,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 625,
"end": 636,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 626,
"end": 635,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 627,
"end": 634,
"ctxt": 0
},
"value": "world",
"raw": "\"world\""
}
}
]
}
}
]
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 638,
"end": 639,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 908,
"end": 910,
"ctxt": 0
},
"value": "b1",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 911,
"end": 932,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 911,
"end": 932,
"ctxt": 0
},
"left": {
"type": "Identifier",
"span": {
"start": 911,
"end": 912,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ArrayExpression",
"span": {
"start": 915,
"end": 932,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 916,
"end": 925,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 927,
"end": 931,
"ctxt": 0
}
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 899,
"end": 937,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 934,
"end": 937,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "EmptyStatement",
"span": {
"start": 937,
"end": 938,
"ctxt": 0
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 948,
"end": 950,
"ctxt": 0
},
"value": "b2",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 951,
"end": 959,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 951,
"end": 959,
"ctxt": 0
},
"left": {
"type": "Identifier",
"span": {
"start": 951,
"end": 952,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "NullLiteral",
"span": {
"start": 955,
"end": 959,
"ctxt": 0
}
},
"typeAnnotation": null
}
},
{
"type": "Parameter",
"span": {
"start": 961,
"end": 987,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 961,
"end": 987,
"ctxt": 0
},
"left": {
"type": "Identifier",
"span": {
"start": 961,
"end": 962,
"ctxt": 0
},
"value": "o",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ObjectExpression",
"span": {
"start": 965,
"end": 987,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 967,
"end": 968,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 970,
"end": 971,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 973,
"end": 974,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "Identifier",
"span": {
"start": 976,
"end": 985,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 939,
"end": 992,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 989,
"end": 992,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1002,
"end": 1004,
"ctxt": 0
},
"value": "b3",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1005,
"end": 1055,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 1005,
"end": 1055,
"ctxt": 0
},
"left": {
"type": "ObjectPattern",
"span": {
"start": 1005,
"end": 1021,
"ctxt": 0
},
"properties": [
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1006,
"end": 1007,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "ObjectPattern",
"span": {
"start": 1009,
"end": 1020,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1010,
"end": 1011,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1010,
"end": 1011,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
},
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1013,
"end": 1014,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "ObjectPattern",
"span": {
"start": 1016,
"end": 1019,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1017,
"end": 1018,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1017,
"end": 1018,
"ctxt": 0
},
"value": "j",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ObjectExpression",
"span": {
"start": 1024,
"end": 1055,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1026,
"end": 1027,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "ObjectExpression",
"span": {
"start": 1029,
"end": 1053,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1031,
"end": 1032,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1034,
"end": 1038,
"ctxt": 0
},
"value": "hi",
"raw": "\"hi\""
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1040,
"end": 1041,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "ObjectExpression",
"span": {
"start": 1043,
"end": 1051,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1045,
"end": 1046,
"ctxt": 0
},
"value": "j",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1048,
"end": 1049,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
]
}
}
]
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 993,
"end": 1060,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1057,
"end": 1060,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1062,
"end": 1119,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1072,
"end": 1074,
"ctxt": 0
},
"value": "F1",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1075,
"end": 1119,
"ctxt": 0
},
"body": [
{
"type": "TsMethodSignature",
"span": {
"start": 1081,
"end": 1117,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1081,
"end": 1083,
"ctxt": 0
},
"value": "b5",
"optional": false
},
"computed": false,
"optional": false,
"params": [
{
"type": "Identifier",
"span": {
"start": 1084,
"end": 1085,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1087,
"end": 1088,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": null
},
{
"type": "ArrayPattern",
"span": {
"start": 1090,
"end": 1098,
"ctxt": 0
},
"elements": [
null,
{
"type": "Identifier",
"span": {
"start": 1093,
"end": 1094,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1096,
"end": 1097,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
},
{
"type": "ObjectPattern",
"span": {
"start": 1100,
"end": 1115,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1101,
"end": 1102,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1101,
"end": 1102,
"ctxt": 0
},
"value": "p",
"optional": false
},
"value": null
},
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1104,
"end": 1105,
"ctxt": 0
},
"value": "m",
"optional": false
},
"value": {
"type": "ObjectPattern",
"span": {
"start": 1107,
"end": 1114,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1109,
"end": 1110,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1109,
"end": 1110,
"ctxt": 0
},
"value": "q",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1112,
"end": 1113,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1112,
"end": 1113,
"ctxt": 0
},
"value": "r",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
}
],
"typeAnn": null,
"typeParams": null
}
]
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1130,
"end": 1132,
"ctxt": 0
},
"value": "b6",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1133,
"end": 1173,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 1133,
"end": 1173,
"ctxt": 0
},
"left": {
"type": "ArrayPattern",
"span": {
"start": 1133,
"end": 1142,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 1134,
"end": 1135,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1137,
"end": 1138,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1140,
"end": 1141,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ArrayExpression",
"span": {
"start": 1145,
"end": 1173,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1146,
"end": 1155,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NullLiteral",
"span": {
"start": 1157,
"end": 1161,
"ctxt": 0
}
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1163,
"end": 1172,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1121,
"end": 1178,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1175,
"end": 1178,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1188,
"end": 1190,
"ctxt": 0
},
"value": "b7",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1191,
"end": 1262,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 1191,
"end": 1262,
"ctxt": 0
},
"left": {
"type": "ArrayPattern",
"span": {
"start": 1191,
"end": 1209,
"ctxt": 0
},
"elements": [
{
"type": "ArrayPattern",
"span": {
"start": 1192,
"end": 1195,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 1193,
"end": 1194,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1197,
"end": 1198,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "ArrayPattern",
"span": {
"start": 1200,
"end": 1208,
"ctxt": 0
},
"elements": [
{
"type": "ArrayPattern",
"span": {
"start": 1201,
"end": 1207,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 1202,
"end": 1203,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1205,
"end": 1206,
"ctxt": 0
},
"value": "d",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ArrayExpression",
"span": {
"start": 1212,
"end": 1262,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1213,
"end": 1224,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1214,
"end": 1223,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
}
]
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1226,
"end": 1235,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1237,
"end": 1261,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1238,
"end": 1260,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1239,
"end": 1248,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 1250,
"end": 1259,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
}
]
}
}
]
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1179,
"end": 1267,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1264,
"end": 1267,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 1269,
"end": 1283,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1269,
"end": 1282,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1269,
"end": 1271,
"ctxt": 0
},
"value": "b1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1272,
"end": 1281,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1273,
"end": 1274,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1276,
"end": 1277,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1279,
"end": 1280,
"ctxt": 0
},
"value": 3.0,
"raw": "3"
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1317,
"end": 1355,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1317,
"end": 1354,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1317,
"end": 1319,
"ctxt": 0
},
"value": "b2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1320,
"end": 1328,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
},
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 1330,
"end": 1353,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1332,
"end": 1333,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1335,
"end": 1338,
"ctxt": 0
},
"value": 200.0,
"raw": "200"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1340,
"end": 1341,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1343,
"end": 1351,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1356,
"end": 1390,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1356,
"end": 1389,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1356,
"end": 1358,
"ctxt": 0
},
"value": "b2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1359,
"end": 1367,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
},
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 1369,
"end": 1388,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1371,
"end": 1372,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1374,
"end": 1377,
"ctxt": 0
},
"value": 200.0,
"raw": "200"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1379,
"end": 1380,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 1382,
"end": 1386,
"ctxt": 0
},
"value": true
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1391,
"end": 1412,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1391,
"end": 1411,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1391,
"end": 1393,
"ctxt": 0
},
"value": "b6",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1394,
"end": 1410,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1395,
"end": 1403,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1405,
"end": 1406,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1408,
"end": 1409,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1457,
"end": 1494,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1457,
"end": 1493,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1457,
"end": 1459,
"ctxt": 0
},
"value": "b7",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1460,
"end": 1492,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1461,
"end": 1471,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1462,
"end": 1470,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
}
]
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1473,
"end": 1474,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1476,
"end": 1491,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 1477,
"end": 1490,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 1478,
"end": 1482,
"ctxt": 0
},
"value": true
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 1484,
"end": 1489,
"ctxt": 0
},
"value": false
}
}
]
}
}
]
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "TsEnumDeclaration",
"span": {
"start": 1655,
"end": 1669,
"ctxt": 0
},
"declare": false,
"isConst": false,
"id": {
"type": "Identifier",
"span": {
"start": 1660,
"end": 1663,
"ctxt": 0
},
"value": "Foo",
"optional": false
},
"members": [
{
"type": "TsEnumMember",
"span": {
"start": 1666,
"end": 1667,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1666,
"end": 1667,
"ctxt": 0
},
"value": "a",
"optional": false
},
"init": null
}
]
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1679,
"end": 1681,
"ctxt": 0
},
"value": "c0",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1682,
"end": 1698,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 1682,
"end": 1698,
"ctxt": 0
},
"properties": [
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1683,
"end": 1684,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "ObjectPattern",
"span": {
"start": 1686,
"end": 1697,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1687,
"end": 1688,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1687,
"end": 1688,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
},
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1690,
"end": 1691,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "ObjectPattern",
"span": {
"start": 1693,
"end": 1696,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1694,
"end": 1695,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1694,
"end": 1695,
"ctxt": 0
},
"value": "j",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1670,
"end": 1703,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1700,
"end": 1703,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1713,
"end": 1715,
"ctxt": 0
},
"value": "c1",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1716,
"end": 1731,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 1716,
"end": 1731,
"ctxt": 0
},
"left": {
"type": "ObjectPattern",
"span": {
"start": 1716,
"end": 1719,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1717,
"end": 1718,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1717,
"end": 1718,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ObjectExpression",
"span": {
"start": 1722,
"end": 1731,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1724,
"end": 1725,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1727,
"end": 1729,
"ctxt": 0
},
"value": 10.0,
"raw": "10"
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1704,
"end": 1736,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1733,
"end": 1736,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1746,
"end": 1748,
"ctxt": 0
},
"value": "c2",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1749,
"end": 1757,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 1749,
"end": 1757,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1750,
"end": 1756,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1750,
"end": 1751,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1754,
"end": 1756,
"ctxt": 0
},
"value": 10.0,
"raw": "10"
}
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1737,
"end": 1762,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1759,
"end": 1762,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1772,
"end": 1774,
"ctxt": 0
},
"value": "c3",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1775,
"end": 1816,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 1775,
"end": 1816,
"ctxt": 0
},
"left": {
"type": "ObjectPattern",
"span": {
"start": 1775,
"end": 1799,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 1776,
"end": 1777,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 1776,
"end": 1777,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1778,
"end": 1799,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1780,
"end": 1799,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1782,
"end": 1798,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1782,
"end": 1783,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1783,
"end": 1798,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsUnionType",
"span": {
"start": 1785,
"end": 1798,
"ctxt": 0
},
"types": [
{
"type": "TsKeywordType",
"span": {
"start": 1785,
"end": 1791,
"ctxt": 0
},
"kind": "number"
},
{
"type": "TsKeywordType",
"span": {
"start": 1792,
"end": 1798,
"ctxt": 0
},
"kind": "string"
}
]
}
},
"typeParams": null
}
]
}
}
},
"right": {
"type": "ObjectExpression",
"span": {
"start": 1802,
"end": 1816,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1804,
"end": 1805,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1807,
"end": 1814,
"ctxt": 0
},
"value": "hello",
"raw": "\"hello\""
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1763,
"end": 1821,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1818,
"end": 1821,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1831,
"end": 1833,
"ctxt": 0
},
"value": "c5",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1834,
"end": 1847,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ArrayPattern",
"span": {
"start": 1834,
"end": 1847,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 1835,
"end": 1836,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1838,
"end": 1839,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "ArrayPattern",
"span": {
"start": 1841,
"end": 1846,
"ctxt": 0
},
"elements": [
{
"type": "ArrayPattern",
"span": {
"start": 1842,
"end": 1845,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 1843,
"end": 1844,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1822,
"end": 1852,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1849,
"end": 1852,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1862,
"end": 1864,
"ctxt": 0
},
"value": "c6",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1865,
"end": 1880,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ArrayPattern",
"span": {
"start": 1865,
"end": 1880,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 1866,
"end": 1867,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 1869,
"end": 1870,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "ArrayPattern",
"span": {
"start": 1872,
"end": 1879,
"ctxt": 0
},
"elements": [
{
"type": "ArrayPattern",
"span": {
"start": 1873,
"end": 1878,
"ctxt": 0
},
"elements": [
{
"type": "AssignmentPattern",
"span": {
"start": 1874,
"end": 1877,
"ctxt": 0
},
"left": {
"type": "Identifier",
"span": {
"start": 1874,
"end": 1875,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 1876,
"end": 1877,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
},
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 1853,
"end": 1885,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1882,
"end": 1885,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 1887,
"end": 1925,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1887,
"end": 1924,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1887,
"end": 1889,
"ctxt": 0
},
"value": "c0",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 1890,
"end": 1923,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1891,
"end": 1892,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "ObjectExpression",
"span": {
"start": 1895,
"end": 1922,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1897,
"end": 1898,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1900,
"end": 1901,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1903,
"end": 1904,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "ObjectExpression",
"span": {
"start": 1906,
"end": 1920,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1908,
"end": 1909,
"ctxt": 0
},
"value": "j",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1911,
"end": 1918,
"ctxt": 0
},
"value": "world",
"raw": "\"world\""
}
}
]
}
}
]
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 1979,
"end": 2021,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1979,
"end": 2020,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1979,
"end": 1981,
"ctxt": 0
},
"value": "c0",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 1982,
"end": 2019,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1983,
"end": 1984,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "ObjectExpression",
"span": {
"start": 1987,
"end": 2018,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1989,
"end": 1990,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1992,
"end": 2000,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2002,
"end": 2003,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "ObjectExpression",
"span": {
"start": 2005,
"end": 2016,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2007,
"end": 2008,
"ctxt": 0
},
"value": "j",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 2010,
"end": 2014,
"ctxt": 0
},
"value": true
}
}
]
}
}
]
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2072,
"end": 2077,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2072,
"end": 2076,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2072,
"end": 2074,
"ctxt": 0
},
"value": "c1",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2121,
"end": 2133,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2121,
"end": 2133,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2121,
"end": 2123,
"ctxt": 0
},
"value": "c1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 2124,
"end": 2132,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2126,
"end": 2127,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2129,
"end": 2130,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2172,
"end": 2179,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2172,
"end": 2178,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2172,
"end": 2174,
"ctxt": 0
},
"value": "c2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 2175,
"end": 2177,
"ctxt": 0
},
"properties": []
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2220,
"end": 2230,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2220,
"end": 2229,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2220,
"end": 2222,
"ctxt": 0
},
"value": "c2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 2223,
"end": 2228,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2224,
"end": 2225,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2226,
"end": 2227,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2269,
"end": 2282,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2269,
"end": 2281,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2269,
"end": 2271,
"ctxt": 0
},
"value": "c3",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ObjectExpression",
"span": {
"start": 2272,
"end": 2280,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2274,
"end": 2275,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2277,
"end": 2278,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2329,
"end": 2354,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2329,
"end": 2353,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2329,
"end": 2331,
"ctxt": 0
},
"value": "c5",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 2332,
"end": 2352,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2333,
"end": 2334,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2336,
"end": 2337,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 2339,
"end": 2351,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 2340,
"end": 2350,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2341,
"end": 2349,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
}
]
}
}
]
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2411,
"end": 2449,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2411,
"end": 2448,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2411,
"end": 2413,
"ctxt": 0
},
"value": "c5",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 2414,
"end": 2447,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2415,
"end": 2416,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2418,
"end": 2419,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
},
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 2421,
"end": 2433,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "ArrayExpression",
"span": {
"start": 2422,
"end": 2432,
"ctxt": 0
},
"elements": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2423,
"end": 2431,
"ctxt": 0
},
"value": "string",
"raw": "\"string\""
}
}
]
}
}
]
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 2435,
"end": 2440,
"ctxt": 0
},
"value": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 2442,
"end": 2446,
"ctxt": 0
},
"value": true
}
}
]
}
}
],
"typeArguments": null
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2643,
"end": 2645,
"ctxt": 0
},
"value": "d0",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2646,
"end": 2648,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2646,
"end": 2647,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2634,
"end": 2653,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2650,
"end": 2653,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2663,
"end": 2665,
"ctxt": 0
},
"value": "d0",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2666,
"end": 2672,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 2666,
"end": 2672,
"ctxt": 0
},
"left": {
"type": "Identifier",
"span": {
"start": 2666,
"end": 2667,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2670,
"end": 2672,
"ctxt": 0
},
"value": 10.0,
"raw": "10"
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2654,
"end": 2677,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2674,
"end": 2677,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2679,
"end": 2754,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2689,
"end": 2691,
"ctxt": 0
},
"value": "F2",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2692,
"end": 2754,
"ctxt": 0
},
"body": [
{
"type": "TsMethodSignature",
"span": {
"start": 2698,
"end": 2713,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2698,
"end": 2700,
"ctxt": 0
},
"value": "d3",
"optional": false
},
"computed": false,
"optional": false,
"params": [
{
"type": "ArrayPattern",
"span": {
"start": 2701,
"end": 2710,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 2702,
"end": 2703,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2705,
"end": 2706,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2708,
"end": 2709,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": true,
"typeAnnotation": null
}
],
"typeAnn": null,
"typeParams": null
},
{
"type": "TsMethodSignature",
"span": {
"start": 2718,
"end": 2733,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2718,
"end": 2720,
"ctxt": 0
},
"value": "d4",
"optional": false
},
"computed": false,
"optional": false,
"params": [
{
"type": "ObjectPattern",
"span": {
"start": 2721,
"end": 2730,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2722,
"end": 2723,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2722,
"end": 2723,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2725,
"end": 2726,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2725,
"end": 2726,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2728,
"end": 2729,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2728,
"end": 2729,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": null
}
],
"optional": true,
"typeAnnotation": null
}
],
"typeAnn": null,
"typeParams": null
},
{
"type": "TsMethodSignature",
"span": {
"start": 2738,
"end": 2752,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2738,
"end": 2740,
"ctxt": 0
},
"value": "e0",
"optional": false
},
"computed": false,
"optional": false,
"params": [
{
"type": "ArrayPattern",
"span": {
"start": 2741,
"end": 2750,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 2742,
"end": 2743,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2745,
"end": 2746,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2748,
"end": 2749,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
],
"typeAnn": null,
"typeParams": null
}
]
}
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2762,
"end": 2764,
"ctxt": 0
},
"value": "C2",
"optional": false
},
"declare": false,
"span": {
"start": 2756,
"end": 2852,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "Constructor",
"span": {
"start": 2785,
"end": 2802,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2785,
"end": 2796,
"ctxt": 0
},
"value": "constructor",
"optional": false
},
"params": [],
"body": {
"type": "BlockStatement",
"span": {
"start": 2799,
"end": 2802,
"ctxt": 0
},
"stmts": []
},
"accessibility": null,
"isOptional": false
},
{
"type": "ClassMethod",
"span": {
"start": 2807,
"end": 2815,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2807,
"end": 2809,
"ctxt": 0
},
"value": "d3",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2807,
"end": 2815,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2812,
"end": 2815,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2820,
"end": 2828,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2820,
"end": 2822,
"ctxt": 0
},
"value": "d4",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2820,
"end": 2828,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2825,
"end": 2828,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2833,
"end": 2850,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2833,
"end": 2835,
"ctxt": 0
},
"value": "e0",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 2836,
"end": 2845,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ArrayPattern",
"span": {
"start": 2836,
"end": 2845,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 2837,
"end": 2838,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2840,
"end": 2841,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2843,
"end": 2844,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2833,
"end": 2850,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2847,
"end": 2850,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2776,
"end": 2778,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2776,
"end": 2778,
"ctxt": 0
},
"value": "F2",
"optional": false
},
"typeArguments": null
}
]
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2860,
"end": 2862,
"ctxt": 0
},
"value": "C3",
"optional": false
},
"declare": false,
"span": {
"start": 2854,
"end": 2946,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassMethod",
"span": {
"start": 2883,
"end": 2900,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2883,
"end": 2885,
"ctxt": 0
},
"value": "d3",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 2886,
"end": 2895,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ArrayPattern",
"span": {
"start": 2886,
"end": 2895,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 2887,
"end": 2888,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2890,
"end": 2891,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2893,
"end": 2894,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2883,
"end": 2900,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2897,
"end": 2900,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2905,
"end": 2922,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2905,
"end": 2907,
"ctxt": 0
},
"value": "d4",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 2908,
"end": 2917,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 2908,
"end": 2917,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2909,
"end": 2910,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2909,
"end": 2910,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2912,
"end": 2913,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2912,
"end": 2913,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2915,
"end": 2916,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2915,
"end": 2916,
"ctxt": 0
},
"value": "z",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2905,
"end": 2922,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2919,
"end": 2922,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
},
{
"type": "ClassMethod",
"span": {
"start": 2927,
"end": 2944,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2927,
"end": 2929,
"ctxt": 0
},
"value": "e0",
"optional": false
},
"function": {
"params": [
{
"type": "Parameter",
"span": {
"start": 2930,
"end": 2939,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ArrayPattern",
"span": {
"start": 2930,
"end": 2939,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 2931,
"end": 2932,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2934,
"end": 2935,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2937,
"end": 2938,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2927,
"end": 2944,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2941,
"end": 2944,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2874,
"end": 2876,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2874,
"end": 2876,
"ctxt": 0
},
"value": "F2",
"optional": false
},
"typeArguments": null
}
]
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2958,
"end": 2960,
"ctxt": 0
},
"value": "d5",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2961,
"end": 2984,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "AssignmentPattern",
"span": {
"start": 2961,
"end": 2984,
"ctxt": 0
},
"left": {
"type": "ObjectPattern",
"span": {
"start": 2961,
"end": 2967,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2962,
"end": 2963,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2962,
"end": 2963,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
},
{
"type": "AssignmentPatternProperty",
"span": {
"start": 2965,
"end": 2966,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2965,
"end": 2966,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ObjectExpression",
"span": {
"start": 2970,
"end": 2984,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2972,
"end": 2973,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2975,
"end": 2976,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2978,
"end": 2979,
"ctxt": 0
},
"value": "y",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2981,
"end": 2982,
"ctxt": 0
},
"value": 2.0,
"raw": "2"
}
}
]
},
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 2949,
"end": 2989,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2986,
"end": 2989,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "ExpressionStatement",
"span": {
"start": 2990,
"end": 2995,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2990,
"end": 2994,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2990,
"end": 2992,
"ctxt": 0
},
"value": "d5",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3372,
"end": 3374,
"ctxt": 0
},
"value": "e1",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3375,
"end": 3386,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 3375,
"end": 3386,
"ctxt": 0
},
"properties": [
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 3376,
"end": 3377,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "Identifier",
"span": {
"start": 3379,
"end": 3385,
"ctxt": 0
},
"value": "number",
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 3363,
"end": 3391,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3388,
"end": 3391,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3431,
"end": 3433,
"ctxt": 0
},
"value": "e2",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3434,
"end": 3452,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 3434,
"end": 3452,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 3435,
"end": 3436,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 3435,
"end": 3436,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3437,
"end": 3452,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 3439,
"end": 3452,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 3441,
"end": 3450,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3441,
"end": 3442,
"ctxt": 0
},
"value": "x",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3442,
"end": 3450,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3444,
"end": 3450,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 3422,
"end": 3457,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3454,
"end": 3457,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3488,
"end": 3490,
"ctxt": 0
},
"value": "e3",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3491,
"end": 3510,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 3491,
"end": 3510,
"ctxt": 0
},
"properties": [
{
"type": "AssignmentPatternProperty",
"span": {
"start": 3492,
"end": 3493,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 3492,
"end": 3493,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3494,
"end": 3510,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 3496,
"end": 3510,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 3498,
"end": 3508,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3498,
"end": 3499,
"ctxt": 0
},
"value": "x",
"optional": false
},
"computed": false,
"optional": true,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3500,
"end": 3508,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3502,
"end": 3508,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 3479,
"end": 3515,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3512,
"end": 3515,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3563,
"end": 3565,
"ctxt": 0
},
"value": "e4",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3566,
"end": 3591,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 3566,
"end": 3591,
"ctxt": 0
},
"properties": [
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 3567,
"end": 3568,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "ArrayPattern",
"span": {
"start": 3570,
"end": 3589,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 3571,
"end": 3577,
"ctxt": 0
},
"value": "number",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 3578,
"end": 3584,
"ctxt": 0
},
"value": "string",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 3585,
"end": 3588,
"ctxt": 0
},
"value": "any",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"decorators": [],
"span": {
"start": 3554,
"end": 3596,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3593,
"end": 3596,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3637,
"end": 3639,
"ctxt": 0
},
"value": "e5",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3640,
"end": 3687,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "ObjectPattern",
"span": {
"start": 3640,
"end": 3687,
"ctxt": 0
},
"properties": [
{
"type": "KeyValuePatternProperty",
"key": {
"type": "Identifier",
"span": {
"start": 3641,
"end": 3642,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": {
"type": "ArrayPattern",
"span": {
"start": 3644,
"end": 3653,
"ctxt": 0
},
"elements": [
{
"type": "Identifier",
"span": {
"start": 3645,
"end": 3646,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 3648,
"end": 3649,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 3651,
"end": 3652,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": null
}
],
"optional": false,
"typeAnnotation": null
}
}
],
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3654,
"end": 3687,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 3656,
"end": 3687,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 3658,
"end": 3685,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3658,
"end": 3659,
"ctxt": 0
},
"value": "x",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3659,
"end": 3685,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 3661,
"end": 3685,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 3662,
"end": 3668,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 3662,
"end": 3668,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 3670,
"end": 3676,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 3670,
"end": 3676,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 3678,
"end": 3684,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 3678,
"end": 3684,
"ctxt": 0
},
"kind": "number"
}
}
]
}
},
"typeParams": null
}
]
}
}
}
}
],
"decorators": [],
"span": {
"start": 3628,
"end": 3692,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3689,
"end": 3692,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
],
"interpreter": null
}