• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "ETSGLOBAL",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 1,
14              "column": 1,
15              "program": "await_keyword.ets"
16            },
17            "end": {
18              "line": 1,
19              "column": 1,
20              "program": "await_keyword.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "main",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 1,
36                  "column": 1,
37                  "program": null
38                },
39                "end": {
40                  "line": 1,
41                  "column": 1,
42                  "program": null
43                }
44              }
45            },
46            "kind": "method",
47            "accessibility": "public",
48            "static": true,
49            "optional": false,
50            "computed": false,
51            "value": {
52              "type": "FunctionExpression",
53              "function": {
54                "type": "ScriptFunction",
55                "id": {
56                  "type": "Identifier",
57                  "name": "main",
58                  "decorators": [],
59                  "loc": {
60                    "start": {
61                      "line": 1,
62                      "column": 1,
63                      "program": null
64                    },
65                    "end": {
66                      "line": 1,
67                      "column": 1,
68                      "program": null
69                    }
70                  }
71                },
72                "generator": false,
73                "async": false,
74                "expression": false,
75                "params": [],
76                "body": {
77                  "type": "BlockStatement",
78                  "statements": [],
79                  "loc": {
80                    "start": {
81                      "line": 1,
82                      "column": 1,
83                      "program": null
84                    },
85                    "end": {
86                      "line": 1,
87                      "column": 1,
88                      "program": null
89                    }
90                  }
91                },
92                "loc": {
93                  "start": {
94                    "line": 1,
95                    "column": 1,
96                    "program": null
97                  },
98                  "end": {
99                    "line": 1,
100                    "column": 1,
101                    "program": null
102                  }
103                }
104              },
105              "loc": {
106                "start": {
107                  "line": 1,
108                  "column": 1,
109                  "program": null
110                },
111                "end": {
112                  "line": 1,
113                  "column": 1,
114                  "program": null
115                }
116              }
117            },
118            "overloads": [],
119            "decorators": [],
120            "loc": {
121              "start": {
122                "line": 1,
123                "column": 1,
124                "program": "await_keyword.ets"
125              },
126              "end": {
127                "line": 1,
128                "column": 1,
129                "program": "await_keyword.ets"
130              }
131            }
132          },
133          {
134            "type": "MethodDefinition",
135            "key": {
136              "type": "Identifier",
137              "name": "_$init$_",
138              "decorators": [],
139              "loc": {
140                "start": {
141                  "line": 1,
142                  "column": 1,
143                  "program": null
144                },
145                "end": {
146                  "line": 1,
147                  "column": 1,
148                  "program": null
149                }
150              }
151            },
152            "kind": "method",
153            "accessibility": "public",
154            "static": true,
155            "optional": false,
156            "computed": false,
157            "value": {
158              "type": "FunctionExpression",
159              "function": {
160                "type": "ScriptFunction",
161                "id": {
162                  "type": "Identifier",
163                  "name": "_$init$_",
164                  "decorators": [],
165                  "loc": {
166                    "start": {
167                      "line": 1,
168                      "column": 1,
169                      "program": null
170                    },
171                    "end": {
172                      "line": 1,
173                      "column": 1,
174                      "program": null
175                    }
176                  }
177                },
178                "generator": false,
179                "async": false,
180                "expression": false,
181                "params": [],
182                "body": {
183                  "type": "BlockStatement",
184                  "statements": [
185                    {
186                      "type": "ExpressionStatement",
187                      "expression": {
188                        "type": "AssignmentExpression",
189                        "operator": "=",
190                        "left": {
191                          "type": "Identifier",
192                          "name": "asyncLambda",
193                          "decorators": [],
194                          "loc": {
195                            "start": {
196                              "line": 22,
197                              "column": 5,
198                              "program": "await_keyword.ets"
199                            },
200                            "end": {
201                              "line": 22,
202                              "column": 16,
203                              "program": "await_keyword.ets"
204                            }
205                          }
206                        },
207                        "right": {
208                          "type": "ArrowFunctionExpression",
209                          "function": {
210                            "type": "ScriptFunction",
211                            "id": null,
212                            "generator": false,
213                            "async": true,
214                            "expression": false,
215                            "params": [],
216                            "returnType": {
217                              "type": "ETSTypeReference",
218                              "part": {
219                                "type": "ETSTypeReferencePart",
220                                "name": {
221                                  "type": "Identifier",
222                                  "name": "Promise",
223                                  "decorators": [],
224                                  "loc": {
225                                    "start": {
226                                      "line": 22,
227                                      "column": 59,
228                                      "program": "await_keyword.ets"
229                                    },
230                                    "end": {
231                                      "line": 22,
232                                      "column": 66,
233                                      "program": "await_keyword.ets"
234                                    }
235                                  }
236                                },
237                                "typeParams": {
238                                  "type": "TSTypeParameterInstantiation",
239                                  "params": [
240                                    {
241                                      "type": "ETSUnionType",
242                                      "types": [
243                                        {
244                                          "type": "ETSTypeReference",
245                                          "part": {
246                                            "type": "ETSTypeReferencePart",
247                                            "name": {
248                                              "type": "Identifier",
249                                              "name": "Object",
250                                              "decorators": [],
251                                              "loc": {
252                                                "start": {
253                                                  "line": 22,
254                                                  "column": 67,
255                                                  "program": "await_keyword.ets"
256                                                },
257                                                "end": {
258                                                  "line": 22,
259                                                  "column": 73,
260                                                  "program": "await_keyword.ets"
261                                                }
262                                              }
263                                            },
264                                            "loc": {
265                                              "start": {
266                                                "line": 22,
267                                                "column": 67,
268                                                "program": "await_keyword.ets"
269                                              },
270                                              "end": {
271                                                "line": 22,
272                                                "column": 75,
273                                                "program": "await_keyword.ets"
274                                              }
275                                            }
276                                          },
277                                          "loc": {
278                                            "start": {
279                                              "line": 22,
280                                              "column": 67,
281                                              "program": "await_keyword.ets"
282                                            },
283                                            "end": {
284                                              "line": 22,
285                                              "column": 75,
286                                              "program": "await_keyword.ets"
287                                            }
288                                          }
289                                        },
290                                        {
291                                          "type": "ETSNullType",
292                                          "loc": {
293                                            "start": {
294                                              "line": 22,
295                                              "column": 76,
296                                              "program": "await_keyword.ets"
297                                            },
298                                            "end": {
299                                              "line": 22,
300                                              "column": 80,
301                                              "program": "await_keyword.ets"
302                                            }
303                                          }
304                                        }
305                                      ],
306                                      "loc": {
307                                        "start": {
308                                          "line": 22,
309                                          "column": 67,
310                                          "program": "await_keyword.ets"
311                                        },
312                                        "end": {
313                                          "line": 22,
314                                          "column": 80,
315                                          "program": "await_keyword.ets"
316                                        }
317                                      }
318                                    }
319                                  ],
320                                  "loc": {
321                                    "start": {
322                                      "line": 22,
323                                      "column": 66,
324                                      "program": "await_keyword.ets"
325                                    },
326                                    "end": {
327                                      "line": 22,
328                                      "column": 81,
329                                      "program": "await_keyword.ets"
330                                    }
331                                  }
332                                },
333                                "loc": {
334                                  "start": {
335                                    "line": 22,
336                                    "column": 59,
337                                    "program": "await_keyword.ets"
338                                  },
339                                  "end": {
340                                    "line": 22,
341                                    "column": 84,
342                                    "program": "await_keyword.ets"
343                                  }
344                                }
345                              },
346                              "loc": {
347                                "start": {
348                                  "line": 22,
349                                  "column": 59,
350                                  "program": "await_keyword.ets"
351                                },
352                                "end": {
353                                  "line": 22,
354                                  "column": 84,
355                                  "program": "await_keyword.ets"
356                                }
357                              }
358                            },
359                            "body": {
360                              "type": "BlockStatement",
361                              "statements": [
362                                {
363                                  "type": "VariableDeclaration",
364                                  "declarations": [
365                                    {
366                                      "type": "VariableDeclarator",
367                                      "id": {
368                                        "type": "Identifier",
369                                        "name": "promise",
370                                        "typeAnnotation": {
371                                          "type": "ETSUnionType",
372                                          "types": [
373                                            {
374                                              "type": "ETSTypeReference",
375                                              "part": {
376                                                "type": "ETSTypeReferencePart",
377                                                "name": {
378                                                  "type": "Identifier",
379                                                  "name": "Promise",
380                                                  "decorators": [],
381                                                  "loc": {
382                                                    "start": {
383                                                      "line": 23,
384                                                      "column": 18,
385                                                      "program": "await_keyword.ets"
386                                                    },
387                                                    "end": {
388                                                      "line": 23,
389                                                      "column": 25,
390                                                      "program": "await_keyword.ets"
391                                                    }
392                                                  }
393                                                },
394                                                "typeParams": {
395                                                  "type": "TSTypeParameterInstantiation",
396                                                  "params": [
397                                                    {
398                                                      "type": "ETSUnionType",
399                                                      "types": [
400                                                        {
401                                                          "type": "ETSTypeReference",
402                                                          "part": {
403                                                            "type": "ETSTypeReferencePart",
404                                                            "name": {
405                                                              "type": "Identifier",
406                                                              "name": "Object",
407                                                              "decorators": [],
408                                                              "loc": {
409                                                                "start": {
410                                                                  "line": 23,
411                                                                  "column": 26,
412                                                                  "program": "await_keyword.ets"
413                                                                },
414                                                                "end": {
415                                                                  "line": 23,
416                                                                  "column": 32,
417                                                                  "program": "await_keyword.ets"
418                                                                }
419                                                              }
420                                                            },
421                                                            "loc": {
422                                                              "start": {
423                                                                "line": 23,
424                                                                "column": 26,
425                                                                "program": "await_keyword.ets"
426                                                              },
427                                                              "end": {
428                                                                "line": 23,
429                                                                "column": 34,
430                                                                "program": "await_keyword.ets"
431                                                              }
432                                                            }
433                                                          },
434                                                          "loc": {
435                                                            "start": {
436                                                              "line": 23,
437                                                              "column": 26,
438                                                              "program": "await_keyword.ets"
439                                                            },
440                                                            "end": {
441                                                              "line": 23,
442                                                              "column": 34,
443                                                              "program": "await_keyword.ets"
444                                                            }
445                                                          }
446                                                        },
447                                                        {
448                                                          "type": "ETSNullType",
449                                                          "loc": {
450                                                            "start": {
451                                                              "line": 23,
452                                                              "column": 35,
453                                                              "program": "await_keyword.ets"
454                                                            },
455                                                            "end": {
456                                                              "line": 23,
457                                                              "column": 39,
458                                                              "program": "await_keyword.ets"
459                                                            }
460                                                          }
461                                                        }
462                                                      ],
463                                                      "loc": {
464                                                        "start": {
465                                                          "line": 23,
466                                                          "column": 26,
467                                                          "program": "await_keyword.ets"
468                                                        },
469                                                        "end": {
470                                                          "line": 23,
471                                                          "column": 39,
472                                                          "program": "await_keyword.ets"
473                                                        }
474                                                      }
475                                                    }
476                                                  ],
477                                                  "loc": {
478                                                    "start": {
479                                                      "line": 23,
480                                                      "column": 25,
481                                                      "program": "await_keyword.ets"
482                                                    },
483                                                    "end": {
484                                                      "line": 23,
485                                                      "column": 40,
486                                                      "program": "await_keyword.ets"
487                                                    }
488                                                  }
489                                                },
490                                                "loc": {
491                                                  "start": {
492                                                    "line": 23,
493                                                    "column": 18,
494                                                    "program": "await_keyword.ets"
495                                                  },
496                                                  "end": {
497                                                    "line": 23,
498                                                    "column": 42,
499                                                    "program": "await_keyword.ets"
500                                                  }
501                                                }
502                                              },
503                                              "loc": {
504                                                "start": {
505                                                  "line": 23,
506                                                  "column": 18,
507                                                  "program": "await_keyword.ets"
508                                                },
509                                                "end": {
510                                                  "line": 23,
511                                                  "column": 42,
512                                                  "program": "await_keyword.ets"
513                                                }
514                                              }
515                                            },
516                                            {
517                                              "type": "ETSNullType",
518                                              "loc": {
519                                                "start": {
520                                                  "line": 23,
521                                                  "column": 43,
522                                                  "program": "await_keyword.ets"
523                                                },
524                                                "end": {
525                                                  "line": 23,
526                                                  "column": 47,
527                                                  "program": "await_keyword.ets"
528                                                }
529                                              }
530                                            }
531                                          ],
532                                          "loc": {
533                                            "start": {
534                                              "line": 23,
535                                              "column": 18,
536                                              "program": "await_keyword.ets"
537                                            },
538                                            "end": {
539                                              "line": 23,
540                                              "column": 47,
541                                              "program": "await_keyword.ets"
542                                            }
543                                          }
544                                        },
545                                        "decorators": [],
546                                        "loc": {
547                                          "start": {
548                                            "line": 23,
549                                            "column": 9,
550                                            "program": "await_keyword.ets"
551                                          },
552                                          "end": {
553                                            "line": 23,
554                                            "column": 16,
555                                            "program": "await_keyword.ets"
556                                          }
557                                        }
558                                      },
559                                      "init": {
560                                        "type": "CallExpression",
561                                        "callee": {
562                                          "type": "ArrowFunctionExpression",
563                                          "function": {
564                                            "type": "ScriptFunction",
565                                            "id": null,
566                                            "generator": false,
567                                            "async": false,
568                                            "expression": false,
569                                            "params": [],
570                                            "returnType": {
571                                              "type": "ETSUnionType",
572                                              "types": [
573                                                {
574                                                  "type": "ETSTypeReference",
575                                                  "part": {
576                                                    "type": "ETSTypeReferencePart",
577                                                    "name": {
578                                                      "type": "Identifier",
579                                                      "name": "Promise",
580                                                      "decorators": [],
581                                                      "loc": {
582                                                        "start": {
583                                                          "line": 23,
584                                                          "column": 54,
585                                                          "program": "await_keyword.ets"
586                                                        },
587                                                        "end": {
588                                                          "line": 23,
589                                                          "column": 61,
590                                                          "program": "await_keyword.ets"
591                                                        }
592                                                      }
593                                                    },
594                                                    "typeParams": {
595                                                      "type": "TSTypeParameterInstantiation",
596                                                      "params": [
597                                                        {
598                                                          "type": "ETSUnionType",
599                                                          "types": [
600                                                            {
601                                                              "type": "ETSTypeReference",
602                                                              "part": {
603                                                                "type": "ETSTypeReferencePart",
604                                                                "name": {
605                                                                  "type": "Identifier",
606                                                                  "name": "Object",
607                                                                  "decorators": [],
608                                                                  "loc": {
609                                                                    "start": {
610                                                                      "line": 23,
611                                                                      "column": 62,
612                                                                      "program": "await_keyword.ets"
613                                                                    },
614                                                                    "end": {
615                                                                      "line": 23,
616                                                                      "column": 68,
617                                                                      "program": "await_keyword.ets"
618                                                                    }
619                                                                  }
620                                                                },
621                                                                "loc": {
622                                                                  "start": {
623                                                                    "line": 23,
624                                                                    "column": 62,
625                                                                    "program": "await_keyword.ets"
626                                                                  },
627                                                                  "end": {
628                                                                    "line": 23,
629                                                                    "column": 70,
630                                                                    "program": "await_keyword.ets"
631                                                                  }
632                                                                }
633                                                              },
634                                                              "loc": {
635                                                                "start": {
636                                                                  "line": 23,
637                                                                  "column": 62,
638                                                                  "program": "await_keyword.ets"
639                                                                },
640                                                                "end": {
641                                                                  "line": 23,
642                                                                  "column": 70,
643                                                                  "program": "await_keyword.ets"
644                                                                }
645                                                              }
646                                                            },
647                                                            {
648                                                              "type": "ETSNullType",
649                                                              "loc": {
650                                                                "start": {
651                                                                  "line": 23,
652                                                                  "column": 71,
653                                                                  "program": "await_keyword.ets"
654                                                                },
655                                                                "end": {
656                                                                  "line": 23,
657                                                                  "column": 75,
658                                                                  "program": "await_keyword.ets"
659                                                                }
660                                                              }
661                                                            }
662                                                          ],
663                                                          "loc": {
664                                                            "start": {
665                                                              "line": 23,
666                                                              "column": 62,
667                                                              "program": "await_keyword.ets"
668                                                            },
669                                                            "end": {
670                                                              "line": 23,
671                                                              "column": 75,
672                                                              "program": "await_keyword.ets"
673                                                            }
674                                                          }
675                                                        }
676                                                      ],
677                                                      "loc": {
678                                                        "start": {
679                                                          "line": 23,
680                                                          "column": 61,
681                                                          "program": "await_keyword.ets"
682                                                        },
683                                                        "end": {
684                                                          "line": 23,
685                                                          "column": 76,
686                                                          "program": "await_keyword.ets"
687                                                        }
688                                                      }
689                                                    },
690                                                    "loc": {
691                                                      "start": {
692                                                        "line": 23,
693                                                        "column": 54,
694                                                        "program": "await_keyword.ets"
695                                                      },
696                                                      "end": {
697                                                        "line": 23,
698                                                        "column": 78,
699                                                        "program": "await_keyword.ets"
700                                                      }
701                                                    }
702                                                  },
703                                                  "loc": {
704                                                    "start": {
705                                                      "line": 23,
706                                                      "column": 54,
707                                                      "program": "await_keyword.ets"
708                                                    },
709                                                    "end": {
710                                                      "line": 23,
711                                                      "column": 78,
712                                                      "program": "await_keyword.ets"
713                                                    }
714                                                  }
715                                                },
716                                                {
717                                                  "type": "ETSNullType",
718                                                  "loc": {
719                                                    "start": {
720                                                      "line": 23,
721                                                      "column": 79,
722                                                      "program": "await_keyword.ets"
723                                                    },
724                                                    "end": {
725                                                      "line": 23,
726                                                      "column": 83,
727                                                      "program": "await_keyword.ets"
728                                                    }
729                                                  }
730                                                }
731                                              ],
732                                              "loc": {
733                                                "start": {
734                                                  "line": 23,
735                                                  "column": 54,
736                                                  "program": "await_keyword.ets"
737                                                },
738                                                "end": {
739                                                  "line": 23,
740                                                  "column": 83,
741                                                  "program": "await_keyword.ets"
742                                                }
743                                              }
744                                            },
745                                            "body": {
746                                              "type": "BlockStatement",
747                                              "statements": [
748                                                {
749                                                  "type": "ReturnStatement",
750                                                  "argument": {
751                                                    "type": "NullLiteral",
752                                                    "value": null,
753                                                    "loc": {
754                                                      "start": {
755                                                        "line": 23,
756                                                        "column": 96,
757                                                        "program": "await_keyword.ets"
758                                                      },
759                                                      "end": {
760                                                        "line": 23,
761                                                        "column": 100,
762                                                        "program": "await_keyword.ets"
763                                                      }
764                                                    }
765                                                  },
766                                                  "loc": {
767                                                    "start": {
768                                                      "line": 23,
769                                                      "column": 89,
770                                                      "program": "await_keyword.ets"
771                                                    },
772                                                    "end": {
773                                                      "line": 23,
774                                                      "column": 101,
775                                                      "program": "await_keyword.ets"
776                                                    }
777                                                  }
778                                                }
779                                              ],
780                                              "loc": {
781                                                "start": {
782                                                  "line": 23,
783                                                  "column": 87,
784                                                  "program": "await_keyword.ets"
785                                                },
786                                                "end": {
787                                                  "line": 23,
788                                                  "column": 103,
789                                                  "program": "await_keyword.ets"
790                                                }
791                                              }
792                                            },
793                                            "loc": {
794                                              "start": {
795                                                "line": 23,
796                                                "column": 50,
797                                                "program": "await_keyword.ets"
798                                              },
799                                              "end": {
800                                                "line": 23,
801                                                "column": 103,
802                                                "program": "await_keyword.ets"
803                                              }
804                                            }
805                                          },
806                                          "loc": {
807                                            "start": {
808                                              "line": 23,
809                                              "column": 50,
810                                              "program": "await_keyword.ets"
811                                            },
812                                            "end": {
813                                              "line": 23,
814                                              "column": 103,
815                                              "program": "await_keyword.ets"
816                                            }
817                                          }
818                                        },
819                                        "arguments": [],
820                                        "optional": false,
821                                        "loc": {
822                                          "start": {
823                                            "line": 23,
824                                            "column": 50,
825                                            "program": "await_keyword.ets"
826                                          },
827                                          "end": {
828                                            "line": 23,
829                                            "column": 105,
830                                            "program": "await_keyword.ets"
831                                          }
832                                        }
833                                      },
834                                      "loc": {
835                                        "start": {
836                                          "line": 23,
837                                          "column": 9,
838                                          "program": "await_keyword.ets"
839                                        },
840                                        "end": {
841                                          "line": 23,
842                                          "column": 105,
843                                          "program": "await_keyword.ets"
844                                        }
845                                      }
846                                    }
847                                  ],
848                                  "kind": "let",
849                                  "loc": {
850                                    "start": {
851                                      "line": 23,
852                                      "column": 5,
853                                      "program": "await_keyword.ets"
854                                    },
855                                    "end": {
856                                      "line": 23,
857                                      "column": 106,
858                                      "program": "await_keyword.ets"
859                                    }
860                                  }
861                                },
862                                {
863                                  "type": "VariableDeclaration",
864                                  "declarations": [
865                                    {
866                                      "type": "VariableDeclarator",
867                                      "id": {
868                                        "type": "Identifier",
869                                        "name": "obj",
870                                        "typeAnnotation": {
871                                          "type": "ETSUnionType",
872                                          "types": [
873                                            {
874                                              "type": "ETSTypeReference",
875                                              "part": {
876                                                "type": "ETSTypeReferencePart",
877                                                "name": {
878                                                  "type": "Identifier",
879                                                  "name": "Object",
880                                                  "decorators": [],
881                                                  "loc": {
882                                                    "start": {
883                                                      "line": 24,
884                                                      "column": 14,
885                                                      "program": "await_keyword.ets"
886                                                    },
887                                                    "end": {
888                                                      "line": 24,
889                                                      "column": 20,
890                                                      "program": "await_keyword.ets"
891                                                    }
892                                                  }
893                                                },
894                                                "loc": {
895                                                  "start": {
896                                                    "line": 24,
897                                                    "column": 14,
898                                                    "program": "await_keyword.ets"
899                                                  },
900                                                  "end": {
901                                                    "line": 24,
902                                                    "column": 22,
903                                                    "program": "await_keyword.ets"
904                                                  }
905                                                }
906                                              },
907                                              "loc": {
908                                                "start": {
909                                                  "line": 24,
910                                                  "column": 14,
911                                                  "program": "await_keyword.ets"
912                                                },
913                                                "end": {
914                                                  "line": 24,
915                                                  "column": 22,
916                                                  "program": "await_keyword.ets"
917                                                }
918                                              }
919                                            },
920                                            {
921                                              "type": "ETSNullType",
922                                              "loc": {
923                                                "start": {
924                                                  "line": 24,
925                                                  "column": 23,
926                                                  "program": "await_keyword.ets"
927                                                },
928                                                "end": {
929                                                  "line": 24,
930                                                  "column": 27,
931                                                  "program": "await_keyword.ets"
932                                                }
933                                              }
934                                            }
935                                          ],
936                                          "loc": {
937                                            "start": {
938                                              "line": 24,
939                                              "column": 14,
940                                              "program": "await_keyword.ets"
941                                            },
942                                            "end": {
943                                              "line": 24,
944                                              "column": 27,
945                                              "program": "await_keyword.ets"
946                                            }
947                                          }
948                                        },
949                                        "decorators": [],
950                                        "loc": {
951                                          "start": {
952                                            "line": 24,
953                                            "column": 9,
954                                            "program": "await_keyword.ets"
955                                          },
956                                          "end": {
957                                            "line": 24,
958                                            "column": 12,
959                                            "program": "await_keyword.ets"
960                                          }
961                                        }
962                                      },
963                                      "init": {
964                                        "type": "AwaitExpression",
965                                        "argument": {
966                                          "type": "TSNonNullExpression",
967                                          "expression": {
968                                            "type": "Identifier",
969                                            "name": "promise",
970                                            "decorators": [],
971                                            "loc": {
972                                              "start": {
973                                                "line": 24,
974                                                "column": 36,
975                                                "program": "await_keyword.ets"
976                                              },
977                                              "end": {
978                                                "line": 24,
979                                                "column": 43,
980                                                "program": "await_keyword.ets"
981                                              }
982                                            }
983                                          },
984                                          "loc": {
985                                            "start": {
986                                              "line": 24,
987                                              "column": 36,
988                                              "program": "await_keyword.ets"
989                                            },
990                                            "end": {
991                                              "line": 24,
992                                              "column": 44,
993                                              "program": "await_keyword.ets"
994                                            }
995                                          }
996                                        },
997                                        "loc": {
998                                          "start": {
999                                            "line": 24,
1000                                            "column": 30,
1001                                            "program": "await_keyword.ets"
1002                                          },
1003                                          "end": {
1004                                            "line": 24,
1005                                            "column": 44,
1006                                            "program": "await_keyword.ets"
1007                                          }
1008                                        }
1009                                      },
1010                                      "loc": {
1011                                        "start": {
1012                                          "line": 24,
1013                                          "column": 9,
1014                                          "program": "await_keyword.ets"
1015                                        },
1016                                        "end": {
1017                                          "line": 24,
1018                                          "column": 44,
1019                                          "program": "await_keyword.ets"
1020                                        }
1021                                      }
1022                                    }
1023                                  ],
1024                                  "kind": "let",
1025                                  "loc": {
1026                                    "start": {
1027                                      "line": 24,
1028                                      "column": 5,
1029                                      "program": "await_keyword.ets"
1030                                    },
1031                                    "end": {
1032                                      "line": 24,
1033                                      "column": 45,
1034                                      "program": "await_keyword.ets"
1035                                    }
1036                                  }
1037                                },
1038                                {
1039                                  "type": "ReturnStatement",
1040                                  "argument": {
1041                                    "type": "Identifier",
1042                                    "name": "promise",
1043                                    "decorators": [],
1044                                    "loc": {
1045                                      "start": {
1046                                        "line": 25,
1047                                        "column": 12,
1048                                        "program": "await_keyword.ets"
1049                                      },
1050                                      "end": {
1051                                        "line": 25,
1052                                        "column": 19,
1053                                        "program": "await_keyword.ets"
1054                                      }
1055                                    }
1056                                  },
1057                                  "loc": {
1058                                    "start": {
1059                                      "line": 25,
1060                                      "column": 5,
1061                                      "program": "await_keyword.ets"
1062                                    },
1063                                    "end": {
1064                                      "line": 25,
1065                                      "column": 20,
1066                                      "program": "await_keyword.ets"
1067                                    }
1068                                  }
1069                                }
1070                              ],
1071                              "loc": {
1072                                "start": {
1073                                  "line": 22,
1074                                  "column": 85,
1075                                  "program": "await_keyword.ets"
1076                                },
1077                                "end": {
1078                                  "line": 26,
1079                                  "column": 2,
1080                                  "program": "await_keyword.ets"
1081                                }
1082                              }
1083                            },
1084                            "loc": {
1085                              "start": {
1086                                "line": 22,
1087                                "column": 55,
1088                                "program": "await_keyword.ets"
1089                              },
1090                              "end": {
1091                                "line": 26,
1092                                "column": 2,
1093                                "program": "await_keyword.ets"
1094                              }
1095                            }
1096                          },
1097                          "loc": {
1098                            "start": {
1099                              "line": 22,
1100                              "column": 55,
1101                              "program": "await_keyword.ets"
1102                            },
1103                            "end": {
1104                              "line": 26,
1105                              "column": 2,
1106                              "program": "await_keyword.ets"
1107                            }
1108                          }
1109                        },
1110                        "loc": {
1111                          "start": {
1112                            "line": 22,
1113                            "column": 5,
1114                            "program": "await_keyword.ets"
1115                          },
1116                          "end": {
1117                            "line": 26,
1118                            "column": 2,
1119                            "program": "await_keyword.ets"
1120                          }
1121                        }
1122                      },
1123                      "loc": {
1124                        "start": {
1125                          "line": 22,
1126                          "column": 5,
1127                          "program": "await_keyword.ets"
1128                        },
1129                        "end": {
1130                          "line": 26,
1131                          "column": 2,
1132                          "program": "await_keyword.ets"
1133                        }
1134                      }
1135                    },
1136                    {
1137                      "type": "ExpressionStatement",
1138                      "expression": {
1139                        "type": "AssignmentExpression",
1140                        "operator": "=",
1141                        "left": {
1142                          "type": "Identifier",
1143                          "name": "lambda",
1144                          "decorators": [],
1145                          "loc": {
1146                            "start": {
1147                              "line": 33,
1148                              "column": 5,
1149                              "program": "await_keyword.ets"
1150                            },
1151                            "end": {
1152                              "line": 33,
1153                              "column": 11,
1154                              "program": "await_keyword.ets"
1155                            }
1156                          }
1157                        },
1158                        "right": {
1159                          "type": "ArrowFunctionExpression",
1160                          "function": {
1161                            "type": "ScriptFunction",
1162                            "id": null,
1163                            "generator": false,
1164                            "async": false,
1165                            "expression": false,
1166                            "params": [],
1167                            "returnType": {
1168                              "type": "ETSPrimitiveType",
1169                              "loc": {
1170                                "start": {
1171                                  "line": 33,
1172                                  "column": 30,
1173                                  "program": "await_keyword.ets"
1174                                },
1175                                "end": {
1176                                  "line": 33,
1177                                  "column": 34,
1178                                  "program": "await_keyword.ets"
1179                                }
1180                              }
1181                            },
1182                            "body": {
1183                              "type": "BlockStatement",
1184                              "statements": [
1185                                {
1186                                  "type": "VariableDeclaration",
1187                                  "declarations": [
1188                                    {
1189                                      "type": "VariableDeclarator",
1190                                      "id": {
1191                                        "type": "Identifier",
1192                                        "name": "promise",
1193                                        "typeAnnotation": {
1194                                          "type": "ETSUnionType",
1195                                          "types": [
1196                                            {
1197                                              "type": "ETSTypeReference",
1198                                              "part": {
1199                                                "type": "ETSTypeReferencePart",
1200                                                "name": {
1201                                                  "type": "Identifier",
1202                                                  "name": "Promise",
1203                                                  "decorators": [],
1204                                                  "loc": {
1205                                                    "start": {
1206                                                      "line": 34,
1207                                                      "column": 18,
1208                                                      "program": "await_keyword.ets"
1209                                                    },
1210                                                    "end": {
1211                                                      "line": 34,
1212                                                      "column": 25,
1213                                                      "program": "await_keyword.ets"
1214                                                    }
1215                                                  }
1216                                                },
1217                                                "typeParams": {
1218                                                  "type": "TSTypeParameterInstantiation",
1219                                                  "params": [
1220                                                    {
1221                                                      "type": "ETSUnionType",
1222                                                      "types": [
1223                                                        {
1224                                                          "type": "ETSTypeReference",
1225                                                          "part": {
1226                                                            "type": "ETSTypeReferencePart",
1227                                                            "name": {
1228                                                              "type": "Identifier",
1229                                                              "name": "Object",
1230                                                              "decorators": [],
1231                                                              "loc": {
1232                                                                "start": {
1233                                                                  "line": 34,
1234                                                                  "column": 26,
1235                                                                  "program": "await_keyword.ets"
1236                                                                },
1237                                                                "end": {
1238                                                                  "line": 34,
1239                                                                  "column": 32,
1240                                                                  "program": "await_keyword.ets"
1241                                                                }
1242                                                              }
1243                                                            },
1244                                                            "loc": {
1245                                                              "start": {
1246                                                                "line": 34,
1247                                                                "column": 26,
1248                                                                "program": "await_keyword.ets"
1249                                                              },
1250                                                              "end": {
1251                                                                "line": 34,
1252                                                                "column": 34,
1253                                                                "program": "await_keyword.ets"
1254                                                              }
1255                                                            }
1256                                                          },
1257                                                          "loc": {
1258                                                            "start": {
1259                                                              "line": 34,
1260                                                              "column": 26,
1261                                                              "program": "await_keyword.ets"
1262                                                            },
1263                                                            "end": {
1264                                                              "line": 34,
1265                                                              "column": 34,
1266                                                              "program": "await_keyword.ets"
1267                                                            }
1268                                                          }
1269                                                        },
1270                                                        {
1271                                                          "type": "ETSNullType",
1272                                                          "loc": {
1273                                                            "start": {
1274                                                              "line": 34,
1275                                                              "column": 35,
1276                                                              "program": "await_keyword.ets"
1277                                                            },
1278                                                            "end": {
1279                                                              "line": 34,
1280                                                              "column": 39,
1281                                                              "program": "await_keyword.ets"
1282                                                            }
1283                                                          }
1284                                                        }
1285                                                      ],
1286                                                      "loc": {
1287                                                        "start": {
1288                                                          "line": 34,
1289                                                          "column": 26,
1290                                                          "program": "await_keyword.ets"
1291                                                        },
1292                                                        "end": {
1293                                                          "line": 34,
1294                                                          "column": 39,
1295                                                          "program": "await_keyword.ets"
1296                                                        }
1297                                                      }
1298                                                    }
1299                                                  ],
1300                                                  "loc": {
1301                                                    "start": {
1302                                                      "line": 34,
1303                                                      "column": 25,
1304                                                      "program": "await_keyword.ets"
1305                                                    },
1306                                                    "end": {
1307                                                      "line": 34,
1308                                                      "column": 40,
1309                                                      "program": "await_keyword.ets"
1310                                                    }
1311                                                  }
1312                                                },
1313                                                "loc": {
1314                                                  "start": {
1315                                                    "line": 34,
1316                                                    "column": 18,
1317                                                    "program": "await_keyword.ets"
1318                                                  },
1319                                                  "end": {
1320                                                    "line": 34,
1321                                                    "column": 42,
1322                                                    "program": "await_keyword.ets"
1323                                                  }
1324                                                }
1325                                              },
1326                                              "loc": {
1327                                                "start": {
1328                                                  "line": 34,
1329                                                  "column": 18,
1330                                                  "program": "await_keyword.ets"
1331                                                },
1332                                                "end": {
1333                                                  "line": 34,
1334                                                  "column": 42,
1335                                                  "program": "await_keyword.ets"
1336                                                }
1337                                              }
1338                                            },
1339                                            {
1340                                              "type": "ETSNullType",
1341                                              "loc": {
1342                                                "start": {
1343                                                  "line": 34,
1344                                                  "column": 43,
1345                                                  "program": "await_keyword.ets"
1346                                                },
1347                                                "end": {
1348                                                  "line": 34,
1349                                                  "column": 47,
1350                                                  "program": "await_keyword.ets"
1351                                                }
1352                                              }
1353                                            }
1354                                          ],
1355                                          "loc": {
1356                                            "start": {
1357                                              "line": 34,
1358                                              "column": 18,
1359                                              "program": "await_keyword.ets"
1360                                            },
1361                                            "end": {
1362                                              "line": 34,
1363                                              "column": 47,
1364                                              "program": "await_keyword.ets"
1365                                            }
1366                                          }
1367                                        },
1368                                        "decorators": [],
1369                                        "loc": {
1370                                          "start": {
1371                                            "line": 34,
1372                                            "column": 9,
1373                                            "program": "await_keyword.ets"
1374                                          },
1375                                          "end": {
1376                                            "line": 34,
1377                                            "column": 16,
1378                                            "program": "await_keyword.ets"
1379                                          }
1380                                        }
1381                                      },
1382                                      "init": {
1383                                        "type": "CallExpression",
1384                                        "callee": {
1385                                          "type": "ArrowFunctionExpression",
1386                                          "function": {
1387                                            "type": "ScriptFunction",
1388                                            "id": null,
1389                                            "generator": false,
1390                                            "async": false,
1391                                            "expression": false,
1392                                            "params": [],
1393                                            "returnType": {
1394                                              "type": "ETSUnionType",
1395                                              "types": [
1396                                                {
1397                                                  "type": "ETSTypeReference",
1398                                                  "part": {
1399                                                    "type": "ETSTypeReferencePart",
1400                                                    "name": {
1401                                                      "type": "Identifier",
1402                                                      "name": "Promise",
1403                                                      "decorators": [],
1404                                                      "loc": {
1405                                                        "start": {
1406                                                          "line": 34,
1407                                                          "column": 54,
1408                                                          "program": "await_keyword.ets"
1409                                                        },
1410                                                        "end": {
1411                                                          "line": 34,
1412                                                          "column": 61,
1413                                                          "program": "await_keyword.ets"
1414                                                        }
1415                                                      }
1416                                                    },
1417                                                    "typeParams": {
1418                                                      "type": "TSTypeParameterInstantiation",
1419                                                      "params": [
1420                                                        {
1421                                                          "type": "ETSUnionType",
1422                                                          "types": [
1423                                                            {
1424                                                              "type": "ETSTypeReference",
1425                                                              "part": {
1426                                                                "type": "ETSTypeReferencePart",
1427                                                                "name": {
1428                                                                  "type": "Identifier",
1429                                                                  "name": "Object",
1430                                                                  "decorators": [],
1431                                                                  "loc": {
1432                                                                    "start": {
1433                                                                      "line": 34,
1434                                                                      "column": 62,
1435                                                                      "program": "await_keyword.ets"
1436                                                                    },
1437                                                                    "end": {
1438                                                                      "line": 34,
1439                                                                      "column": 68,
1440                                                                      "program": "await_keyword.ets"
1441                                                                    }
1442                                                                  }
1443                                                                },
1444                                                                "loc": {
1445                                                                  "start": {
1446                                                                    "line": 34,
1447                                                                    "column": 62,
1448                                                                    "program": "await_keyword.ets"
1449                                                                  },
1450                                                                  "end": {
1451                                                                    "line": 34,
1452                                                                    "column": 70,
1453                                                                    "program": "await_keyword.ets"
1454                                                                  }
1455                                                                }
1456                                                              },
1457                                                              "loc": {
1458                                                                "start": {
1459                                                                  "line": 34,
1460                                                                  "column": 62,
1461                                                                  "program": "await_keyword.ets"
1462                                                                },
1463                                                                "end": {
1464                                                                  "line": 34,
1465                                                                  "column": 70,
1466                                                                  "program": "await_keyword.ets"
1467                                                                }
1468                                                              }
1469                                                            },
1470                                                            {
1471                                                              "type": "ETSNullType",
1472                                                              "loc": {
1473                                                                "start": {
1474                                                                  "line": 34,
1475                                                                  "column": 71,
1476                                                                  "program": "await_keyword.ets"
1477                                                                },
1478                                                                "end": {
1479                                                                  "line": 34,
1480                                                                  "column": 75,
1481                                                                  "program": "await_keyword.ets"
1482                                                                }
1483                                                              }
1484                                                            }
1485                                                          ],
1486                                                          "loc": {
1487                                                            "start": {
1488                                                              "line": 34,
1489                                                              "column": 62,
1490                                                              "program": "await_keyword.ets"
1491                                                            },
1492                                                            "end": {
1493                                                              "line": 34,
1494                                                              "column": 75,
1495                                                              "program": "await_keyword.ets"
1496                                                            }
1497                                                          }
1498                                                        }
1499                                                      ],
1500                                                      "loc": {
1501                                                        "start": {
1502                                                          "line": 34,
1503                                                          "column": 61,
1504                                                          "program": "await_keyword.ets"
1505                                                        },
1506                                                        "end": {
1507                                                          "line": 34,
1508                                                          "column": 76,
1509                                                          "program": "await_keyword.ets"
1510                                                        }
1511                                                      }
1512                                                    },
1513                                                    "loc": {
1514                                                      "start": {
1515                                                        "line": 34,
1516                                                        "column": 54,
1517                                                        "program": "await_keyword.ets"
1518                                                      },
1519                                                      "end": {
1520                                                        "line": 34,
1521                                                        "column": 78,
1522                                                        "program": "await_keyword.ets"
1523                                                      }
1524                                                    }
1525                                                  },
1526                                                  "loc": {
1527                                                    "start": {
1528                                                      "line": 34,
1529                                                      "column": 54,
1530                                                      "program": "await_keyword.ets"
1531                                                    },
1532                                                    "end": {
1533                                                      "line": 34,
1534                                                      "column": 78,
1535                                                      "program": "await_keyword.ets"
1536                                                    }
1537                                                  }
1538                                                },
1539                                                {
1540                                                  "type": "ETSNullType",
1541                                                  "loc": {
1542                                                    "start": {
1543                                                      "line": 34,
1544                                                      "column": 79,
1545                                                      "program": "await_keyword.ets"
1546                                                    },
1547                                                    "end": {
1548                                                      "line": 34,
1549                                                      "column": 83,
1550                                                      "program": "await_keyword.ets"
1551                                                    }
1552                                                  }
1553                                                }
1554                                              ],
1555                                              "loc": {
1556                                                "start": {
1557                                                  "line": 34,
1558                                                  "column": 54,
1559                                                  "program": "await_keyword.ets"
1560                                                },
1561                                                "end": {
1562                                                  "line": 34,
1563                                                  "column": 83,
1564                                                  "program": "await_keyword.ets"
1565                                                }
1566                                              }
1567                                            },
1568                                            "body": {
1569                                              "type": "BlockStatement",
1570                                              "statements": [
1571                                                {
1572                                                  "type": "ReturnStatement",
1573                                                  "argument": {
1574                                                    "type": "NullLiteral",
1575                                                    "value": null,
1576                                                    "loc": {
1577                                                      "start": {
1578                                                        "line": 34,
1579                                                        "column": 96,
1580                                                        "program": "await_keyword.ets"
1581                                                      },
1582                                                      "end": {
1583                                                        "line": 34,
1584                                                        "column": 100,
1585                                                        "program": "await_keyword.ets"
1586                                                      }
1587                                                    }
1588                                                  },
1589                                                  "loc": {
1590                                                    "start": {
1591                                                      "line": 34,
1592                                                      "column": 89,
1593                                                      "program": "await_keyword.ets"
1594                                                    },
1595                                                    "end": {
1596                                                      "line": 34,
1597                                                      "column": 101,
1598                                                      "program": "await_keyword.ets"
1599                                                    }
1600                                                  }
1601                                                }
1602                                              ],
1603                                              "loc": {
1604                                                "start": {
1605                                                  "line": 34,
1606                                                  "column": 87,
1607                                                  "program": "await_keyword.ets"
1608                                                },
1609                                                "end": {
1610                                                  "line": 34,
1611                                                  "column": 103,
1612                                                  "program": "await_keyword.ets"
1613                                                }
1614                                              }
1615                                            },
1616                                            "loc": {
1617                                              "start": {
1618                                                "line": 34,
1619                                                "column": 50,
1620                                                "program": "await_keyword.ets"
1621                                              },
1622                                              "end": {
1623                                                "line": 34,
1624                                                "column": 103,
1625                                                "program": "await_keyword.ets"
1626                                              }
1627                                            }
1628                                          },
1629                                          "loc": {
1630                                            "start": {
1631                                              "line": 34,
1632                                              "column": 50,
1633                                              "program": "await_keyword.ets"
1634                                            },
1635                                            "end": {
1636                                              "line": 34,
1637                                              "column": 103,
1638                                              "program": "await_keyword.ets"
1639                                            }
1640                                          }
1641                                        },
1642                                        "arguments": [],
1643                                        "optional": false,
1644                                        "loc": {
1645                                          "start": {
1646                                            "line": 34,
1647                                            "column": 50,
1648                                            "program": "await_keyword.ets"
1649                                          },
1650                                          "end": {
1651                                            "line": 34,
1652                                            "column": 105,
1653                                            "program": "await_keyword.ets"
1654                                          }
1655                                        }
1656                                      },
1657                                      "loc": {
1658                                        "start": {
1659                                          "line": 34,
1660                                          "column": 9,
1661                                          "program": "await_keyword.ets"
1662                                        },
1663                                        "end": {
1664                                          "line": 34,
1665                                          "column": 105,
1666                                          "program": "await_keyword.ets"
1667                                        }
1668                                      }
1669                                    }
1670                                  ],
1671                                  "kind": "let",
1672                                  "loc": {
1673                                    "start": {
1674                                      "line": 34,
1675                                      "column": 5,
1676                                      "program": "await_keyword.ets"
1677                                    },
1678                                    "end": {
1679                                      "line": 34,
1680                                      "column": 106,
1681                                      "program": "await_keyword.ets"
1682                                    }
1683                                  }
1684                                },
1685                                {
1686                                  "type": "VariableDeclaration",
1687                                  "declarations": [
1688                                    {
1689                                      "type": "VariableDeclarator",
1690                                      "id": {
1691                                        "type": "Identifier",
1692                                        "name": "obj",
1693                                        "typeAnnotation": {
1694                                          "type": "ETSUnionType",
1695                                          "types": [
1696                                            {
1697                                              "type": "ETSTypeReference",
1698                                              "part": {
1699                                                "type": "ETSTypeReferencePart",
1700                                                "name": {
1701                                                  "type": "Identifier",
1702                                                  "name": "Object",
1703                                                  "decorators": [],
1704                                                  "loc": {
1705                                                    "start": {
1706                                                      "line": 35,
1707                                                      "column": 14,
1708                                                      "program": "await_keyword.ets"
1709                                                    },
1710                                                    "end": {
1711                                                      "line": 35,
1712                                                      "column": 20,
1713                                                      "program": "await_keyword.ets"
1714                                                    }
1715                                                  }
1716                                                },
1717                                                "loc": {
1718                                                  "start": {
1719                                                    "line": 35,
1720                                                    "column": 14,
1721                                                    "program": "await_keyword.ets"
1722                                                  },
1723                                                  "end": {
1724                                                    "line": 35,
1725                                                    "column": 22,
1726                                                    "program": "await_keyword.ets"
1727                                                  }
1728                                                }
1729                                              },
1730                                              "loc": {
1731                                                "start": {
1732                                                  "line": 35,
1733                                                  "column": 14,
1734                                                  "program": "await_keyword.ets"
1735                                                },
1736                                                "end": {
1737                                                  "line": 35,
1738                                                  "column": 22,
1739                                                  "program": "await_keyword.ets"
1740                                                }
1741                                              }
1742                                            },
1743                                            {
1744                                              "type": "ETSNullType",
1745                                              "loc": {
1746                                                "start": {
1747                                                  "line": 35,
1748                                                  "column": 23,
1749                                                  "program": "await_keyword.ets"
1750                                                },
1751                                                "end": {
1752                                                  "line": 35,
1753                                                  "column": 27,
1754                                                  "program": "await_keyword.ets"
1755                                                }
1756                                              }
1757                                            }
1758                                          ],
1759                                          "loc": {
1760                                            "start": {
1761                                              "line": 35,
1762                                              "column": 14,
1763                                              "program": "await_keyword.ets"
1764                                            },
1765                                            "end": {
1766                                              "line": 35,
1767                                              "column": 27,
1768                                              "program": "await_keyword.ets"
1769                                            }
1770                                          }
1771                                        },
1772                                        "decorators": [],
1773                                        "loc": {
1774                                          "start": {
1775                                            "line": 35,
1776                                            "column": 9,
1777                                            "program": "await_keyword.ets"
1778                                          },
1779                                          "end": {
1780                                            "line": 35,
1781                                            "column": 12,
1782                                            "program": "await_keyword.ets"
1783                                          }
1784                                        }
1785                                      },
1786                                      "init": {
1787                                        "type": "AwaitExpression",
1788                                        "argument": {
1789                                          "type": "TSNonNullExpression",
1790                                          "expression": {
1791                                            "type": "Identifier",
1792                                            "name": "promise",
1793                                            "decorators": [],
1794                                            "loc": {
1795                                              "start": {
1796                                                "line": 35,
1797                                                "column": 36,
1798                                                "program": "await_keyword.ets"
1799                                              },
1800                                              "end": {
1801                                                "line": 35,
1802                                                "column": 43,
1803                                                "program": "await_keyword.ets"
1804                                              }
1805                                            }
1806                                          },
1807                                          "loc": {
1808                                            "start": {
1809                                              "line": 35,
1810                                              "column": 36,
1811                                              "program": "await_keyword.ets"
1812                                            },
1813                                            "end": {
1814                                              "line": 35,
1815                                              "column": 44,
1816                                              "program": "await_keyword.ets"
1817                                            }
1818                                          }
1819                                        },
1820                                        "loc": {
1821                                          "start": {
1822                                            "line": 35,
1823                                            "column": 30,
1824                                            "program": "await_keyword.ets"
1825                                          },
1826                                          "end": {
1827                                            "line": 35,
1828                                            "column": 44,
1829                                            "program": "await_keyword.ets"
1830                                          }
1831                                        }
1832                                      },
1833                                      "loc": {
1834                                        "start": {
1835                                          "line": 35,
1836                                          "column": 9,
1837                                          "program": "await_keyword.ets"
1838                                        },
1839                                        "end": {
1840                                          "line": 35,
1841                                          "column": 44,
1842                                          "program": "await_keyword.ets"
1843                                        }
1844                                      }
1845                                    }
1846                                  ],
1847                                  "kind": "let",
1848                                  "loc": {
1849                                    "start": {
1850                                      "line": 35,
1851                                      "column": 5,
1852                                      "program": "await_keyword.ets"
1853                                    },
1854                                    "end": {
1855                                      "line": 35,
1856                                      "column": 45,
1857                                      "program": "await_keyword.ets"
1858                                    }
1859                                  }
1860                                }
1861                              ],
1862                              "loc": {
1863                                "start": {
1864                                  "line": 33,
1865                                  "column": 38,
1866                                  "program": "await_keyword.ets"
1867                                },
1868                                "end": {
1869                                  "line": 36,
1870                                  "column": 2,
1871                                  "program": "await_keyword.ets"
1872                                }
1873                              }
1874                            },
1875                            "loc": {
1876                              "start": {
1877                                "line": 33,
1878                                "column": 26,
1879                                "program": "await_keyword.ets"
1880                              },
1881                              "end": {
1882                                "line": 36,
1883                                "column": 2,
1884                                "program": "await_keyword.ets"
1885                              }
1886                            }
1887                          },
1888                          "loc": {
1889                            "start": {
1890                              "line": 33,
1891                              "column": 26,
1892                              "program": "await_keyword.ets"
1893                            },
1894                            "end": {
1895                              "line": 36,
1896                              "column": 2,
1897                              "program": "await_keyword.ets"
1898                            }
1899                          }
1900                        },
1901                        "loc": {
1902                          "start": {
1903                            "line": 33,
1904                            "column": 5,
1905                            "program": "await_keyword.ets"
1906                          },
1907                          "end": {
1908                            "line": 36,
1909                            "column": 2,
1910                            "program": "await_keyword.ets"
1911                          }
1912                        }
1913                      },
1914                      "loc": {
1915                        "start": {
1916                          "line": 33,
1917                          "column": 5,
1918                          "program": "await_keyword.ets"
1919                        },
1920                        "end": {
1921                          "line": 36,
1922                          "column": 2,
1923                          "program": "await_keyword.ets"
1924                        }
1925                      }
1926                    },
1927                    {
1928                      "type": "ExpressionStatement",
1929                      "expression": {
1930                        "type": "AssignmentExpression",
1931                        "operator": "=",
1932                        "left": {
1933                          "type": "Identifier",
1934                          "name": "promise",
1935                          "decorators": [],
1936                          "loc": {
1937                            "start": {
1938                              "line": 38,
1939                              "column": 5,
1940                              "program": "await_keyword.ets"
1941                            },
1942                            "end": {
1943                              "line": 38,
1944                              "column": 12,
1945                              "program": "await_keyword.ets"
1946                            }
1947                          }
1948                        },
1949                        "right": {
1950                          "type": "NullLiteral",
1951                          "value": null,
1952                          "loc": {
1953                            "start": {
1954                              "line": 38,
1955                              "column": 46,
1956                              "program": "await_keyword.ets"
1957                            },
1958                            "end": {
1959                              "line": 38,
1960                              "column": 50,
1961                              "program": "await_keyword.ets"
1962                            }
1963                          }
1964                        },
1965                        "loc": {
1966                          "start": {
1967                            "line": 38,
1968                            "column": 5,
1969                            "program": "await_keyword.ets"
1970                          },
1971                          "end": {
1972                            "line": 38,
1973                            "column": 50,
1974                            "program": "await_keyword.ets"
1975                          }
1976                        }
1977                      },
1978                      "loc": {
1979                        "start": {
1980                          "line": 38,
1981                          "column": 5,
1982                          "program": "await_keyword.ets"
1983                        },
1984                        "end": {
1985                          "line": 38,
1986                          "column": 50,
1987                          "program": "await_keyword.ets"
1988                        }
1989                      }
1990                    },
1991                    {
1992                      "type": "ExpressionStatement",
1993                      "expression": {
1994                        "type": "AssignmentExpression",
1995                        "operator": "=",
1996                        "left": {
1997                          "type": "Identifier",
1998                          "name": "obj",
1999                          "decorators": [],
2000                          "loc": {
2001                            "start": {
2002                              "line": 39,
2003                              "column": 5,
2004                              "program": "await_keyword.ets"
2005                            },
2006                            "end": {
2007                              "line": 39,
2008                              "column": 8,
2009                              "program": "await_keyword.ets"
2010                            }
2011                          }
2012                        },
2013                        "right": {
2014                          "type": "AwaitExpression",
2015                          "argument": {
2016                            "type": "TSNonNullExpression",
2017                            "expression": {
2018                              "type": "Identifier",
2019                              "name": "promise",
2020                              "decorators": [],
2021                              "loc": {
2022                                "start": {
2023                                  "line": 39,
2024                                  "column": 32,
2025                                  "program": "await_keyword.ets"
2026                                },
2027                                "end": {
2028                                  "line": 39,
2029                                  "column": 39,
2030                                  "program": "await_keyword.ets"
2031                                }
2032                              }
2033                            },
2034                            "loc": {
2035                              "start": {
2036                                "line": 39,
2037                                "column": 32,
2038                                "program": "await_keyword.ets"
2039                              },
2040                              "end": {
2041                                "line": 39,
2042                                "column": 40,
2043                                "program": "await_keyword.ets"
2044                              }
2045                            }
2046                          },
2047                          "loc": {
2048                            "start": {
2049                              "line": 39,
2050                              "column": 26,
2051                              "program": "await_keyword.ets"
2052                            },
2053                            "end": {
2054                              "line": 39,
2055                              "column": 40,
2056                              "program": "await_keyword.ets"
2057                            }
2058                          }
2059                        },
2060                        "loc": {
2061                          "start": {
2062                            "line": 39,
2063                            "column": 5,
2064                            "program": "await_keyword.ets"
2065                          },
2066                          "end": {
2067                            "line": 39,
2068                            "column": 40,
2069                            "program": "await_keyword.ets"
2070                          }
2071                        }
2072                      },
2073                      "loc": {
2074                        "start": {
2075                          "line": 39,
2076                          "column": 5,
2077                          "program": "await_keyword.ets"
2078                        },
2079                        "end": {
2080                          "line": 39,
2081                          "column": 40,
2082                          "program": "await_keyword.ets"
2083                        }
2084                      }
2085                    }
2086                  ],
2087                  "loc": {
2088                    "start": {
2089                      "line": 1,
2090                      "column": 1,
2091                      "program": null
2092                    },
2093                    "end": {
2094                      "line": 1,
2095                      "column": 1,
2096                      "program": null
2097                    }
2098                  }
2099                },
2100                "loc": {
2101                  "start": {
2102                    "line": 1,
2103                    "column": 1,
2104                    "program": null
2105                  },
2106                  "end": {
2107                    "line": 1,
2108                    "column": 1,
2109                    "program": null
2110                  }
2111                }
2112              },
2113              "loc": {
2114                "start": {
2115                  "line": 1,
2116                  "column": 1,
2117                  "program": null
2118                },
2119                "end": {
2120                  "line": 1,
2121                  "column": 1,
2122                  "program": null
2123                }
2124              }
2125            },
2126            "overloads": [],
2127            "decorators": [],
2128            "loc": {
2129              "start": {
2130                "line": 1,
2131                "column": 1,
2132                "program": "await_keyword.ets"
2133              },
2134              "end": {
2135                "line": 1,
2136                "column": 1,
2137                "program": "await_keyword.ets"
2138              }
2139            }
2140          },
2141          {
2142            "type": "MethodDefinition",
2143            "key": {
2144              "type": "Identifier",
2145              "name": "asyncFoo",
2146              "decorators": [],
2147              "loc": {
2148                "start": {
2149                  "line": 16,
2150                  "column": 16,
2151                  "program": "await_keyword.ets"
2152                },
2153                "end": {
2154                  "line": 16,
2155                  "column": 24,
2156                  "program": "await_keyword.ets"
2157                }
2158              }
2159            },
2160            "kind": "method",
2161            "accessibility": "public",
2162            "static": true,
2163            "optional": false,
2164            "computed": false,
2165            "value": {
2166              "type": "FunctionExpression",
2167              "function": {
2168                "type": "ScriptFunction",
2169                "id": {
2170                  "type": "Identifier",
2171                  "name": "asyncFoo",
2172                  "decorators": [],
2173                  "loc": {
2174                    "start": {
2175                      "line": 16,
2176                      "column": 16,
2177                      "program": "await_keyword.ets"
2178                    },
2179                    "end": {
2180                      "line": 16,
2181                      "column": 24,
2182                      "program": "await_keyword.ets"
2183                    }
2184                  }
2185                },
2186                "generator": false,
2187                "async": true,
2188                "expression": false,
2189                "params": [],
2190                "returnType": {
2191                  "type": "ETSTypeReference",
2192                  "part": {
2193                    "type": "ETSTypeReferencePart",
2194                    "name": {
2195                      "type": "Identifier",
2196                      "name": "Promise",
2197                      "decorators": [],
2198                      "loc": {
2199                        "start": {
2200                          "line": 16,
2201                          "column": 28,
2202                          "program": "await_keyword.ets"
2203                        },
2204                        "end": {
2205                          "line": 16,
2206                          "column": 35,
2207                          "program": "await_keyword.ets"
2208                        }
2209                      }
2210                    },
2211                    "typeParams": {
2212                      "type": "TSTypeParameterInstantiation",
2213                      "params": [
2214                        {
2215                          "type": "ETSUnionType",
2216                          "types": [
2217                            {
2218                              "type": "ETSTypeReference",
2219                              "part": {
2220                                "type": "ETSTypeReferencePart",
2221                                "name": {
2222                                  "type": "Identifier",
2223                                  "name": "Object",
2224                                  "decorators": [],
2225                                  "loc": {
2226                                    "start": {
2227                                      "line": 16,
2228                                      "column": 36,
2229                                      "program": "await_keyword.ets"
2230                                    },
2231                                    "end": {
2232                                      "line": 16,
2233                                      "column": 42,
2234                                      "program": "await_keyword.ets"
2235                                    }
2236                                  }
2237                                },
2238                                "loc": {
2239                                  "start": {
2240                                    "line": 16,
2241                                    "column": 36,
2242                                    "program": "await_keyword.ets"
2243                                  },
2244                                  "end": {
2245                                    "line": 16,
2246                                    "column": 44,
2247                                    "program": "await_keyword.ets"
2248                                  }
2249                                }
2250                              },
2251                              "loc": {
2252                                "start": {
2253                                  "line": 16,
2254                                  "column": 36,
2255                                  "program": "await_keyword.ets"
2256                                },
2257                                "end": {
2258                                  "line": 16,
2259                                  "column": 44,
2260                                  "program": "await_keyword.ets"
2261                                }
2262                              }
2263                            },
2264                            {
2265                              "type": "ETSNullType",
2266                              "loc": {
2267                                "start": {
2268                                  "line": 16,
2269                                  "column": 45,
2270                                  "program": "await_keyword.ets"
2271                                },
2272                                "end": {
2273                                  "line": 16,
2274                                  "column": 49,
2275                                  "program": "await_keyword.ets"
2276                                }
2277                              }
2278                            }
2279                          ],
2280                          "loc": {
2281                            "start": {
2282                              "line": 16,
2283                              "column": 36,
2284                              "program": "await_keyword.ets"
2285                            },
2286                            "end": {
2287                              "line": 16,
2288                              "column": 49,
2289                              "program": "await_keyword.ets"
2290                            }
2291                          }
2292                        }
2293                      ],
2294                      "loc": {
2295                        "start": {
2296                          "line": 16,
2297                          "column": 35,
2298                          "program": "await_keyword.ets"
2299                        },
2300                        "end": {
2301                          "line": 16,
2302                          "column": 50,
2303                          "program": "await_keyword.ets"
2304                        }
2305                      }
2306                    },
2307                    "loc": {
2308                      "start": {
2309                        "line": 16,
2310                        "column": 28,
2311                        "program": "await_keyword.ets"
2312                      },
2313                      "end": {
2314                        "line": 16,
2315                        "column": 52,
2316                        "program": "await_keyword.ets"
2317                      }
2318                    }
2319                  },
2320                  "loc": {
2321                    "start": {
2322                      "line": 16,
2323                      "column": 28,
2324                      "program": "await_keyword.ets"
2325                    },
2326                    "end": {
2327                      "line": 16,
2328                      "column": 52,
2329                      "program": "await_keyword.ets"
2330                    }
2331                  }
2332                },
2333                "body": {
2334                  "type": "BlockStatement",
2335                  "statements": [
2336                    {
2337                      "type": "VariableDeclaration",
2338                      "declarations": [
2339                        {
2340                          "type": "VariableDeclarator",
2341                          "id": {
2342                            "type": "Identifier",
2343                            "name": "promise",
2344                            "typeAnnotation": {
2345                              "type": "ETSUnionType",
2346                              "types": [
2347                                {
2348                                  "type": "ETSTypeReference",
2349                                  "part": {
2350                                    "type": "ETSTypeReferencePart",
2351                                    "name": {
2352                                      "type": "Identifier",
2353                                      "name": "Promise",
2354                                      "decorators": [],
2355                                      "loc": {
2356                                        "start": {
2357                                          "line": 17,
2358                                          "column": 18,
2359                                          "program": "await_keyword.ets"
2360                                        },
2361                                        "end": {
2362                                          "line": 17,
2363                                          "column": 25,
2364                                          "program": "await_keyword.ets"
2365                                        }
2366                                      }
2367                                    },
2368                                    "typeParams": {
2369                                      "type": "TSTypeParameterInstantiation",
2370                                      "params": [
2371                                        {
2372                                          "type": "ETSUnionType",
2373                                          "types": [
2374                                            {
2375                                              "type": "ETSTypeReference",
2376                                              "part": {
2377                                                "type": "ETSTypeReferencePart",
2378                                                "name": {
2379                                                  "type": "Identifier",
2380                                                  "name": "Object",
2381                                                  "decorators": [],
2382                                                  "loc": {
2383                                                    "start": {
2384                                                      "line": 17,
2385                                                      "column": 26,
2386                                                      "program": "await_keyword.ets"
2387                                                    },
2388                                                    "end": {
2389                                                      "line": 17,
2390                                                      "column": 32,
2391                                                      "program": "await_keyword.ets"
2392                                                    }
2393                                                  }
2394                                                },
2395                                                "loc": {
2396                                                  "start": {
2397                                                    "line": 17,
2398                                                    "column": 26,
2399                                                    "program": "await_keyword.ets"
2400                                                  },
2401                                                  "end": {
2402                                                    "line": 17,
2403                                                    "column": 34,
2404                                                    "program": "await_keyword.ets"
2405                                                  }
2406                                                }
2407                                              },
2408                                              "loc": {
2409                                                "start": {
2410                                                  "line": 17,
2411                                                  "column": 26,
2412                                                  "program": "await_keyword.ets"
2413                                                },
2414                                                "end": {
2415                                                  "line": 17,
2416                                                  "column": 34,
2417                                                  "program": "await_keyword.ets"
2418                                                }
2419                                              }
2420                                            },
2421                                            {
2422                                              "type": "ETSNullType",
2423                                              "loc": {
2424                                                "start": {
2425                                                  "line": 17,
2426                                                  "column": 35,
2427                                                  "program": "await_keyword.ets"
2428                                                },
2429                                                "end": {
2430                                                  "line": 17,
2431                                                  "column": 39,
2432                                                  "program": "await_keyword.ets"
2433                                                }
2434                                              }
2435                                            }
2436                                          ],
2437                                          "loc": {
2438                                            "start": {
2439                                              "line": 17,
2440                                              "column": 26,
2441                                              "program": "await_keyword.ets"
2442                                            },
2443                                            "end": {
2444                                              "line": 17,
2445                                              "column": 39,
2446                                              "program": "await_keyword.ets"
2447                                            }
2448                                          }
2449                                        }
2450                                      ],
2451                                      "loc": {
2452                                        "start": {
2453                                          "line": 17,
2454                                          "column": 25,
2455                                          "program": "await_keyword.ets"
2456                                        },
2457                                        "end": {
2458                                          "line": 17,
2459                                          "column": 40,
2460                                          "program": "await_keyword.ets"
2461                                        }
2462                                      }
2463                                    },
2464                                    "loc": {
2465                                      "start": {
2466                                        "line": 17,
2467                                        "column": 18,
2468                                        "program": "await_keyword.ets"
2469                                      },
2470                                      "end": {
2471                                        "line": 17,
2472                                        "column": 42,
2473                                        "program": "await_keyword.ets"
2474                                      }
2475                                    }
2476                                  },
2477                                  "loc": {
2478                                    "start": {
2479                                      "line": 17,
2480                                      "column": 18,
2481                                      "program": "await_keyword.ets"
2482                                    },
2483                                    "end": {
2484                                      "line": 17,
2485                                      "column": 42,
2486                                      "program": "await_keyword.ets"
2487                                    }
2488                                  }
2489                                },
2490                                {
2491                                  "type": "ETSNullType",
2492                                  "loc": {
2493                                    "start": {
2494                                      "line": 17,
2495                                      "column": 43,
2496                                      "program": "await_keyword.ets"
2497                                    },
2498                                    "end": {
2499                                      "line": 17,
2500                                      "column": 47,
2501                                      "program": "await_keyword.ets"
2502                                    }
2503                                  }
2504                                }
2505                              ],
2506                              "loc": {
2507                                "start": {
2508                                  "line": 17,
2509                                  "column": 18,
2510                                  "program": "await_keyword.ets"
2511                                },
2512                                "end": {
2513                                  "line": 17,
2514                                  "column": 47,
2515                                  "program": "await_keyword.ets"
2516                                }
2517                              }
2518                            },
2519                            "decorators": [],
2520                            "loc": {
2521                              "start": {
2522                                "line": 17,
2523                                "column": 9,
2524                                "program": "await_keyword.ets"
2525                              },
2526                              "end": {
2527                                "line": 17,
2528                                "column": 16,
2529                                "program": "await_keyword.ets"
2530                              }
2531                            }
2532                          },
2533                          "init": {
2534                            "type": "CallExpression",
2535                            "callee": {
2536                              "type": "ArrowFunctionExpression",
2537                              "function": {
2538                                "type": "ScriptFunction",
2539                                "id": null,
2540                                "generator": false,
2541                                "async": false,
2542                                "expression": false,
2543                                "params": [],
2544                                "returnType": {
2545                                  "type": "ETSUnionType",
2546                                  "types": [
2547                                    {
2548                                      "type": "ETSTypeReference",
2549                                      "part": {
2550                                        "type": "ETSTypeReferencePart",
2551                                        "name": {
2552                                          "type": "Identifier",
2553                                          "name": "Promise",
2554                                          "decorators": [],
2555                                          "loc": {
2556                                            "start": {
2557                                              "line": 17,
2558                                              "column": 54,
2559                                              "program": "await_keyword.ets"
2560                                            },
2561                                            "end": {
2562                                              "line": 17,
2563                                              "column": 61,
2564                                              "program": "await_keyword.ets"
2565                                            }
2566                                          }
2567                                        },
2568                                        "typeParams": {
2569                                          "type": "TSTypeParameterInstantiation",
2570                                          "params": [
2571                                            {
2572                                              "type": "ETSUnionType",
2573                                              "types": [
2574                                                {
2575                                                  "type": "ETSTypeReference",
2576                                                  "part": {
2577                                                    "type": "ETSTypeReferencePart",
2578                                                    "name": {
2579                                                      "type": "Identifier",
2580                                                      "name": "Object",
2581                                                      "decorators": [],
2582                                                      "loc": {
2583                                                        "start": {
2584                                                          "line": 17,
2585                                                          "column": 62,
2586                                                          "program": "await_keyword.ets"
2587                                                        },
2588                                                        "end": {
2589                                                          "line": 17,
2590                                                          "column": 68,
2591                                                          "program": "await_keyword.ets"
2592                                                        }
2593                                                      }
2594                                                    },
2595                                                    "loc": {
2596                                                      "start": {
2597                                                        "line": 17,
2598                                                        "column": 62,
2599                                                        "program": "await_keyword.ets"
2600                                                      },
2601                                                      "end": {
2602                                                        "line": 17,
2603                                                        "column": 70,
2604                                                        "program": "await_keyword.ets"
2605                                                      }
2606                                                    }
2607                                                  },
2608                                                  "loc": {
2609                                                    "start": {
2610                                                      "line": 17,
2611                                                      "column": 62,
2612                                                      "program": "await_keyword.ets"
2613                                                    },
2614                                                    "end": {
2615                                                      "line": 17,
2616                                                      "column": 70,
2617                                                      "program": "await_keyword.ets"
2618                                                    }
2619                                                  }
2620                                                },
2621                                                {
2622                                                  "type": "ETSNullType",
2623                                                  "loc": {
2624                                                    "start": {
2625                                                      "line": 17,
2626                                                      "column": 71,
2627                                                      "program": "await_keyword.ets"
2628                                                    },
2629                                                    "end": {
2630                                                      "line": 17,
2631                                                      "column": 75,
2632                                                      "program": "await_keyword.ets"
2633                                                    }
2634                                                  }
2635                                                }
2636                                              ],
2637                                              "loc": {
2638                                                "start": {
2639                                                  "line": 17,
2640                                                  "column": 62,
2641                                                  "program": "await_keyword.ets"
2642                                                },
2643                                                "end": {
2644                                                  "line": 17,
2645                                                  "column": 75,
2646                                                  "program": "await_keyword.ets"
2647                                                }
2648                                              }
2649                                            }
2650                                          ],
2651                                          "loc": {
2652                                            "start": {
2653                                              "line": 17,
2654                                              "column": 61,
2655                                              "program": "await_keyword.ets"
2656                                            },
2657                                            "end": {
2658                                              "line": 17,
2659                                              "column": 76,
2660                                              "program": "await_keyword.ets"
2661                                            }
2662                                          }
2663                                        },
2664                                        "loc": {
2665                                          "start": {
2666                                            "line": 17,
2667                                            "column": 54,
2668                                            "program": "await_keyword.ets"
2669                                          },
2670                                          "end": {
2671                                            "line": 17,
2672                                            "column": 78,
2673                                            "program": "await_keyword.ets"
2674                                          }
2675                                        }
2676                                      },
2677                                      "loc": {
2678                                        "start": {
2679                                          "line": 17,
2680                                          "column": 54,
2681                                          "program": "await_keyword.ets"
2682                                        },
2683                                        "end": {
2684                                          "line": 17,
2685                                          "column": 78,
2686                                          "program": "await_keyword.ets"
2687                                        }
2688                                      }
2689                                    },
2690                                    {
2691                                      "type": "ETSNullType",
2692                                      "loc": {
2693                                        "start": {
2694                                          "line": 17,
2695                                          "column": 79,
2696                                          "program": "await_keyword.ets"
2697                                        },
2698                                        "end": {
2699                                          "line": 17,
2700                                          "column": 83,
2701                                          "program": "await_keyword.ets"
2702                                        }
2703                                      }
2704                                    }
2705                                  ],
2706                                  "loc": {
2707                                    "start": {
2708                                      "line": 17,
2709                                      "column": 54,
2710                                      "program": "await_keyword.ets"
2711                                    },
2712                                    "end": {
2713                                      "line": 17,
2714                                      "column": 83,
2715                                      "program": "await_keyword.ets"
2716                                    }
2717                                  }
2718                                },
2719                                "body": {
2720                                  "type": "BlockStatement",
2721                                  "statements": [
2722                                    {
2723                                      "type": "ReturnStatement",
2724                                      "argument": {
2725                                        "type": "NullLiteral",
2726                                        "value": null,
2727                                        "loc": {
2728                                          "start": {
2729                                            "line": 17,
2730                                            "column": 96,
2731                                            "program": "await_keyword.ets"
2732                                          },
2733                                          "end": {
2734                                            "line": 17,
2735                                            "column": 100,
2736                                            "program": "await_keyword.ets"
2737                                          }
2738                                        }
2739                                      },
2740                                      "loc": {
2741                                        "start": {
2742                                          "line": 17,
2743                                          "column": 89,
2744                                          "program": "await_keyword.ets"
2745                                        },
2746                                        "end": {
2747                                          "line": 17,
2748                                          "column": 101,
2749                                          "program": "await_keyword.ets"
2750                                        }
2751                                      }
2752                                    }
2753                                  ],
2754                                  "loc": {
2755                                    "start": {
2756                                      "line": 17,
2757                                      "column": 87,
2758                                      "program": "await_keyword.ets"
2759                                    },
2760                                    "end": {
2761                                      "line": 17,
2762                                      "column": 103,
2763                                      "program": "await_keyword.ets"
2764                                    }
2765                                  }
2766                                },
2767                                "loc": {
2768                                  "start": {
2769                                    "line": 17,
2770                                    "column": 50,
2771                                    "program": "await_keyword.ets"
2772                                  },
2773                                  "end": {
2774                                    "line": 17,
2775                                    "column": 103,
2776                                    "program": "await_keyword.ets"
2777                                  }
2778                                }
2779                              },
2780                              "loc": {
2781                                "start": {
2782                                  "line": 17,
2783                                  "column": 50,
2784                                  "program": "await_keyword.ets"
2785                                },
2786                                "end": {
2787                                  "line": 17,
2788                                  "column": 103,
2789                                  "program": "await_keyword.ets"
2790                                }
2791                              }
2792                            },
2793                            "arguments": [],
2794                            "optional": false,
2795                            "loc": {
2796                              "start": {
2797                                "line": 17,
2798                                "column": 50,
2799                                "program": "await_keyword.ets"
2800                              },
2801                              "end": {
2802                                "line": 17,
2803                                "column": 105,
2804                                "program": "await_keyword.ets"
2805                              }
2806                            }
2807                          },
2808                          "loc": {
2809                            "start": {
2810                              "line": 17,
2811                              "column": 9,
2812                              "program": "await_keyword.ets"
2813                            },
2814                            "end": {
2815                              "line": 17,
2816                              "column": 105,
2817                              "program": "await_keyword.ets"
2818                            }
2819                          }
2820                        }
2821                      ],
2822                      "kind": "let",
2823                      "loc": {
2824                        "start": {
2825                          "line": 17,
2826                          "column": 5,
2827                          "program": "await_keyword.ets"
2828                        },
2829                        "end": {
2830                          "line": 17,
2831                          "column": 106,
2832                          "program": "await_keyword.ets"
2833                        }
2834                      }
2835                    },
2836                    {
2837                      "type": "VariableDeclaration",
2838                      "declarations": [
2839                        {
2840                          "type": "VariableDeclarator",
2841                          "id": {
2842                            "type": "Identifier",
2843                            "name": "obj",
2844                            "typeAnnotation": {
2845                              "type": "ETSUnionType",
2846                              "types": [
2847                                {
2848                                  "type": "ETSTypeReference",
2849                                  "part": {
2850                                    "type": "ETSTypeReferencePart",
2851                                    "name": {
2852                                      "type": "Identifier",
2853                                      "name": "Object",
2854                                      "decorators": [],
2855                                      "loc": {
2856                                        "start": {
2857                                          "line": 18,
2858                                          "column": 14,
2859                                          "program": "await_keyword.ets"
2860                                        },
2861                                        "end": {
2862                                          "line": 18,
2863                                          "column": 20,
2864                                          "program": "await_keyword.ets"
2865                                        }
2866                                      }
2867                                    },
2868                                    "loc": {
2869                                      "start": {
2870                                        "line": 18,
2871                                        "column": 14,
2872                                        "program": "await_keyword.ets"
2873                                      },
2874                                      "end": {
2875                                        "line": 18,
2876                                        "column": 22,
2877                                        "program": "await_keyword.ets"
2878                                      }
2879                                    }
2880                                  },
2881                                  "loc": {
2882                                    "start": {
2883                                      "line": 18,
2884                                      "column": 14,
2885                                      "program": "await_keyword.ets"
2886                                    },
2887                                    "end": {
2888                                      "line": 18,
2889                                      "column": 22,
2890                                      "program": "await_keyword.ets"
2891                                    }
2892                                  }
2893                                },
2894                                {
2895                                  "type": "ETSNullType",
2896                                  "loc": {
2897                                    "start": {
2898                                      "line": 18,
2899                                      "column": 23,
2900                                      "program": "await_keyword.ets"
2901                                    },
2902                                    "end": {
2903                                      "line": 18,
2904                                      "column": 27,
2905                                      "program": "await_keyword.ets"
2906                                    }
2907                                  }
2908                                }
2909                              ],
2910                              "loc": {
2911                                "start": {
2912                                  "line": 18,
2913                                  "column": 14,
2914                                  "program": "await_keyword.ets"
2915                                },
2916                                "end": {
2917                                  "line": 18,
2918                                  "column": 27,
2919                                  "program": "await_keyword.ets"
2920                                }
2921                              }
2922                            },
2923                            "decorators": [],
2924                            "loc": {
2925                              "start": {
2926                                "line": 18,
2927                                "column": 9,
2928                                "program": "await_keyword.ets"
2929                              },
2930                              "end": {
2931                                "line": 18,
2932                                "column": 12,
2933                                "program": "await_keyword.ets"
2934                              }
2935                            }
2936                          },
2937                          "init": {
2938                            "type": "AwaitExpression",
2939                            "argument": {
2940                              "type": "TSNonNullExpression",
2941                              "expression": {
2942                                "type": "Identifier",
2943                                "name": "promise",
2944                                "decorators": [],
2945                                "loc": {
2946                                  "start": {
2947                                    "line": 18,
2948                                    "column": 36,
2949                                    "program": "await_keyword.ets"
2950                                  },
2951                                  "end": {
2952                                    "line": 18,
2953                                    "column": 43,
2954                                    "program": "await_keyword.ets"
2955                                  }
2956                                }
2957                              },
2958                              "loc": {
2959                                "start": {
2960                                  "line": 18,
2961                                  "column": 36,
2962                                  "program": "await_keyword.ets"
2963                                },
2964                                "end": {
2965                                  "line": 18,
2966                                  "column": 44,
2967                                  "program": "await_keyword.ets"
2968                                }
2969                              }
2970                            },
2971                            "loc": {
2972                              "start": {
2973                                "line": 18,
2974                                "column": 30,
2975                                "program": "await_keyword.ets"
2976                              },
2977                              "end": {
2978                                "line": 18,
2979                                "column": 44,
2980                                "program": "await_keyword.ets"
2981                              }
2982                            }
2983                          },
2984                          "loc": {
2985                            "start": {
2986                              "line": 18,
2987                              "column": 9,
2988                              "program": "await_keyword.ets"
2989                            },
2990                            "end": {
2991                              "line": 18,
2992                              "column": 44,
2993                              "program": "await_keyword.ets"
2994                            }
2995                          }
2996                        }
2997                      ],
2998                      "kind": "let",
2999                      "loc": {
3000                        "start": {
3001                          "line": 18,
3002                          "column": 5,
3003                          "program": "await_keyword.ets"
3004                        },
3005                        "end": {
3006                          "line": 18,
3007                          "column": 45,
3008                          "program": "await_keyword.ets"
3009                        }
3010                      }
3011                    },
3012                    {
3013                      "type": "ReturnStatement",
3014                      "argument": {
3015                        "type": "Identifier",
3016                        "name": "promise",
3017                        "decorators": [],
3018                        "loc": {
3019                          "start": {
3020                            "line": 19,
3021                            "column": 12,
3022                            "program": "await_keyword.ets"
3023                          },
3024                          "end": {
3025                            "line": 19,
3026                            "column": 19,
3027                            "program": "await_keyword.ets"
3028                          }
3029                        }
3030                      },
3031                      "loc": {
3032                        "start": {
3033                          "line": 19,
3034                          "column": 5,
3035                          "program": "await_keyword.ets"
3036                        },
3037                        "end": {
3038                          "line": 19,
3039                          "column": 20,
3040                          "program": "await_keyword.ets"
3041                        }
3042                      }
3043                    }
3044                  ],
3045                  "loc": {
3046                    "start": {
3047                      "line": 16,
3048                      "column": 51,
3049                      "program": "await_keyword.ets"
3050                    },
3051                    "end": {
3052                      "line": 20,
3053                      "column": 2,
3054                      "program": "await_keyword.ets"
3055                    }
3056                  }
3057                },
3058                "loc": {
3059                  "start": {
3060                    "line": 16,
3061                    "column": 16,
3062                    "program": "await_keyword.ets"
3063                  },
3064                  "end": {
3065                    "line": 20,
3066                    "column": 2,
3067                    "program": "await_keyword.ets"
3068                  }
3069                }
3070              },
3071              "loc": {
3072                "start": {
3073                  "line": 16,
3074                  "column": 16,
3075                  "program": "await_keyword.ets"
3076                },
3077                "end": {
3078                  "line": 20,
3079                  "column": 2,
3080                  "program": "await_keyword.ets"
3081                }
3082              }
3083            },
3084            "overloads": [],
3085            "decorators": [],
3086            "loc": {
3087              "start": {
3088                "line": 16,
3089                "column": 1,
3090                "program": "await_keyword.ets"
3091              },
3092              "end": {
3093                "line": 20,
3094                "column": 2,
3095                "program": "await_keyword.ets"
3096              }
3097            }
3098          },
3099          {
3100            "type": "ClassProperty",
3101            "key": {
3102              "type": "Identifier",
3103              "name": "asyncLambda",
3104              "decorators": [],
3105              "loc": {
3106                "start": {
3107                  "line": 22,
3108                  "column": 5,
3109                  "program": "await_keyword.ets"
3110                },
3111                "end": {
3112                  "line": 22,
3113                  "column": 16,
3114                  "program": "await_keyword.ets"
3115                }
3116              }
3117            },
3118            "accessibility": "public",
3119            "static": true,
3120            "readonly": false,
3121            "declare": false,
3122            "optional": false,
3123            "computed": false,
3124            "typeAnnotation": {
3125              "type": "ETSFunctionType",
3126              "params": [],
3127              "returnType": {
3128                "type": "ETSTypeReference",
3129                "part": {
3130                  "type": "ETSTypeReferencePart",
3131                  "name": {
3132                    "type": "Identifier",
3133                    "name": "Promise",
3134                    "decorators": [],
3135                    "loc": {
3136                      "start": {
3137                        "line": 22,
3138                        "column": 24,
3139                        "program": "await_keyword.ets"
3140                      },
3141                      "end": {
3142                        "line": 22,
3143                        "column": 31,
3144                        "program": "await_keyword.ets"
3145                      }
3146                    }
3147                  },
3148                  "typeParams": {
3149                    "type": "TSTypeParameterInstantiation",
3150                    "params": [
3151                      {
3152                        "type": "ETSUnionType",
3153                        "types": [
3154                          {
3155                            "type": "ETSTypeReference",
3156                            "part": {
3157                              "type": "ETSTypeReferencePart",
3158                              "name": {
3159                                "type": "Identifier",
3160                                "name": "Object",
3161                                "decorators": [],
3162                                "loc": {
3163                                  "start": {
3164                                    "line": 22,
3165                                    "column": 32,
3166                                    "program": "await_keyword.ets"
3167                                  },
3168                                  "end": {
3169                                    "line": 22,
3170                                    "column": 38,
3171                                    "program": "await_keyword.ets"
3172                                  }
3173                                }
3174                              },
3175                              "loc": {
3176                                "start": {
3177                                  "line": 22,
3178                                  "column": 32,
3179                                  "program": "await_keyword.ets"
3180                                },
3181                                "end": {
3182                                  "line": 22,
3183                                  "column": 40,
3184                                  "program": "await_keyword.ets"
3185                                }
3186                              }
3187                            },
3188                            "loc": {
3189                              "start": {
3190                                "line": 22,
3191                                "column": 32,
3192                                "program": "await_keyword.ets"
3193                              },
3194                              "end": {
3195                                "line": 22,
3196                                "column": 40,
3197                                "program": "await_keyword.ets"
3198                              }
3199                            }
3200                          },
3201                          {
3202                            "type": "ETSNullType",
3203                            "loc": {
3204                              "start": {
3205                                "line": 22,
3206                                "column": 41,
3207                                "program": "await_keyword.ets"
3208                              },
3209                              "end": {
3210                                "line": 22,
3211                                "column": 45,
3212                                "program": "await_keyword.ets"
3213                              }
3214                            }
3215                          }
3216                        ],
3217                        "loc": {
3218                          "start": {
3219                            "line": 22,
3220                            "column": 32,
3221                            "program": "await_keyword.ets"
3222                          },
3223                          "end": {
3224                            "line": 22,
3225                            "column": 45,
3226                            "program": "await_keyword.ets"
3227                          }
3228                        }
3229                      }
3230                    ],
3231                    "loc": {
3232                      "start": {
3233                        "line": 22,
3234                        "column": 31,
3235                        "program": "await_keyword.ets"
3236                      },
3237                      "end": {
3238                        "line": 22,
3239                        "column": 46,
3240                        "program": "await_keyword.ets"
3241                      }
3242                    }
3243                  },
3244                  "loc": {
3245                    "start": {
3246                      "line": 22,
3247                      "column": 24,
3248                      "program": "await_keyword.ets"
3249                    },
3250                    "end": {
3251                      "line": 22,
3252                      "column": 48,
3253                      "program": "await_keyword.ets"
3254                    }
3255                  }
3256                },
3257                "loc": {
3258                  "start": {
3259                    "line": 22,
3260                    "column": 24,
3261                    "program": "await_keyword.ets"
3262                  },
3263                  "end": {
3264                    "line": 22,
3265                    "column": 48,
3266                    "program": "await_keyword.ets"
3267                  }
3268                }
3269              },
3270              "loc": {
3271                "start": {
3272                  "line": 22,
3273                  "column": 18,
3274                  "program": "await_keyword.ets"
3275                },
3276                "end": {
3277                  "line": 22,
3278                  "column": 48,
3279                  "program": "await_keyword.ets"
3280                }
3281              }
3282            },
3283            "definite": false,
3284            "decorators": [],
3285            "loc": {
3286              "start": {
3287                "line": 22,
3288                "column": 5,
3289                "program": "await_keyword.ets"
3290              },
3291              "end": {
3292                "line": 26,
3293                "column": 2,
3294                "program": "await_keyword.ets"
3295              }
3296            }
3297          },
3298          {
3299            "type": "MethodDefinition",
3300            "key": {
3301              "type": "Identifier",
3302              "name": "foo",
3303              "decorators": [],
3304              "loc": {
3305                "start": {
3306                  "line": 28,
3307                  "column": 10,
3308                  "program": "await_keyword.ets"
3309                },
3310                "end": {
3311                  "line": 28,
3312                  "column": 13,
3313                  "program": "await_keyword.ets"
3314                }
3315              }
3316            },
3317            "kind": "method",
3318            "accessibility": "public",
3319            "static": true,
3320            "optional": false,
3321            "computed": false,
3322            "value": {
3323              "type": "FunctionExpression",
3324              "function": {
3325                "type": "ScriptFunction",
3326                "id": {
3327                  "type": "Identifier",
3328                  "name": "foo",
3329                  "decorators": [],
3330                  "loc": {
3331                    "start": {
3332                      "line": 28,
3333                      "column": 10,
3334                      "program": "await_keyword.ets"
3335                    },
3336                    "end": {
3337                      "line": 28,
3338                      "column": 13,
3339                      "program": "await_keyword.ets"
3340                    }
3341                  }
3342                },
3343                "generator": false,
3344                "async": false,
3345                "expression": false,
3346                "params": [],
3347                "returnType": {
3348                  "type": "ETSPrimitiveType",
3349                  "loc": {
3350                    "start": {
3351                      "line": 28,
3352                      "column": 17,
3353                      "program": "await_keyword.ets"
3354                    },
3355                    "end": {
3356                      "line": 28,
3357                      "column": 21,
3358                      "program": "await_keyword.ets"
3359                    }
3360                  }
3361                },
3362                "body": {
3363                  "type": "BlockStatement",
3364                  "statements": [
3365                    {
3366                      "type": "VariableDeclaration",
3367                      "declarations": [
3368                        {
3369                          "type": "VariableDeclarator",
3370                          "id": {
3371                            "type": "Identifier",
3372                            "name": "promise",
3373                            "typeAnnotation": {
3374                              "type": "ETSUnionType",
3375                              "types": [
3376                                {
3377                                  "type": "ETSTypeReference",
3378                                  "part": {
3379                                    "type": "ETSTypeReferencePart",
3380                                    "name": {
3381                                      "type": "Identifier",
3382                                      "name": "Promise",
3383                                      "decorators": [],
3384                                      "loc": {
3385                                        "start": {
3386                                          "line": 29,
3387                                          "column": 18,
3388                                          "program": "await_keyword.ets"
3389                                        },
3390                                        "end": {
3391                                          "line": 29,
3392                                          "column": 25,
3393                                          "program": "await_keyword.ets"
3394                                        }
3395                                      }
3396                                    },
3397                                    "typeParams": {
3398                                      "type": "TSTypeParameterInstantiation",
3399                                      "params": [
3400                                        {
3401                                          "type": "ETSUnionType",
3402                                          "types": [
3403                                            {
3404                                              "type": "ETSTypeReference",
3405                                              "part": {
3406                                                "type": "ETSTypeReferencePart",
3407                                                "name": {
3408                                                  "type": "Identifier",
3409                                                  "name": "Object",
3410                                                  "decorators": [],
3411                                                  "loc": {
3412                                                    "start": {
3413                                                      "line": 29,
3414                                                      "column": 26,
3415                                                      "program": "await_keyword.ets"
3416                                                    },
3417                                                    "end": {
3418                                                      "line": 29,
3419                                                      "column": 32,
3420                                                      "program": "await_keyword.ets"
3421                                                    }
3422                                                  }
3423                                                },
3424                                                "loc": {
3425                                                  "start": {
3426                                                    "line": 29,
3427                                                    "column": 26,
3428                                                    "program": "await_keyword.ets"
3429                                                  },
3430                                                  "end": {
3431                                                    "line": 29,
3432                                                    "column": 34,
3433                                                    "program": "await_keyword.ets"
3434                                                  }
3435                                                }
3436                                              },
3437                                              "loc": {
3438                                                "start": {
3439                                                  "line": 29,
3440                                                  "column": 26,
3441                                                  "program": "await_keyword.ets"
3442                                                },
3443                                                "end": {
3444                                                  "line": 29,
3445                                                  "column": 34,
3446                                                  "program": "await_keyword.ets"
3447                                                }
3448                                              }
3449                                            },
3450                                            {
3451                                              "type": "ETSNullType",
3452                                              "loc": {
3453                                                "start": {
3454                                                  "line": 29,
3455                                                  "column": 35,
3456                                                  "program": "await_keyword.ets"
3457                                                },
3458                                                "end": {
3459                                                  "line": 29,
3460                                                  "column": 39,
3461                                                  "program": "await_keyword.ets"
3462                                                }
3463                                              }
3464                                            }
3465                                          ],
3466                                          "loc": {
3467                                            "start": {
3468                                              "line": 29,
3469                                              "column": 26,
3470                                              "program": "await_keyword.ets"
3471                                            },
3472                                            "end": {
3473                                              "line": 29,
3474                                              "column": 39,
3475                                              "program": "await_keyword.ets"
3476                                            }
3477                                          }
3478                                        }
3479                                      ],
3480                                      "loc": {
3481                                        "start": {
3482                                          "line": 29,
3483                                          "column": 25,
3484                                          "program": "await_keyword.ets"
3485                                        },
3486                                        "end": {
3487                                          "line": 29,
3488                                          "column": 40,
3489                                          "program": "await_keyword.ets"
3490                                        }
3491                                      }
3492                                    },
3493                                    "loc": {
3494                                      "start": {
3495                                        "line": 29,
3496                                        "column": 18,
3497                                        "program": "await_keyword.ets"
3498                                      },
3499                                      "end": {
3500                                        "line": 29,
3501                                        "column": 42,
3502                                        "program": "await_keyword.ets"
3503                                      }
3504                                    }
3505                                  },
3506                                  "loc": {
3507                                    "start": {
3508                                      "line": 29,
3509                                      "column": 18,
3510                                      "program": "await_keyword.ets"
3511                                    },
3512                                    "end": {
3513                                      "line": 29,
3514                                      "column": 42,
3515                                      "program": "await_keyword.ets"
3516                                    }
3517                                  }
3518                                },
3519                                {
3520                                  "type": "ETSNullType",
3521                                  "loc": {
3522                                    "start": {
3523                                      "line": 29,
3524                                      "column": 43,
3525                                      "program": "await_keyword.ets"
3526                                    },
3527                                    "end": {
3528                                      "line": 29,
3529                                      "column": 47,
3530                                      "program": "await_keyword.ets"
3531                                    }
3532                                  }
3533                                }
3534                              ],
3535                              "loc": {
3536                                "start": {
3537                                  "line": 29,
3538                                  "column": 18,
3539                                  "program": "await_keyword.ets"
3540                                },
3541                                "end": {
3542                                  "line": 29,
3543                                  "column": 47,
3544                                  "program": "await_keyword.ets"
3545                                }
3546                              }
3547                            },
3548                            "decorators": [],
3549                            "loc": {
3550                              "start": {
3551                                "line": 29,
3552                                "column": 9,
3553                                "program": "await_keyword.ets"
3554                              },
3555                              "end": {
3556                                "line": 29,
3557                                "column": 16,
3558                                "program": "await_keyword.ets"
3559                              }
3560                            }
3561                          },
3562                          "init": {
3563                            "type": "CallExpression",
3564                            "callee": {
3565                              "type": "ArrowFunctionExpression",
3566                              "function": {
3567                                "type": "ScriptFunction",
3568                                "id": null,
3569                                "generator": false,
3570                                "async": false,
3571                                "expression": false,
3572                                "params": [],
3573                                "returnType": {
3574                                  "type": "ETSUnionType",
3575                                  "types": [
3576                                    {
3577                                      "type": "ETSTypeReference",
3578                                      "part": {
3579                                        "type": "ETSTypeReferencePart",
3580                                        "name": {
3581                                          "type": "Identifier",
3582                                          "name": "Promise",
3583                                          "decorators": [],
3584                                          "loc": {
3585                                            "start": {
3586                                              "line": 29,
3587                                              "column": 54,
3588                                              "program": "await_keyword.ets"
3589                                            },
3590                                            "end": {
3591                                              "line": 29,
3592                                              "column": 61,
3593                                              "program": "await_keyword.ets"
3594                                            }
3595                                          }
3596                                        },
3597                                        "typeParams": {
3598                                          "type": "TSTypeParameterInstantiation",
3599                                          "params": [
3600                                            {
3601                                              "type": "ETSUnionType",
3602                                              "types": [
3603                                                {
3604                                                  "type": "ETSTypeReference",
3605                                                  "part": {
3606                                                    "type": "ETSTypeReferencePart",
3607                                                    "name": {
3608                                                      "type": "Identifier",
3609                                                      "name": "Object",
3610                                                      "decorators": [],
3611                                                      "loc": {
3612                                                        "start": {
3613                                                          "line": 29,
3614                                                          "column": 62,
3615                                                          "program": "await_keyword.ets"
3616                                                        },
3617                                                        "end": {
3618                                                          "line": 29,
3619                                                          "column": 68,
3620                                                          "program": "await_keyword.ets"
3621                                                        }
3622                                                      }
3623                                                    },
3624                                                    "loc": {
3625                                                      "start": {
3626                                                        "line": 29,
3627                                                        "column": 62,
3628                                                        "program": "await_keyword.ets"
3629                                                      },
3630                                                      "end": {
3631                                                        "line": 29,
3632                                                        "column": 70,
3633                                                        "program": "await_keyword.ets"
3634                                                      }
3635                                                    }
3636                                                  },
3637                                                  "loc": {
3638                                                    "start": {
3639                                                      "line": 29,
3640                                                      "column": 62,
3641                                                      "program": "await_keyword.ets"
3642                                                    },
3643                                                    "end": {
3644                                                      "line": 29,
3645                                                      "column": 70,
3646                                                      "program": "await_keyword.ets"
3647                                                    }
3648                                                  }
3649                                                },
3650                                                {
3651                                                  "type": "ETSNullType",
3652                                                  "loc": {
3653                                                    "start": {
3654                                                      "line": 29,
3655                                                      "column": 71,
3656                                                      "program": "await_keyword.ets"
3657                                                    },
3658                                                    "end": {
3659                                                      "line": 29,
3660                                                      "column": 75,
3661                                                      "program": "await_keyword.ets"
3662                                                    }
3663                                                  }
3664                                                }
3665                                              ],
3666                                              "loc": {
3667                                                "start": {
3668                                                  "line": 29,
3669                                                  "column": 62,
3670                                                  "program": "await_keyword.ets"
3671                                                },
3672                                                "end": {
3673                                                  "line": 29,
3674                                                  "column": 75,
3675                                                  "program": "await_keyword.ets"
3676                                                }
3677                                              }
3678                                            }
3679                                          ],
3680                                          "loc": {
3681                                            "start": {
3682                                              "line": 29,
3683                                              "column": 61,
3684                                              "program": "await_keyword.ets"
3685                                            },
3686                                            "end": {
3687                                              "line": 29,
3688                                              "column": 76,
3689                                              "program": "await_keyword.ets"
3690                                            }
3691                                          }
3692                                        },
3693                                        "loc": {
3694                                          "start": {
3695                                            "line": 29,
3696                                            "column": 54,
3697                                            "program": "await_keyword.ets"
3698                                          },
3699                                          "end": {
3700                                            "line": 29,
3701                                            "column": 78,
3702                                            "program": "await_keyword.ets"
3703                                          }
3704                                        }
3705                                      },
3706                                      "loc": {
3707                                        "start": {
3708                                          "line": 29,
3709                                          "column": 54,
3710                                          "program": "await_keyword.ets"
3711                                        },
3712                                        "end": {
3713                                          "line": 29,
3714                                          "column": 78,
3715                                          "program": "await_keyword.ets"
3716                                        }
3717                                      }
3718                                    },
3719                                    {
3720                                      "type": "ETSNullType",
3721                                      "loc": {
3722                                        "start": {
3723                                          "line": 29,
3724                                          "column": 79,
3725                                          "program": "await_keyword.ets"
3726                                        },
3727                                        "end": {
3728                                          "line": 29,
3729                                          "column": 83,
3730                                          "program": "await_keyword.ets"
3731                                        }
3732                                      }
3733                                    }
3734                                  ],
3735                                  "loc": {
3736                                    "start": {
3737                                      "line": 29,
3738                                      "column": 54,
3739                                      "program": "await_keyword.ets"
3740                                    },
3741                                    "end": {
3742                                      "line": 29,
3743                                      "column": 83,
3744                                      "program": "await_keyword.ets"
3745                                    }
3746                                  }
3747                                },
3748                                "body": {
3749                                  "type": "BlockStatement",
3750                                  "statements": [
3751                                    {
3752                                      "type": "ReturnStatement",
3753                                      "argument": {
3754                                        "type": "NullLiteral",
3755                                        "value": null,
3756                                        "loc": {
3757                                          "start": {
3758                                            "line": 29,
3759                                            "column": 96,
3760                                            "program": "await_keyword.ets"
3761                                          },
3762                                          "end": {
3763                                            "line": 29,
3764                                            "column": 100,
3765                                            "program": "await_keyword.ets"
3766                                          }
3767                                        }
3768                                      },
3769                                      "loc": {
3770                                        "start": {
3771                                          "line": 29,
3772                                          "column": 89,
3773                                          "program": "await_keyword.ets"
3774                                        },
3775                                        "end": {
3776                                          "line": 29,
3777                                          "column": 101,
3778                                          "program": "await_keyword.ets"
3779                                        }
3780                                      }
3781                                    }
3782                                  ],
3783                                  "loc": {
3784                                    "start": {
3785                                      "line": 29,
3786                                      "column": 87,
3787                                      "program": "await_keyword.ets"
3788                                    },
3789                                    "end": {
3790                                      "line": 29,
3791                                      "column": 103,
3792                                      "program": "await_keyword.ets"
3793                                    }
3794                                  }
3795                                },
3796                                "loc": {
3797                                  "start": {
3798                                    "line": 29,
3799                                    "column": 50,
3800                                    "program": "await_keyword.ets"
3801                                  },
3802                                  "end": {
3803                                    "line": 29,
3804                                    "column": 103,
3805                                    "program": "await_keyword.ets"
3806                                  }
3807                                }
3808                              },
3809                              "loc": {
3810                                "start": {
3811                                  "line": 29,
3812                                  "column": 50,
3813                                  "program": "await_keyword.ets"
3814                                },
3815                                "end": {
3816                                  "line": 29,
3817                                  "column": 103,
3818                                  "program": "await_keyword.ets"
3819                                }
3820                              }
3821                            },
3822                            "arguments": [],
3823                            "optional": false,
3824                            "loc": {
3825                              "start": {
3826                                "line": 29,
3827                                "column": 50,
3828                                "program": "await_keyword.ets"
3829                              },
3830                              "end": {
3831                                "line": 29,
3832                                "column": 105,
3833                                "program": "await_keyword.ets"
3834                              }
3835                            }
3836                          },
3837                          "loc": {
3838                            "start": {
3839                              "line": 29,
3840                              "column": 9,
3841                              "program": "await_keyword.ets"
3842                            },
3843                            "end": {
3844                              "line": 29,
3845                              "column": 105,
3846                              "program": "await_keyword.ets"
3847                            }
3848                          }
3849                        }
3850                      ],
3851                      "kind": "let",
3852                      "loc": {
3853                        "start": {
3854                          "line": 29,
3855                          "column": 5,
3856                          "program": "await_keyword.ets"
3857                        },
3858                        "end": {
3859                          "line": 29,
3860                          "column": 106,
3861                          "program": "await_keyword.ets"
3862                        }
3863                      }
3864                    },
3865                    {
3866                      "type": "VariableDeclaration",
3867                      "declarations": [
3868                        {
3869                          "type": "VariableDeclarator",
3870                          "id": {
3871                            "type": "Identifier",
3872                            "name": "obj",
3873                            "typeAnnotation": {
3874                              "type": "ETSUnionType",
3875                              "types": [
3876                                {
3877                                  "type": "ETSTypeReference",
3878                                  "part": {
3879                                    "type": "ETSTypeReferencePart",
3880                                    "name": {
3881                                      "type": "Identifier",
3882                                      "name": "Object",
3883                                      "decorators": [],
3884                                      "loc": {
3885                                        "start": {
3886                                          "line": 30,
3887                                          "column": 14,
3888                                          "program": "await_keyword.ets"
3889                                        },
3890                                        "end": {
3891                                          "line": 30,
3892                                          "column": 20,
3893                                          "program": "await_keyword.ets"
3894                                        }
3895                                      }
3896                                    },
3897                                    "loc": {
3898                                      "start": {
3899                                        "line": 30,
3900                                        "column": 14,
3901                                        "program": "await_keyword.ets"
3902                                      },
3903                                      "end": {
3904                                        "line": 30,
3905                                        "column": 22,
3906                                        "program": "await_keyword.ets"
3907                                      }
3908                                    }
3909                                  },
3910                                  "loc": {
3911                                    "start": {
3912                                      "line": 30,
3913                                      "column": 14,
3914                                      "program": "await_keyword.ets"
3915                                    },
3916                                    "end": {
3917                                      "line": 30,
3918                                      "column": 22,
3919                                      "program": "await_keyword.ets"
3920                                    }
3921                                  }
3922                                },
3923                                {
3924                                  "type": "ETSNullType",
3925                                  "loc": {
3926                                    "start": {
3927                                      "line": 30,
3928                                      "column": 23,
3929                                      "program": "await_keyword.ets"
3930                                    },
3931                                    "end": {
3932                                      "line": 30,
3933                                      "column": 27,
3934                                      "program": "await_keyword.ets"
3935                                    }
3936                                  }
3937                                }
3938                              ],
3939                              "loc": {
3940                                "start": {
3941                                  "line": 30,
3942                                  "column": 14,
3943                                  "program": "await_keyword.ets"
3944                                },
3945                                "end": {
3946                                  "line": 30,
3947                                  "column": 27,
3948                                  "program": "await_keyword.ets"
3949                                }
3950                              }
3951                            },
3952                            "decorators": [],
3953                            "loc": {
3954                              "start": {
3955                                "line": 30,
3956                                "column": 9,
3957                                "program": "await_keyword.ets"
3958                              },
3959                              "end": {
3960                                "line": 30,
3961                                "column": 12,
3962                                "program": "await_keyword.ets"
3963                              }
3964                            }
3965                          },
3966                          "init": {
3967                            "type": "AwaitExpression",
3968                            "argument": {
3969                              "type": "TSNonNullExpression",
3970                              "expression": {
3971                                "type": "Identifier",
3972                                "name": "promise",
3973                                "decorators": [],
3974                                "loc": {
3975                                  "start": {
3976                                    "line": 30,
3977                                    "column": 36,
3978                                    "program": "await_keyword.ets"
3979                                  },
3980                                  "end": {
3981                                    "line": 30,
3982                                    "column": 43,
3983                                    "program": "await_keyword.ets"
3984                                  }
3985                                }
3986                              },
3987                              "loc": {
3988                                "start": {
3989                                  "line": 30,
3990                                  "column": 36,
3991                                  "program": "await_keyword.ets"
3992                                },
3993                                "end": {
3994                                  "line": 30,
3995                                  "column": 44,
3996                                  "program": "await_keyword.ets"
3997                                }
3998                              }
3999                            },
4000                            "loc": {
4001                              "start": {
4002                                "line": 30,
4003                                "column": 30,
4004                                "program": "await_keyword.ets"
4005                              },
4006                              "end": {
4007                                "line": 30,
4008                                "column": 44,
4009                                "program": "await_keyword.ets"
4010                              }
4011                            }
4012                          },
4013                          "loc": {
4014                            "start": {
4015                              "line": 30,
4016                              "column": 9,
4017                              "program": "await_keyword.ets"
4018                            },
4019                            "end": {
4020                              "line": 30,
4021                              "column": 44,
4022                              "program": "await_keyword.ets"
4023                            }
4024                          }
4025                        }
4026                      ],
4027                      "kind": "let",
4028                      "loc": {
4029                        "start": {
4030                          "line": 30,
4031                          "column": 5,
4032                          "program": "await_keyword.ets"
4033                        },
4034                        "end": {
4035                          "line": 30,
4036                          "column": 45,
4037                          "program": "await_keyword.ets"
4038                        }
4039                      }
4040                    }
4041                  ],
4042                  "loc": {
4043                    "start": {
4044                      "line": 28,
4045                      "column": 22,
4046                      "program": "await_keyword.ets"
4047                    },
4048                    "end": {
4049                      "line": 31,
4050                      "column": 2,
4051                      "program": "await_keyword.ets"
4052                    }
4053                  }
4054                },
4055                "loc": {
4056                  "start": {
4057                    "line": 28,
4058                    "column": 10,
4059                    "program": "await_keyword.ets"
4060                  },
4061                  "end": {
4062                    "line": 31,
4063                    "column": 2,
4064                    "program": "await_keyword.ets"
4065                  }
4066                }
4067              },
4068              "loc": {
4069                "start": {
4070                  "line": 28,
4071                  "column": 10,
4072                  "program": "await_keyword.ets"
4073                },
4074                "end": {
4075                  "line": 31,
4076                  "column": 2,
4077                  "program": "await_keyword.ets"
4078                }
4079              }
4080            },
4081            "overloads": [],
4082            "decorators": [],
4083            "loc": {
4084              "start": {
4085                "line": 28,
4086                "column": 1,
4087                "program": "await_keyword.ets"
4088              },
4089              "end": {
4090                "line": 31,
4091                "column": 2,
4092                "program": "await_keyword.ets"
4093              }
4094            }
4095          },
4096          {
4097            "type": "ClassProperty",
4098            "key": {
4099              "type": "Identifier",
4100              "name": "lambda",
4101              "decorators": [],
4102              "loc": {
4103                "start": {
4104                  "line": 33,
4105                  "column": 5,
4106                  "program": "await_keyword.ets"
4107                },
4108                "end": {
4109                  "line": 33,
4110                  "column": 11,
4111                  "program": "await_keyword.ets"
4112                }
4113              }
4114            },
4115            "accessibility": "public",
4116            "static": true,
4117            "readonly": false,
4118            "declare": false,
4119            "optional": false,
4120            "computed": false,
4121            "typeAnnotation": {
4122              "type": "ETSFunctionType",
4123              "params": [],
4124              "returnType": {
4125                "type": "ETSPrimitiveType",
4126                "loc": {
4127                  "start": {
4128                    "line": 33,
4129                    "column": 19,
4130                    "program": "await_keyword.ets"
4131                  },
4132                  "end": {
4133                    "line": 33,
4134                    "column": 23,
4135                    "program": "await_keyword.ets"
4136                  }
4137                }
4138              },
4139              "loc": {
4140                "start": {
4141                  "line": 33,
4142                  "column": 13,
4143                  "program": "await_keyword.ets"
4144                },
4145                "end": {
4146                  "line": 33,
4147                  "column": 23,
4148                  "program": "await_keyword.ets"
4149                }
4150              }
4151            },
4152            "definite": false,
4153            "decorators": [],
4154            "loc": {
4155              "start": {
4156                "line": 33,
4157                "column": 5,
4158                "program": "await_keyword.ets"
4159              },
4160              "end": {
4161                "line": 36,
4162                "column": 2,
4163                "program": "await_keyword.ets"
4164              }
4165            }
4166          },
4167          {
4168            "type": "ClassProperty",
4169            "key": {
4170              "type": "Identifier",
4171              "name": "promise",
4172              "decorators": [],
4173              "loc": {
4174                "start": {
4175                  "line": 38,
4176                  "column": 5,
4177                  "program": "await_keyword.ets"
4178                },
4179                "end": {
4180                  "line": 38,
4181                  "column": 12,
4182                  "program": "await_keyword.ets"
4183                }
4184              }
4185            },
4186            "accessibility": "public",
4187            "static": true,
4188            "readonly": false,
4189            "declare": false,
4190            "optional": false,
4191            "computed": false,
4192            "typeAnnotation": {
4193              "type": "ETSUnionType",
4194              "types": [
4195                {
4196                  "type": "ETSTypeReference",
4197                  "part": {
4198                    "type": "ETSTypeReferencePart",
4199                    "name": {
4200                      "type": "Identifier",
4201                      "name": "Promise",
4202                      "decorators": [],
4203                      "loc": {
4204                        "start": {
4205                          "line": 38,
4206                          "column": 14,
4207                          "program": "await_keyword.ets"
4208                        },
4209                        "end": {
4210                          "line": 38,
4211                          "column": 21,
4212                          "program": "await_keyword.ets"
4213                        }
4214                      }
4215                    },
4216                    "typeParams": {
4217                      "type": "TSTypeParameterInstantiation",
4218                      "params": [
4219                        {
4220                          "type": "ETSUnionType",
4221                          "types": [
4222                            {
4223                              "type": "ETSTypeReference",
4224                              "part": {
4225                                "type": "ETSTypeReferencePart",
4226                                "name": {
4227                                  "type": "Identifier",
4228                                  "name": "Object",
4229                                  "decorators": [],
4230                                  "loc": {
4231                                    "start": {
4232                                      "line": 38,
4233                                      "column": 22,
4234                                      "program": "await_keyword.ets"
4235                                    },
4236                                    "end": {
4237                                      "line": 38,
4238                                      "column": 28,
4239                                      "program": "await_keyword.ets"
4240                                    }
4241                                  }
4242                                },
4243                                "loc": {
4244                                  "start": {
4245                                    "line": 38,
4246                                    "column": 22,
4247                                    "program": "await_keyword.ets"
4248                                  },
4249                                  "end": {
4250                                    "line": 38,
4251                                    "column": 30,
4252                                    "program": "await_keyword.ets"
4253                                  }
4254                                }
4255                              },
4256                              "loc": {
4257                                "start": {
4258                                  "line": 38,
4259                                  "column": 22,
4260                                  "program": "await_keyword.ets"
4261                                },
4262                                "end": {
4263                                  "line": 38,
4264                                  "column": 30,
4265                                  "program": "await_keyword.ets"
4266                                }
4267                              }
4268                            },
4269                            {
4270                              "type": "ETSNullType",
4271                              "loc": {
4272                                "start": {
4273                                  "line": 38,
4274                                  "column": 31,
4275                                  "program": "await_keyword.ets"
4276                                },
4277                                "end": {
4278                                  "line": 38,
4279                                  "column": 35,
4280                                  "program": "await_keyword.ets"
4281                                }
4282                              }
4283                            }
4284                          ],
4285                          "loc": {
4286                            "start": {
4287                              "line": 38,
4288                              "column": 22,
4289                              "program": "await_keyword.ets"
4290                            },
4291                            "end": {
4292                              "line": 38,
4293                              "column": 35,
4294                              "program": "await_keyword.ets"
4295                            }
4296                          }
4297                        }
4298                      ],
4299                      "loc": {
4300                        "start": {
4301                          "line": 38,
4302                          "column": 21,
4303                          "program": "await_keyword.ets"
4304                        },
4305                        "end": {
4306                          "line": 38,
4307                          "column": 36,
4308                          "program": "await_keyword.ets"
4309                        }
4310                      }
4311                    },
4312                    "loc": {
4313                      "start": {
4314                        "line": 38,
4315                        "column": 14,
4316                        "program": "await_keyword.ets"
4317                      },
4318                      "end": {
4319                        "line": 38,
4320                        "column": 38,
4321                        "program": "await_keyword.ets"
4322                      }
4323                    }
4324                  },
4325                  "loc": {
4326                    "start": {
4327                      "line": 38,
4328                      "column": 14,
4329                      "program": "await_keyword.ets"
4330                    },
4331                    "end": {
4332                      "line": 38,
4333                      "column": 38,
4334                      "program": "await_keyword.ets"
4335                    }
4336                  }
4337                },
4338                {
4339                  "type": "ETSNullType",
4340                  "loc": {
4341                    "start": {
4342                      "line": 38,
4343                      "column": 39,
4344                      "program": "await_keyword.ets"
4345                    },
4346                    "end": {
4347                      "line": 38,
4348                      "column": 43,
4349                      "program": "await_keyword.ets"
4350                    }
4351                  }
4352                }
4353              ],
4354              "loc": {
4355                "start": {
4356                  "line": 38,
4357                  "column": 14,
4358                  "program": "await_keyword.ets"
4359                },
4360                "end": {
4361                  "line": 38,
4362                  "column": 43,
4363                  "program": "await_keyword.ets"
4364                }
4365              }
4366            },
4367            "definite": false,
4368            "decorators": [],
4369            "loc": {
4370              "start": {
4371                "line": 38,
4372                "column": 5,
4373                "program": "await_keyword.ets"
4374              },
4375              "end": {
4376                "line": 38,
4377                "column": 50,
4378                "program": "await_keyword.ets"
4379              }
4380            }
4381          },
4382          {
4383            "type": "ClassProperty",
4384            "key": {
4385              "type": "Identifier",
4386              "name": "obj",
4387              "decorators": [],
4388              "loc": {
4389                "start": {
4390                  "line": 39,
4391                  "column": 5,
4392                  "program": "await_keyword.ets"
4393                },
4394                "end": {
4395                  "line": 39,
4396                  "column": 8,
4397                  "program": "await_keyword.ets"
4398                }
4399              }
4400            },
4401            "accessibility": "public",
4402            "static": true,
4403            "readonly": false,
4404            "declare": false,
4405            "optional": false,
4406            "computed": false,
4407            "typeAnnotation": {
4408              "type": "ETSUnionType",
4409              "types": [
4410                {
4411                  "type": "ETSTypeReference",
4412                  "part": {
4413                    "type": "ETSTypeReferencePart",
4414                    "name": {
4415                      "type": "Identifier",
4416                      "name": "Object",
4417                      "decorators": [],
4418                      "loc": {
4419                        "start": {
4420                          "line": 39,
4421                          "column": 10,
4422                          "program": "await_keyword.ets"
4423                        },
4424                        "end": {
4425                          "line": 39,
4426                          "column": 16,
4427                          "program": "await_keyword.ets"
4428                        }
4429                      }
4430                    },
4431                    "loc": {
4432                      "start": {
4433                        "line": 39,
4434                        "column": 10,
4435                        "program": "await_keyword.ets"
4436                      },
4437                      "end": {
4438                        "line": 39,
4439                        "column": 18,
4440                        "program": "await_keyword.ets"
4441                      }
4442                    }
4443                  },
4444                  "loc": {
4445                    "start": {
4446                      "line": 39,
4447                      "column": 10,
4448                      "program": "await_keyword.ets"
4449                    },
4450                    "end": {
4451                      "line": 39,
4452                      "column": 18,
4453                      "program": "await_keyword.ets"
4454                    }
4455                  }
4456                },
4457                {
4458                  "type": "ETSNullType",
4459                  "loc": {
4460                    "start": {
4461                      "line": 39,
4462                      "column": 19,
4463                      "program": "await_keyword.ets"
4464                    },
4465                    "end": {
4466                      "line": 39,
4467                      "column": 23,
4468                      "program": "await_keyword.ets"
4469                    }
4470                  }
4471                }
4472              ],
4473              "loc": {
4474                "start": {
4475                  "line": 39,
4476                  "column": 10,
4477                  "program": "await_keyword.ets"
4478                },
4479                "end": {
4480                  "line": 39,
4481                  "column": 23,
4482                  "program": "await_keyword.ets"
4483                }
4484              }
4485            },
4486            "definite": false,
4487            "decorators": [],
4488            "loc": {
4489              "start": {
4490                "line": 39,
4491                "column": 5,
4492                "program": "await_keyword.ets"
4493              },
4494              "end": {
4495                "line": 39,
4496                "column": 40,
4497                "program": "await_keyword.ets"
4498              }
4499            }
4500          }
4501        ],
4502        "loc": {
4503          "start": {
4504            "line": 1,
4505            "column": 1,
4506            "program": "await_keyword.ets"
4507          },
4508          "end": {
4509            "line": 1,
4510            "column": 1,
4511            "program": "await_keyword.ets"
4512          }
4513        }
4514      },
4515      "loc": {
4516        "start": {
4517          "line": 1,
4518          "column": 1,
4519          "program": "await_keyword.ets"
4520        },
4521        "end": {
4522          "line": 1,
4523          "column": 1,
4524          "program": "await_keyword.ets"
4525        }
4526      }
4527    }
4528  ],
4529  "loc": {
4530    "start": {
4531      "line": 1,
4532      "column": 1,
4533      "program": "await_keyword.ets"
4534    },
4535    "end": {
4536      "line": 40,
4537      "column": 1,
4538      "program": "await_keyword.ets"
4539    }
4540  }
4541}
4542