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

1338 lines
29 KiB
JSON

{
"type": "Script",
"span": {
"start": 41,
"end": 1217,
"ctxt": 0
},
"body": [
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 55,
"end": 63,
"ctxt": 0
},
"value": "Thenable",
"optional": false
},
"declare": true,
"span": {
"start": 41,
"end": 81,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassMethod",
"span": {
"start": 66,
"end": 79,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 66,
"end": 70,
"ctxt": 0
},
"value": "then",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 66,
"end": 79,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 72,
"end": 78,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 74,
"end": 78,
"ctxt": 0
},
"kind": "void"
}
}
},
"kind": "method",
"isStatic": false,
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "VariableDeclaration",
"span": {
"start": 82,
"end": 101,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 94,
"end": 100,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 94,
"end": 95,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 95,
"end": 100,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 97,
"end": 100,
"ctxt": 0
},
"kind": "any"
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 102,
"end": 137,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 114,
"end": 136,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 114,
"end": 117,
"ctxt": 0
},
"value": "obj",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 117,
"end": 136,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 119,
"end": 136,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 121,
"end": 134,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 121,
"end": 125,
"ctxt": 0
},
"value": "then",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 125,
"end": 133,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 127,
"end": 133,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 138,
"end": 169,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 150,
"end": 168,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 150,
"end": 158,
"ctxt": 0
},
"value": "thenable",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 158,
"end": 168,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 160,
"end": 168,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 160,
"end": 168,
"ctxt": 0
},
"value": "Thenable",
"optional": false
},
"typeParams": null
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 185,
"end": 188,
"ctxt": 0
},
"value": "fn1",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 170,
"end": 194,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 191,
"end": 194,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 234,
"end": 237,
"ctxt": 0
},
"value": "fn2",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 219,
"end": 248,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 245,
"end": 248,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 239,
"end": 244,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 241,
"end": 244,
"ctxt": 0
},
"members": []
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 273,
"end": 276,
"ctxt": 0
},
"value": "fn3",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 258,
"end": 287,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 284,
"end": 287,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 278,
"end": 283,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 280,
"end": 283,
"ctxt": 0
},
"kind": "any"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 312,
"end": 315,
"ctxt": 0
},
"value": "fn4",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 297,
"end": 329,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 326,
"end": 329,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 317,
"end": 325,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 319,
"end": 325,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 354,
"end": 357,
"ctxt": 0
},
"value": "fn5",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 339,
"end": 382,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 379,
"end": 382,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 359,
"end": 378,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 361,
"end": 378,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 361,
"end": 372,
"ctxt": 0
},
"value": "PromiseLike",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 372,
"end": 378,
"ctxt": 0
},
"params": [
{
"type": "TsKeywordType",
"span": {
"start": 373,
"end": 377,
"ctxt": 0
},
"kind": "void"
}
]
}
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 407,
"end": 410,
"ctxt": 0
},
"value": "fn6",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 392,
"end": 426,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 423,
"end": 426,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 412,
"end": 422,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 414,
"end": 422,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 414,
"end": 422,
"ctxt": 0
},
"value": "Thenable",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 451,
"end": 454,
"ctxt": 0
},
"value": "fn7",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 436,
"end": 468,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 457,
"end": 468,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 459,
"end": 466,
"ctxt": 0
},
"argument": null
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 508,
"end": 511,
"ctxt": 0
},
"value": "fn8",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 493,
"end": 527,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 514,
"end": 527,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 516,
"end": 525,
"ctxt": 0
},
"argument": {
"type": "NumericLiteral",
"span": {
"start": 523,
"end": 524,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 569,
"end": 572,
"ctxt": 0
},
"value": "fn9",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 554,
"end": 591,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 575,
"end": 591,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 577,
"end": 589,
"ctxt": 0
},
"argument": {
"type": "NullLiteral",
"span": {
"start": 584,
"end": 588,
"ctxt": 0
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 630,
"end": 634,
"ctxt": 0
},
"value": "fn10",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 615,
"end": 658,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 637,
"end": 658,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 639,
"end": 656,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 646,
"end": 655,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 697,
"end": 701,
"ctxt": 0
},
"value": "fn11",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 682,
"end": 717,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 704,
"end": 717,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 706,
"end": 715,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 713,
"end": 714,
"ctxt": 0
},
"value": "a",
"optional": false
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 756,
"end": 760,
"ctxt": 0
},
"value": "fn12",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 741,
"end": 778,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 763,
"end": 778,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 765,
"end": 776,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 772,
"end": 775,
"ctxt": 0
},
"value": "obj",
"optional": false
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 831,
"end": 835,
"ctxt": 0
},
"value": "fn13",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 816,
"end": 858,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 838,
"end": 858,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 840,
"end": 856,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 847,
"end": 855,
"ctxt": 0
},
"value": "thenable",
"optional": false
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 883,
"end": 887,
"ctxt": 0
},
"value": "fn14",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 868,
"end": 902,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 890,
"end": 902,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 892,
"end": 900,
"ctxt": 0
},
"expression": {
"type": "AwaitExpression",
"span": {
"start": 892,
"end": 899,
"ctxt": 0
},
"argument": {
"type": "NumericLiteral",
"span": {
"start": 898,
"end": 899,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 942,
"end": 946,
"ctxt": 0
},
"value": "fn15",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 927,
"end": 964,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 949,
"end": 964,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 951,
"end": 962,
"ctxt": 0
},
"expression": {
"type": "AwaitExpression",
"span": {
"start": 951,
"end": 961,
"ctxt": 0
},
"argument": {
"type": "NullLiteral",
"span": {
"start": 957,
"end": 961,
"ctxt": 0
}
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1004,
"end": 1008,
"ctxt": 0
},
"value": "fn16",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 989,
"end": 1031,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1011,
"end": 1031,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1013,
"end": 1029,
"ctxt": 0
},
"expression": {
"type": "AwaitExpression",
"span": {
"start": 1013,
"end": 1028,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1019,
"end": 1028,
"ctxt": 0
},
"value": "undefined",
"optional": false
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1071,
"end": 1075,
"ctxt": 0
},
"value": "fn17",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 1056,
"end": 1090,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1078,
"end": 1090,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1080,
"end": 1088,
"ctxt": 0
},
"expression": {
"type": "AwaitExpression",
"span": {
"start": 1080,
"end": 1087,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1086,
"end": 1087,
"ctxt": 0
},
"value": "a",
"optional": false
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1130,
"end": 1134,
"ctxt": 0
},
"value": "fn18",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 1115,
"end": 1151,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1137,
"end": 1151,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1139,
"end": 1149,
"ctxt": 0
},
"expression": {
"type": "AwaitExpression",
"span": {
"start": 1139,
"end": 1148,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1145,
"end": 1148,
"ctxt": 0
},
"value": "obj",
"optional": false
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1191,
"end": 1195,
"ctxt": 0
},
"value": "fn19",
"optional": false
},
"declare": false,
"params": [],
"decorators": [],
"span": {
"start": 1176,
"end": 1217,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1198,
"end": 1217,
"ctxt": 0
},
"stmts": [
{
"type": "ExpressionStatement",
"span": {
"start": 1200,
"end": 1215,
"ctxt": 0
},
"expression": {
"type": "AwaitExpression",
"span": {
"start": 1200,
"end": 1214,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1206,
"end": 1214,
"ctxt": 0
},
"value": "thenable",
"optional": false
}
}
}
]
},
"generator": false,
"async": true,
"typeParameters": null,
"returnType": null
}
],
"interpreter": null
}