• 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": "async_with_lambda.ets"
16            },
17            "end": {
18              "line": 1,
19              "column": 1,
20              "program": "async_with_lambda.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": "async_with_lambda.ets"
125              },
126              "end": {
127                "line": 1,
128                "column": 1,
129                "program": "async_with_lambda.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                  "loc": {
186                    "start": {
187                      "line": 1,
188                      "column": 1,
189                      "program": null
190                    },
191                    "end": {
192                      "line": 1,
193                      "column": 1,
194                      "program": null
195                    }
196                  }
197                },
198                "loc": {
199                  "start": {
200                    "line": 1,
201                    "column": 1,
202                    "program": null
203                  },
204                  "end": {
205                    "line": 1,
206                    "column": 1,
207                    "program": null
208                  }
209                }
210              },
211              "loc": {
212                "start": {
213                  "line": 1,
214                  "column": 1,
215                  "program": null
216                },
217                "end": {
218                  "line": 1,
219                  "column": 1,
220                  "program": null
221                }
222              }
223            },
224            "overloads": [],
225            "decorators": [],
226            "loc": {
227              "start": {
228                "line": 1,
229                "column": 1,
230                "program": "async_with_lambda.ets"
231              },
232              "end": {
233                "line": 1,
234                "column": 1,
235                "program": "async_with_lambda.ets"
236              }
237            }
238          },
239          {
240            "type": "ClassProperty",
241            "key": {
242              "type": "Identifier",
243              "name": "global",
244              "decorators": [],
245              "loc": {
246                "start": {
247                  "line": 16,
248                  "column": 5,
249                  "program": "async_with_lambda.ets"
250                },
251                "end": {
252                  "line": 16,
253                  "column": 11,
254                  "program": "async_with_lambda.ets"
255                }
256              }
257            },
258            "accessibility": "public",
259            "static": true,
260            "readonly": false,
261            "declare": false,
262            "optional": false,
263            "computed": false,
264            "typeAnnotation": {
265              "type": "ETSPrimitiveType",
266              "loc": {
267                "start": {
268                  "line": 16,
269                  "column": 13,
270                  "program": "async_with_lambda.ets"
271                },
272                "end": {
273                  "line": 16,
274                  "column": 16,
275                  "program": "async_with_lambda.ets"
276                }
277              }
278            },
279            "definite": false,
280            "decorators": [],
281            "loc": {
282              "start": {
283                "line": 16,
284                "column": 5,
285                "program": "async_with_lambda.ets"
286              },
287              "end": {
288                "line": 16,
289                "column": 11,
290                "program": "async_with_lambda.ets"
291              }
292            }
293          },
294          {
295            "type": "MethodDefinition",
296            "key": {
297              "type": "Identifier",
298              "name": "func",
299              "decorators": [],
300              "loc": {
301                "start": {
302                  "line": 18,
303                  "column": 16,
304                  "program": "async_with_lambda.ets"
305                },
306                "end": {
307                  "line": 18,
308                  "column": 20,
309                  "program": "async_with_lambda.ets"
310                }
311              }
312            },
313            "kind": "method",
314            "accessibility": "public",
315            "static": true,
316            "optional": false,
317            "computed": false,
318            "value": {
319              "type": "FunctionExpression",
320              "function": {
321                "type": "ScriptFunction",
322                "id": {
323                  "type": "Identifier",
324                  "name": "func",
325                  "decorators": [],
326                  "loc": {
327                    "start": {
328                      "line": 18,
329                      "column": 16,
330                      "program": "async_with_lambda.ets"
331                    },
332                    "end": {
333                      "line": 18,
334                      "column": 20,
335                      "program": "async_with_lambda.ets"
336                    }
337                  }
338                },
339                "generator": false,
340                "async": true,
341                "expression": false,
342                "params": [
343                  {
344                    "type": "ETSParameterExpression",
345                    "name": {
346                      "type": "Identifier",
347                      "name": "param",
348                      "typeAnnotation": {
349                        "type": "ETSPrimitiveType",
350                        "loc": {
351                          "start": {
352                            "line": 18,
353                            "column": 28,
354                            "program": "async_with_lambda.ets"
355                          },
356                          "end": {
357                            "line": 18,
358                            "column": 31,
359                            "program": "async_with_lambda.ets"
360                          }
361                        }
362                      },
363                      "decorators": [],
364                      "loc": {
365                        "start": {
366                          "line": 18,
367                          "column": 21,
368                          "program": "async_with_lambda.ets"
369                        },
370                        "end": {
371                          "line": 18,
372                          "column": 31,
373                          "program": "async_with_lambda.ets"
374                        }
375                      }
376                    },
377                    "loc": {
378                      "start": {
379                        "line": 18,
380                        "column": 21,
381                        "program": "async_with_lambda.ets"
382                      },
383                      "end": {
384                        "line": 18,
385                        "column": 31,
386                        "program": "async_with_lambda.ets"
387                      }
388                    }
389                  }
390                ],
391                "returnType": {
392                  "type": "ETSTypeReference",
393                  "part": {
394                    "type": "ETSTypeReferencePart",
395                    "name": {
396                      "type": "Identifier",
397                      "name": "Promise",
398                      "decorators": [],
399                      "loc": {
400                        "start": {
401                          "line": 18,
402                          "column": 34,
403                          "program": "async_with_lambda.ets"
404                        },
405                        "end": {
406                          "line": 18,
407                          "column": 41,
408                          "program": "async_with_lambda.ets"
409                        }
410                      }
411                    },
412                    "typeParams": {
413                      "type": "TSTypeParameterInstantiation",
414                      "params": [
415                        {
416                          "type": "ETSUnionType",
417                          "types": [
418                            {
419                              "type": "ETSTypeReference",
420                              "part": {
421                                "type": "ETSTypeReferencePart",
422                                "name": {
423                                  "type": "Identifier",
424                                  "name": "String",
425                                  "decorators": [],
426                                  "loc": {
427                                    "start": {
428                                      "line": 18,
429                                      "column": 42,
430                                      "program": "async_with_lambda.ets"
431                                    },
432                                    "end": {
433                                      "line": 18,
434                                      "column": 48,
435                                      "program": "async_with_lambda.ets"
436                                    }
437                                  }
438                                },
439                                "loc": {
440                                  "start": {
441                                    "line": 18,
442                                    "column": 42,
443                                    "program": "async_with_lambda.ets"
444                                  },
445                                  "end": {
446                                    "line": 18,
447                                    "column": 50,
448                                    "program": "async_with_lambda.ets"
449                                  }
450                                }
451                              },
452                              "loc": {
453                                "start": {
454                                  "line": 18,
455                                  "column": 42,
456                                  "program": "async_with_lambda.ets"
457                                },
458                                "end": {
459                                  "line": 18,
460                                  "column": 50,
461                                  "program": "async_with_lambda.ets"
462                                }
463                              }
464                            },
465                            {
466                              "type": "ETSNullType",
467                              "loc": {
468                                "start": {
469                                  "line": 18,
470                                  "column": 51,
471                                  "program": "async_with_lambda.ets"
472                                },
473                                "end": {
474                                  "line": 18,
475                                  "column": 55,
476                                  "program": "async_with_lambda.ets"
477                                }
478                              }
479                            }
480                          ],
481                          "loc": {
482                            "start": {
483                              "line": 18,
484                              "column": 42,
485                              "program": "async_with_lambda.ets"
486                            },
487                            "end": {
488                              "line": 18,
489                              "column": 55,
490                              "program": "async_with_lambda.ets"
491                            }
492                          }
493                        }
494                      ],
495                      "loc": {
496                        "start": {
497                          "line": 18,
498                          "column": 41,
499                          "program": "async_with_lambda.ets"
500                        },
501                        "end": {
502                          "line": 18,
503                          "column": 56,
504                          "program": "async_with_lambda.ets"
505                        }
506                      }
507                    },
508                    "loc": {
509                      "start": {
510                        "line": 18,
511                        "column": 34,
512                        "program": "async_with_lambda.ets"
513                      },
514                      "end": {
515                        "line": 18,
516                        "column": 58,
517                        "program": "async_with_lambda.ets"
518                      }
519                    }
520                  },
521                  "loc": {
522                    "start": {
523                      "line": 18,
524                      "column": 34,
525                      "program": "async_with_lambda.ets"
526                    },
527                    "end": {
528                      "line": 18,
529                      "column": 58,
530                      "program": "async_with_lambda.ets"
531                    }
532                  }
533                },
534                "body": {
535                  "type": "BlockStatement",
536                  "statements": [
537                    {
538                      "type": "VariableDeclaration",
539                      "declarations": [
540                        {
541                          "type": "VariableDeclarator",
542                          "id": {
543                            "type": "Identifier",
544                            "name": "local",
545                            "typeAnnotation": {
546                              "type": "ETSPrimitiveType",
547                              "loc": {
548                                "start": {
549                                  "line": 19,
550                                  "column": 16,
551                                  "program": "async_with_lambda.ets"
552                                },
553                                "end": {
554                                  "line": 19,
555                                  "column": 19,
556                                  "program": "async_with_lambda.ets"
557                                }
558                              }
559                            },
560                            "decorators": [],
561                            "loc": {
562                              "start": {
563                                "line": 19,
564                                "column": 9,
565                                "program": "async_with_lambda.ets"
566                              },
567                              "end": {
568                                "line": 19,
569                                "column": 14,
570                                "program": "async_with_lambda.ets"
571                              }
572                            }
573                          },
574                          "init": null,
575                          "loc": {
576                            "start": {
577                              "line": 19,
578                              "column": 9,
579                              "program": "async_with_lambda.ets"
580                            },
581                            "end": {
582                              "line": 19,
583                              "column": 14,
584                              "program": "async_with_lambda.ets"
585                            }
586                          }
587                        }
588                      ],
589                      "kind": "let",
590                      "loc": {
591                        "start": {
592                          "line": 19,
593                          "column": 5,
594                          "program": "async_with_lambda.ets"
595                        },
596                        "end": {
597                          "line": 19,
598                          "column": 20,
599                          "program": "async_with_lambda.ets"
600                        }
601                      }
602                    },
603                    {
604                      "type": "VariableDeclaration",
605                      "declarations": [
606                        {
607                          "type": "VariableDeclarator",
608                          "id": {
609                            "type": "Identifier",
610                            "name": "lambda",
611                            "typeAnnotation": {
612                              "type": "ETSFunctionType",
613                              "params": [],
614                              "returnType": {
615                                "type": "ETSPrimitiveType",
616                                "loc": {
617                                  "start": {
618                                    "line": 20,
619                                    "column": 23,
620                                    "program": "async_with_lambda.ets"
621                                  },
622                                  "end": {
623                                    "line": 20,
624                                    "column": 27,
625                                    "program": "async_with_lambda.ets"
626                                  }
627                                }
628                              },
629                              "loc": {
630                                "start": {
631                                  "line": 20,
632                                  "column": 17,
633                                  "program": "async_with_lambda.ets"
634                                },
635                                "end": {
636                                  "line": 20,
637                                  "column": 27,
638                                  "program": "async_with_lambda.ets"
639                                }
640                              }
641                            },
642                            "decorators": [],
643                            "loc": {
644                              "start": {
645                                "line": 20,
646                                "column": 9,
647                                "program": "async_with_lambda.ets"
648                              },
649                              "end": {
650                                "line": 20,
651                                "column": 15,
652                                "program": "async_with_lambda.ets"
653                              }
654                            }
655                          },
656                          "init": {
657                            "type": "ArrowFunctionExpression",
658                            "function": {
659                              "type": "ScriptFunction",
660                              "id": null,
661                              "generator": false,
662                              "async": false,
663                              "expression": false,
664                              "params": [],
665                              "returnType": {
666                                "type": "ETSPrimitiveType",
667                                "loc": {
668                                  "start": {
669                                    "line": 20,
670                                    "column": 34,
671                                    "program": "async_with_lambda.ets"
672                                  },
673                                  "end": {
674                                    "line": 20,
675                                    "column": 38,
676                                    "program": "async_with_lambda.ets"
677                                  }
678                                }
679                              },
680                              "body": {
681                                "type": "BlockStatement",
682                                "statements": [
683                                  {
684                                    "type": "ExpressionStatement",
685                                    "expression": {
686                                      "type": "Identifier",
687                                      "name": "param",
688                                      "decorators": [],
689                                      "loc": {
690                                        "start": {
691                                          "line": 21,
692                                          "column": 9,
693                                          "program": "async_with_lambda.ets"
694                                        },
695                                        "end": {
696                                          "line": 21,
697                                          "column": 14,
698                                          "program": "async_with_lambda.ets"
699                                        }
700                                      }
701                                    },
702                                    "loc": {
703                                      "start": {
704                                        "line": 21,
705                                        "column": 9,
706                                        "program": "async_with_lambda.ets"
707                                      },
708                                      "end": {
709                                        "line": 21,
710                                        "column": 15,
711                                        "program": "async_with_lambda.ets"
712                                      }
713                                    }
714                                  },
715                                  {
716                                    "type": "ExpressionStatement",
717                                    "expression": {
718                                      "type": "Identifier",
719                                      "name": "local",
720                                      "decorators": [],
721                                      "loc": {
722                                        "start": {
723                                          "line": 22,
724                                          "column": 9,
725                                          "program": "async_with_lambda.ets"
726                                        },
727                                        "end": {
728                                          "line": 22,
729                                          "column": 14,
730                                          "program": "async_with_lambda.ets"
731                                        }
732                                      }
733                                    },
734                                    "loc": {
735                                      "start": {
736                                        "line": 22,
737                                        "column": 9,
738                                        "program": "async_with_lambda.ets"
739                                      },
740                                      "end": {
741                                        "line": 22,
742                                        "column": 15,
743                                        "program": "async_with_lambda.ets"
744                                      }
745                                    }
746                                  },
747                                  {
748                                    "type": "ExpressionStatement",
749                                    "expression": {
750                                      "type": "Identifier",
751                                      "name": "global",
752                                      "decorators": [],
753                                      "loc": {
754                                        "start": {
755                                          "line": 23,
756                                          "column": 9,
757                                          "program": "async_with_lambda.ets"
758                                        },
759                                        "end": {
760                                          "line": 23,
761                                          "column": 15,
762                                          "program": "async_with_lambda.ets"
763                                        }
764                                      }
765                                    },
766                                    "loc": {
767                                      "start": {
768                                        "line": 23,
769                                        "column": 9,
770                                        "program": "async_with_lambda.ets"
771                                      },
772                                      "end": {
773                                        "line": 23,
774                                        "column": 16,
775                                        "program": "async_with_lambda.ets"
776                                      }
777                                    }
778                                  },
779                                  {
780                                    "type": "VariableDeclaration",
781                                    "declarations": [
782                                      {
783                                        "type": "VariableDeclarator",
784                                        "id": {
785                                          "type": "Identifier",
786                                          "name": "x",
787                                          "decorators": [],
788                                          "loc": {
789                                            "start": {
790                                              "line": 24,
791                                              "column": 13,
792                                              "program": "async_with_lambda.ets"
793                                            },
794                                            "end": {
795                                              "line": 24,
796                                              "column": 14,
797                                              "program": "async_with_lambda.ets"
798                                            }
799                                          }
800                                        },
801                                        "init": {
802                                          "type": "NumberLiteral",
803                                          "value": 0,
804                                          "loc": {
805                                            "start": {
806                                              "line": 24,
807                                              "column": 17,
808                                              "program": "async_with_lambda.ets"
809                                            },
810                                            "end": {
811                                              "line": 24,
812                                              "column": 18,
813                                              "program": "async_with_lambda.ets"
814                                            }
815                                          }
816                                        },
817                                        "loc": {
818                                          "start": {
819                                            "line": 24,
820                                            "column": 13,
821                                            "program": "async_with_lambda.ets"
822                                          },
823                                          "end": {
824                                            "line": 24,
825                                            "column": 18,
826                                            "program": "async_with_lambda.ets"
827                                          }
828                                        }
829                                      }
830                                    ],
831                                    "kind": "let",
832                                    "loc": {
833                                      "start": {
834                                        "line": 24,
835                                        "column": 9,
836                                        "program": "async_with_lambda.ets"
837                                      },
838                                      "end": {
839                                        "line": 24,
840                                        "column": 19,
841                                        "program": "async_with_lambda.ets"
842                                      }
843                                    }
844                                  }
845                                ],
846                                "loc": {
847                                  "start": {
848                                    "line": 20,
849                                    "column": 42,
850                                    "program": "async_with_lambda.ets"
851                                  },
852                                  "end": {
853                                    "line": 25,
854                                    "column": 6,
855                                    "program": "async_with_lambda.ets"
856                                  }
857                                }
858                              },
859                              "loc": {
860                                "start": {
861                                  "line": 20,
862                                  "column": 30,
863                                  "program": "async_with_lambda.ets"
864                                },
865                                "end": {
866                                  "line": 25,
867                                  "column": 6,
868                                  "program": "async_with_lambda.ets"
869                                }
870                              }
871                            },
872                            "loc": {
873                              "start": {
874                                "line": 20,
875                                "column": 30,
876                                "program": "async_with_lambda.ets"
877                              },
878                              "end": {
879                                "line": 25,
880                                "column": 6,
881                                "program": "async_with_lambda.ets"
882                              }
883                            }
884                          },
885                          "loc": {
886                            "start": {
887                              "line": 20,
888                              "column": 9,
889                              "program": "async_with_lambda.ets"
890                            },
891                            "end": {
892                              "line": 25,
893                              "column": 6,
894                              "program": "async_with_lambda.ets"
895                            }
896                          }
897                        }
898                      ],
899                      "kind": "let",
900                      "loc": {
901                        "start": {
902                          "line": 20,
903                          "column": 5,
904                          "program": "async_with_lambda.ets"
905                        },
906                        "end": {
907                          "line": 25,
908                          "column": 6,
909                          "program": "async_with_lambda.ets"
910                        }
911                      }
912                    },
913                    {
914                      "type": "VariableDeclaration",
915                      "declarations": [
916                        {
917                          "type": "VariableDeclarator",
918                          "id": {
919                            "type": "Identifier",
920                            "name": "async_lambda",
921                            "typeAnnotation": {
922                              "type": "ETSFunctionType",
923                              "params": [],
924                              "returnType": {
925                                "type": "ETSTypeReference",
926                                "part": {
927                                  "type": "ETSTypeReferencePart",
928                                  "name": {
929                                    "type": "Identifier",
930                                    "name": "Promise",
931                                    "decorators": [],
932                                    "loc": {
933                                      "start": {
934                                        "line": 26,
935                                        "column": 29,
936                                        "program": "async_with_lambda.ets"
937                                      },
938                                      "end": {
939                                        "line": 26,
940                                        "column": 36,
941                                        "program": "async_with_lambda.ets"
942                                      }
943                                    }
944                                  },
945                                  "typeParams": {
946                                    "type": "TSTypeParameterInstantiation",
947                                    "params": [
948                                      {
949                                        "type": "ETSUnionType",
950                                        "types": [
951                                          {
952                                            "type": "ETSTypeReference",
953                                            "part": {
954                                              "type": "ETSTypeReferencePart",
955                                              "name": {
956                                                "type": "Identifier",
957                                                "name": "Object",
958                                                "decorators": [],
959                                                "loc": {
960                                                  "start": {
961                                                    "line": 26,
962                                                    "column": 37,
963                                                    "program": "async_with_lambda.ets"
964                                                  },
965                                                  "end": {
966                                                    "line": 26,
967                                                    "column": 43,
968                                                    "program": "async_with_lambda.ets"
969                                                  }
970                                                }
971                                              },
972                                              "loc": {
973                                                "start": {
974                                                  "line": 26,
975                                                  "column": 37,
976                                                  "program": "async_with_lambda.ets"
977                                                },
978                                                "end": {
979                                                  "line": 26,
980                                                  "column": 45,
981                                                  "program": "async_with_lambda.ets"
982                                                }
983                                              }
984                                            },
985                                            "loc": {
986                                              "start": {
987                                                "line": 26,
988                                                "column": 37,
989                                                "program": "async_with_lambda.ets"
990                                              },
991                                              "end": {
992                                                "line": 26,
993                                                "column": 45,
994                                                "program": "async_with_lambda.ets"
995                                              }
996                                            }
997                                          },
998                                          {
999                                            "type": "ETSNullType",
1000                                            "loc": {
1001                                              "start": {
1002                                                "line": 26,
1003                                                "column": 46,
1004                                                "program": "async_with_lambda.ets"
1005                                              },
1006                                              "end": {
1007                                                "line": 26,
1008                                                "column": 50,
1009                                                "program": "async_with_lambda.ets"
1010                                              }
1011                                            }
1012                                          }
1013                                        ],
1014                                        "loc": {
1015                                          "start": {
1016                                            "line": 26,
1017                                            "column": 37,
1018                                            "program": "async_with_lambda.ets"
1019                                          },
1020                                          "end": {
1021                                            "line": 26,
1022                                            "column": 50,
1023                                            "program": "async_with_lambda.ets"
1024                                          }
1025                                        }
1026                                      }
1027                                    ],
1028                                    "loc": {
1029                                      "start": {
1030                                        "line": 26,
1031                                        "column": 36,
1032                                        "program": "async_with_lambda.ets"
1033                                      },
1034                                      "end": {
1035                                        "line": 26,
1036                                        "column": 51,
1037                                        "program": "async_with_lambda.ets"
1038                                      }
1039                                    }
1040                                  },
1041                                  "loc": {
1042                                    "start": {
1043                                      "line": 26,
1044                                      "column": 29,
1045                                      "program": "async_with_lambda.ets"
1046                                    },
1047                                    "end": {
1048                                      "line": 26,
1049                                      "column": 53,
1050                                      "program": "async_with_lambda.ets"
1051                                    }
1052                                  }
1053                                },
1054                                "loc": {
1055                                  "start": {
1056                                    "line": 26,
1057                                    "column": 29,
1058                                    "program": "async_with_lambda.ets"
1059                                  },
1060                                  "end": {
1061                                    "line": 26,
1062                                    "column": 53,
1063                                    "program": "async_with_lambda.ets"
1064                                  }
1065                                }
1066                              },
1067                              "loc": {
1068                                "start": {
1069                                  "line": 26,
1070                                  "column": 23,
1071                                  "program": "async_with_lambda.ets"
1072                                },
1073                                "end": {
1074                                  "line": 26,
1075                                  "column": 53,
1076                                  "program": "async_with_lambda.ets"
1077                                }
1078                              }
1079                            },
1080                            "decorators": [],
1081                            "loc": {
1082                              "start": {
1083                                "line": 26,
1084                                "column": 9,
1085                                "program": "async_with_lambda.ets"
1086                              },
1087                              "end": {
1088                                "line": 26,
1089                                "column": 21,
1090                                "program": "async_with_lambda.ets"
1091                              }
1092                            }
1093                          },
1094                          "init": {
1095                            "type": "ArrowFunctionExpression",
1096                            "function": {
1097                              "type": "ScriptFunction",
1098                              "id": null,
1099                              "generator": false,
1100                              "async": true,
1101                              "expression": false,
1102                              "params": [],
1103                              "returnType": {
1104                                "type": "ETSTypeReference",
1105                                "part": {
1106                                  "type": "ETSTypeReferencePart",
1107                                  "name": {
1108                                    "type": "Identifier",
1109                                    "name": "Promise",
1110                                    "decorators": [],
1111                                    "loc": {
1112                                      "start": {
1113                                        "line": 26,
1114                                        "column": 64,
1115                                        "program": "async_with_lambda.ets"
1116                                      },
1117                                      "end": {
1118                                        "line": 26,
1119                                        "column": 71,
1120                                        "program": "async_with_lambda.ets"
1121                                      }
1122                                    }
1123                                  },
1124                                  "typeParams": {
1125                                    "type": "TSTypeParameterInstantiation",
1126                                    "params": [
1127                                      {
1128                                        "type": "ETSUnionType",
1129                                        "types": [
1130                                          {
1131                                            "type": "ETSTypeReference",
1132                                            "part": {
1133                                              "type": "ETSTypeReferencePart",
1134                                              "name": {
1135                                                "type": "Identifier",
1136                                                "name": "Object",
1137                                                "decorators": [],
1138                                                "loc": {
1139                                                  "start": {
1140                                                    "line": 26,
1141                                                    "column": 72,
1142                                                    "program": "async_with_lambda.ets"
1143                                                  },
1144                                                  "end": {
1145                                                    "line": 26,
1146                                                    "column": 78,
1147                                                    "program": "async_with_lambda.ets"
1148                                                  }
1149                                                }
1150                                              },
1151                                              "loc": {
1152                                                "start": {
1153                                                  "line": 26,
1154                                                  "column": 72,
1155                                                  "program": "async_with_lambda.ets"
1156                                                },
1157                                                "end": {
1158                                                  "line": 26,
1159                                                  "column": 80,
1160                                                  "program": "async_with_lambda.ets"
1161                                                }
1162                                              }
1163                                            },
1164                                            "loc": {
1165                                              "start": {
1166                                                "line": 26,
1167                                                "column": 72,
1168                                                "program": "async_with_lambda.ets"
1169                                              },
1170                                              "end": {
1171                                                "line": 26,
1172                                                "column": 80,
1173                                                "program": "async_with_lambda.ets"
1174                                              }
1175                                            }
1176                                          },
1177                                          {
1178                                            "type": "ETSNullType",
1179                                            "loc": {
1180                                              "start": {
1181                                                "line": 26,
1182                                                "column": 81,
1183                                                "program": "async_with_lambda.ets"
1184                                              },
1185                                              "end": {
1186                                                "line": 26,
1187                                                "column": 85,
1188                                                "program": "async_with_lambda.ets"
1189                                              }
1190                                            }
1191                                          }
1192                                        ],
1193                                        "loc": {
1194                                          "start": {
1195                                            "line": 26,
1196                                            "column": 72,
1197                                            "program": "async_with_lambda.ets"
1198                                          },
1199                                          "end": {
1200                                            "line": 26,
1201                                            "column": 85,
1202                                            "program": "async_with_lambda.ets"
1203                                          }
1204                                        }
1205                                      }
1206                                    ],
1207                                    "loc": {
1208                                      "start": {
1209                                        "line": 26,
1210                                        "column": 71,
1211                                        "program": "async_with_lambda.ets"
1212                                      },
1213                                      "end": {
1214                                        "line": 26,
1215                                        "column": 86,
1216                                        "program": "async_with_lambda.ets"
1217                                      }
1218                                    }
1219                                  },
1220                                  "loc": {
1221                                    "start": {
1222                                      "line": 26,
1223                                      "column": 64,
1224                                      "program": "async_with_lambda.ets"
1225                                    },
1226                                    "end": {
1227                                      "line": 26,
1228                                      "column": 89,
1229                                      "program": "async_with_lambda.ets"
1230                                    }
1231                                  }
1232                                },
1233                                "loc": {
1234                                  "start": {
1235                                    "line": 26,
1236                                    "column": 64,
1237                                    "program": "async_with_lambda.ets"
1238                                  },
1239                                  "end": {
1240                                    "line": 26,
1241                                    "column": 89,
1242                                    "program": "async_with_lambda.ets"
1243                                  }
1244                                }
1245                              },
1246                              "body": {
1247                                "type": "BlockStatement",
1248                                "statements": [
1249                                  {
1250                                    "type": "ExpressionStatement",
1251                                    "expression": {
1252                                      "type": "Identifier",
1253                                      "name": "param",
1254                                      "decorators": [],
1255                                      "loc": {
1256                                        "start": {
1257                                          "line": 27,
1258                                          "column": 9,
1259                                          "program": "async_with_lambda.ets"
1260                                        },
1261                                        "end": {
1262                                          "line": 27,
1263                                          "column": 14,
1264                                          "program": "async_with_lambda.ets"
1265                                        }
1266                                      }
1267                                    },
1268                                    "loc": {
1269                                      "start": {
1270                                        "line": 27,
1271                                        "column": 9,
1272                                        "program": "async_with_lambda.ets"
1273                                      },
1274                                      "end": {
1275                                        "line": 27,
1276                                        "column": 15,
1277                                        "program": "async_with_lambda.ets"
1278                                      }
1279                                    }
1280                                  },
1281                                  {
1282                                    "type": "ExpressionStatement",
1283                                    "expression": {
1284                                      "type": "Identifier",
1285                                      "name": "local",
1286                                      "decorators": [],
1287                                      "loc": {
1288                                        "start": {
1289                                          "line": 28,
1290                                          "column": 9,
1291                                          "program": "async_with_lambda.ets"
1292                                        },
1293                                        "end": {
1294                                          "line": 28,
1295                                          "column": 14,
1296                                          "program": "async_with_lambda.ets"
1297                                        }
1298                                      }
1299                                    },
1300                                    "loc": {
1301                                      "start": {
1302                                        "line": 28,
1303                                        "column": 9,
1304                                        "program": "async_with_lambda.ets"
1305                                      },
1306                                      "end": {
1307                                        "line": 28,
1308                                        "column": 15,
1309                                        "program": "async_with_lambda.ets"
1310                                      }
1311                                    }
1312                                  },
1313                                  {
1314                                    "type": "ExpressionStatement",
1315                                    "expression": {
1316                                      "type": "Identifier",
1317                                      "name": "global",
1318                                      "decorators": [],
1319                                      "loc": {
1320                                        "start": {
1321                                          "line": 29,
1322                                          "column": 9,
1323                                          "program": "async_with_lambda.ets"
1324                                        },
1325                                        "end": {
1326                                          "line": 29,
1327                                          "column": 15,
1328                                          "program": "async_with_lambda.ets"
1329                                        }
1330                                      }
1331                                    },
1332                                    "loc": {
1333                                      "start": {
1334                                        "line": 29,
1335                                        "column": 9,
1336                                        "program": "async_with_lambda.ets"
1337                                      },
1338                                      "end": {
1339                                        "line": 29,
1340                                        "column": 16,
1341                                        "program": "async_with_lambda.ets"
1342                                      }
1343                                    }
1344                                  },
1345                                  {
1346                                    "type": "VariableDeclaration",
1347                                    "declarations": [
1348                                      {
1349                                        "type": "VariableDeclarator",
1350                                        "id": {
1351                                          "type": "Identifier",
1352                                          "name": "x",
1353                                          "decorators": [],
1354                                          "loc": {
1355                                            "start": {
1356                                              "line": 30,
1357                                              "column": 13,
1358                                              "program": "async_with_lambda.ets"
1359                                            },
1360                                            "end": {
1361                                              "line": 30,
1362                                              "column": 14,
1363                                              "program": "async_with_lambda.ets"
1364                                            }
1365                                          }
1366                                        },
1367                                        "init": {
1368                                          "type": "NumberLiteral",
1369                                          "value": 0,
1370                                          "loc": {
1371                                            "start": {
1372                                              "line": 30,
1373                                              "column": 17,
1374                                              "program": "async_with_lambda.ets"
1375                                            },
1376                                            "end": {
1377                                              "line": 30,
1378                                              "column": 18,
1379                                              "program": "async_with_lambda.ets"
1380                                            }
1381                                          }
1382                                        },
1383                                        "loc": {
1384                                          "start": {
1385                                            "line": 30,
1386                                            "column": 13,
1387                                            "program": "async_with_lambda.ets"
1388                                          },
1389                                          "end": {
1390                                            "line": 30,
1391                                            "column": 18,
1392                                            "program": "async_with_lambda.ets"
1393                                          }
1394                                        }
1395                                      }
1396                                    ],
1397                                    "kind": "let",
1398                                    "loc": {
1399                                      "start": {
1400                                        "line": 30,
1401                                        "column": 9,
1402                                        "program": "async_with_lambda.ets"
1403                                      },
1404                                      "end": {
1405                                        "line": 30,
1406                                        "column": 19,
1407                                        "program": "async_with_lambda.ets"
1408                                      }
1409                                    }
1410                                  },
1411                                  {
1412                                    "type": "ReturnStatement",
1413                                    "argument": {
1414                                      "type": "NullLiteral",
1415                                      "value": null,
1416                                      "loc": {
1417                                        "start": {
1418                                          "line": 31,
1419                                          "column": 16,
1420                                          "program": "async_with_lambda.ets"
1421                                        },
1422                                        "end": {
1423                                          "line": 31,
1424                                          "column": 20,
1425                                          "program": "async_with_lambda.ets"
1426                                        }
1427                                      }
1428                                    },
1429                                    "loc": {
1430                                      "start": {
1431                                        "line": 31,
1432                                        "column": 9,
1433                                        "program": "async_with_lambda.ets"
1434                                      },
1435                                      "end": {
1436                                        "line": 31,
1437                                        "column": 21,
1438                                        "program": "async_with_lambda.ets"
1439                                      }
1440                                    }
1441                                  }
1442                                ],
1443                                "loc": {
1444                                  "start": {
1445                                    "line": 26,
1446                                    "column": 90,
1447                                    "program": "async_with_lambda.ets"
1448                                  },
1449                                  "end": {
1450                                    "line": 32,
1451                                    "column": 6,
1452                                    "program": "async_with_lambda.ets"
1453                                  }
1454                                }
1455                              },
1456                              "loc": {
1457                                "start": {
1458                                  "line": 26,
1459                                  "column": 60,
1460                                  "program": "async_with_lambda.ets"
1461                                },
1462                                "end": {
1463                                  "line": 32,
1464                                  "column": 6,
1465                                  "program": "async_with_lambda.ets"
1466                                }
1467                              }
1468                            },
1469                            "loc": {
1470                              "start": {
1471                                "line": 26,
1472                                "column": 60,
1473                                "program": "async_with_lambda.ets"
1474                              },
1475                              "end": {
1476                                "line": 32,
1477                                "column": 6,
1478                                "program": "async_with_lambda.ets"
1479                              }
1480                            }
1481                          },
1482                          "loc": {
1483                            "start": {
1484                              "line": 26,
1485                              "column": 9,
1486                              "program": "async_with_lambda.ets"
1487                            },
1488                            "end": {
1489                              "line": 32,
1490                              "column": 6,
1491                              "program": "async_with_lambda.ets"
1492                            }
1493                          }
1494                        }
1495                      ],
1496                      "kind": "let",
1497                      "loc": {
1498                        "start": {
1499                          "line": 26,
1500                          "column": 5,
1501                          "program": "async_with_lambda.ets"
1502                        },
1503                        "end": {
1504                          "line": 32,
1505                          "column": 6,
1506                          "program": "async_with_lambda.ets"
1507                        }
1508                      }
1509                    },
1510                    {
1511                      "type": "VariableDeclaration",
1512                      "declarations": [
1513                        {
1514                          "type": "VariableDeclarator",
1515                          "id": {
1516                            "type": "Identifier",
1517                            "name": "asyncLambda",
1518                            "typeAnnotation": {
1519                              "type": "ETSFunctionType",
1520                              "params": [],
1521                              "returnType": {
1522                                "type": "ETSTypeReference",
1523                                "part": {
1524                                  "type": "ETSTypeReferencePart",
1525                                  "name": {
1526                                    "type": "Identifier",
1527                                    "name": "Promise",
1528                                    "decorators": [],
1529                                    "loc": {
1530                                      "start": {
1531                                        "line": 33,
1532                                        "column": 28,
1533                                        "program": "async_with_lambda.ets"
1534                                      },
1535                                      "end": {
1536                                        "line": 33,
1537                                        "column": 35,
1538                                        "program": "async_with_lambda.ets"
1539                                      }
1540                                    }
1541                                  },
1542                                  "typeParams": {
1543                                    "type": "TSTypeParameterInstantiation",
1544                                    "params": [
1545                                      {
1546                                        "type": "ETSTypeReference",
1547                                        "part": {
1548                                          "type": "ETSTypeReferencePart",
1549                                          "name": {
1550                                            "type": "Identifier",
1551                                            "name": "Object",
1552                                            "decorators": [],
1553                                            "loc": {
1554                                              "start": {
1555                                                "line": 33,
1556                                                "column": 36,
1557                                                "program": "async_with_lambda.ets"
1558                                              },
1559                                              "end": {
1560                                                "line": 33,
1561                                                "column": 42,
1562                                                "program": "async_with_lambda.ets"
1563                                              }
1564                                            }
1565                                          },
1566                                          "loc": {
1567                                            "start": {
1568                                              "line": 33,
1569                                              "column": 36,
1570                                              "program": "async_with_lambda.ets"
1571                                            },
1572                                            "end": {
1573                                              "line": 33,
1574                                              "column": 43,
1575                                              "program": "async_with_lambda.ets"
1576                                            }
1577                                          }
1578                                        },
1579                                        "loc": {
1580                                          "start": {
1581                                            "line": 33,
1582                                            "column": 36,
1583                                            "program": "async_with_lambda.ets"
1584                                          },
1585                                          "end": {
1586                                            "line": 33,
1587                                            "column": 43,
1588                                            "program": "async_with_lambda.ets"
1589                                          }
1590                                        }
1591                                      }
1592                                    ],
1593                                    "loc": {
1594                                      "start": {
1595                                        "line": 33,
1596                                        "column": 35,
1597                                        "program": "async_with_lambda.ets"
1598                                      },
1599                                      "end": {
1600                                        "line": 33,
1601                                        "column": 43,
1602                                        "program": "async_with_lambda.ets"
1603                                      }
1604                                    }
1605                                  },
1606                                  "loc": {
1607                                    "start": {
1608                                      "line": 33,
1609                                      "column": 28,
1610                                      "program": "async_with_lambda.ets"
1611                                    },
1612                                    "end": {
1613                                      "line": 33,
1614                                      "column": 45,
1615                                      "program": "async_with_lambda.ets"
1616                                    }
1617                                  }
1618                                },
1619                                "loc": {
1620                                  "start": {
1621                                    "line": 33,
1622                                    "column": 28,
1623                                    "program": "async_with_lambda.ets"
1624                                  },
1625                                  "end": {
1626                                    "line": 33,
1627                                    "column": 45,
1628                                    "program": "async_with_lambda.ets"
1629                                  }
1630                                }
1631                              },
1632                              "loc": {
1633                                "start": {
1634                                  "line": 33,
1635                                  "column": 22,
1636                                  "program": "async_with_lambda.ets"
1637                                },
1638                                "end": {
1639                                  "line": 33,
1640                                  "column": 45,
1641                                  "program": "async_with_lambda.ets"
1642                                }
1643                              }
1644                            },
1645                            "decorators": [],
1646                            "loc": {
1647                              "start": {
1648                                "line": 33,
1649                                "column": 9,
1650                                "program": "async_with_lambda.ets"
1651                              },
1652                              "end": {
1653                                "line": 33,
1654                                "column": 20,
1655                                "program": "async_with_lambda.ets"
1656                              }
1657                            }
1658                          },
1659                          "init": {
1660                            "type": "ArrowFunctionExpression",
1661                            "function": {
1662                              "type": "ScriptFunction",
1663                              "id": null,
1664                              "generator": false,
1665                              "async": true,
1666                              "expression": false,
1667                              "params": [],
1668                              "returnType": {
1669                                "type": "ETSTypeReference",
1670                                "part": {
1671                                  "type": "ETSTypeReferencePart",
1672                                  "name": {
1673                                    "type": "Identifier",
1674                                    "name": "Promise",
1675                                    "decorators": [],
1676                                    "loc": {
1677                                      "start": {
1678                                        "line": 33,
1679                                        "column": 56,
1680                                        "program": "async_with_lambda.ets"
1681                                      },
1682                                      "end": {
1683                                        "line": 33,
1684                                        "column": 63,
1685                                        "program": "async_with_lambda.ets"
1686                                      }
1687                                    }
1688                                  },
1689                                  "typeParams": {
1690                                    "type": "TSTypeParameterInstantiation",
1691                                    "params": [
1692                                      {
1693                                        "type": "ETSTypeReference",
1694                                        "part": {
1695                                          "type": "ETSTypeReferencePart",
1696                                          "name": {
1697                                            "type": "Identifier",
1698                                            "name": "Object",
1699                                            "decorators": [],
1700                                            "loc": {
1701                                              "start": {
1702                                                "line": 33,
1703                                                "column": 64,
1704                                                "program": "async_with_lambda.ets"
1705                                              },
1706                                              "end": {
1707                                                "line": 33,
1708                                                "column": 70,
1709                                                "program": "async_with_lambda.ets"
1710                                              }
1711                                            }
1712                                          },
1713                                          "loc": {
1714                                            "start": {
1715                                              "line": 33,
1716                                              "column": 64,
1717                                              "program": "async_with_lambda.ets"
1718                                            },
1719                                            "end": {
1720                                              "line": 33,
1721                                              "column": 71,
1722                                              "program": "async_with_lambda.ets"
1723                                            }
1724                                          }
1725                                        },
1726                                        "loc": {
1727                                          "start": {
1728                                            "line": 33,
1729                                            "column": 64,
1730                                            "program": "async_with_lambda.ets"
1731                                          },
1732                                          "end": {
1733                                            "line": 33,
1734                                            "column": 71,
1735                                            "program": "async_with_lambda.ets"
1736                                          }
1737                                        }
1738                                      }
1739                                    ],
1740                                    "loc": {
1741                                      "start": {
1742                                        "line": 33,
1743                                        "column": 63,
1744                                        "program": "async_with_lambda.ets"
1745                                      },
1746                                      "end": {
1747                                        "line": 33,
1748                                        "column": 71,
1749                                        "program": "async_with_lambda.ets"
1750                                      }
1751                                    }
1752                                  },
1753                                  "loc": {
1754                                    "start": {
1755                                      "line": 33,
1756                                      "column": 56,
1757                                      "program": "async_with_lambda.ets"
1758                                    },
1759                                    "end": {
1760                                      "line": 33,
1761                                      "column": 74,
1762                                      "program": "async_with_lambda.ets"
1763                                    }
1764                                  }
1765                                },
1766                                "loc": {
1767                                  "start": {
1768                                    "line": 33,
1769                                    "column": 56,
1770                                    "program": "async_with_lambda.ets"
1771                                  },
1772                                  "end": {
1773                                    "line": 33,
1774                                    "column": 74,
1775                                    "program": "async_with_lambda.ets"
1776                                  }
1777                                }
1778                              },
1779                              "body": {
1780                                "type": "BlockStatement",
1781                                "statements": [
1782                                  {
1783                                    "type": "ReturnStatement",
1784                                    "argument": {
1785                                      "type": "ETSNewClassInstanceExpression",
1786                                      "typeReference": {
1787                                        "type": "ETSTypeReference",
1788                                        "part": {
1789                                          "type": "ETSTypeReferencePart",
1790                                          "name": {
1791                                            "type": "Identifier",
1792                                            "name": "Promise",
1793                                            "decorators": [],
1794                                            "loc": {
1795                                              "start": {
1796                                                "line": 34,
1797                                                "column": 20,
1798                                                "program": "async_with_lambda.ets"
1799                                              },
1800                                              "end": {
1801                                                "line": 34,
1802                                                "column": 27,
1803                                                "program": "async_with_lambda.ets"
1804                                              }
1805                                            }
1806                                          },
1807                                          "typeParams": {
1808                                            "type": "TSTypeParameterInstantiation",
1809                                            "params": [
1810                                              {
1811                                                "type": "ETSTypeReference",
1812                                                "part": {
1813                                                  "type": "ETSTypeReferencePart",
1814                                                  "name": {
1815                                                    "type": "Identifier",
1816                                                    "name": "Object",
1817                                                    "decorators": [],
1818                                                    "loc": {
1819                                                      "start": {
1820                                                        "line": 34,
1821                                                        "column": 28,
1822                                                        "program": "async_with_lambda.ets"
1823                                                      },
1824                                                      "end": {
1825                                                        "line": 34,
1826                                                        "column": 34,
1827                                                        "program": "async_with_lambda.ets"
1828                                                      }
1829                                                    }
1830                                                  },
1831                                                  "loc": {
1832                                                    "start": {
1833                                                      "line": 34,
1834                                                      "column": 28,
1835                                                      "program": "async_with_lambda.ets"
1836                                                    },
1837                                                    "end": {
1838                                                      "line": 34,
1839                                                      "column": 35,
1840                                                      "program": "async_with_lambda.ets"
1841                                                    }
1842                                                  }
1843                                                },
1844                                                "loc": {
1845                                                  "start": {
1846                                                    "line": 34,
1847                                                    "column": 28,
1848                                                    "program": "async_with_lambda.ets"
1849                                                  },
1850                                                  "end": {
1851                                                    "line": 34,
1852                                                    "column": 35,
1853                                                    "program": "async_with_lambda.ets"
1854                                                  }
1855                                                }
1856                                              }
1857                                            ],
1858                                            "loc": {
1859                                              "start": {
1860                                                "line": 34,
1861                                                "column": 27,
1862                                                "program": "async_with_lambda.ets"
1863                                              },
1864                                              "end": {
1865                                                "line": 34,
1866                                                "column": 35,
1867                                                "program": "async_with_lambda.ets"
1868                                              }
1869                                            }
1870                                          },
1871                                          "loc": {
1872                                            "start": {
1873                                              "line": 34,
1874                                              "column": 20,
1875                                              "program": "async_with_lambda.ets"
1876                                            },
1877                                            "end": {
1878                                              "line": 34,
1879                                              "column": 36,
1880                                              "program": "async_with_lambda.ets"
1881                                            }
1882                                          }
1883                                        },
1884                                        "loc": {
1885                                          "start": {
1886                                            "line": 34,
1887                                            "column": 20,
1888                                            "program": "async_with_lambda.ets"
1889                                          },
1890                                          "end": {
1891                                            "line": 34,
1892                                            "column": 36,
1893                                            "program": "async_with_lambda.ets"
1894                                          }
1895                                        }
1896                                      },
1897                                      "arguments": [
1898                                        {
1899                                          "type": "ArrowFunctionExpression",
1900                                          "function": {
1901                                            "type": "ScriptFunction",
1902                                            "id": null,
1903                                            "generator": false,
1904                                            "async": false,
1905                                            "expression": false,
1906                                            "params": [
1907                                              {
1908                                                "type": "ETSParameterExpression",
1909                                                "name": {
1910                                                  "type": "Identifier",
1911                                                  "name": "resolve",
1912                                                  "typeAnnotation": {
1913                                                    "type": "ETSFunctionType",
1914                                                    "params": [
1915                                                      {
1916                                                        "type": "ETSParameterExpression",
1917                                                        "name": {
1918                                                          "type": "Identifier",
1919                                                          "name": "value",
1920                                                          "typeAnnotation": {
1921                                                            "type": "ETSTypeReference",
1922                                                            "part": {
1923                                                              "type": "ETSTypeReferencePart",
1924                                                              "name": {
1925                                                                "type": "Identifier",
1926                                                                "name": "Object",
1927                                                                "decorators": [],
1928                                                                "loc": {
1929                                                                  "start": {
1930                                                                    "line": 34,
1931                                                                    "column": 54,
1932                                                                    "program": "async_with_lambda.ets"
1933                                                                  },
1934                                                                  "end": {
1935                                                                    "line": 34,
1936                                                                    "column": 60,
1937                                                                    "program": "async_with_lambda.ets"
1938                                                                  }
1939                                                                }
1940                                                              },
1941                                                              "loc": {
1942                                                                "start": {
1943                                                                  "line": 34,
1944                                                                  "column": 54,
1945                                                                  "program": "async_with_lambda.ets"
1946                                                                },
1947                                                                "end": {
1948                                                                  "line": 34,
1949                                                                  "column": 61,
1950                                                                  "program": "async_with_lambda.ets"
1951                                                                }
1952                                                              }
1953                                                            },
1954                                                            "loc": {
1955                                                              "start": {
1956                                                                "line": 34,
1957                                                                "column": 54,
1958                                                                "program": "async_with_lambda.ets"
1959                                                              },
1960                                                              "end": {
1961                                                                "line": 34,
1962                                                                "column": 61,
1963                                                                "program": "async_with_lambda.ets"
1964                                                              }
1965                                                            }
1966                                                          },
1967                                                          "decorators": [],
1968                                                          "loc": {
1969                                                            "start": {
1970                                                              "line": 34,
1971                                                              "column": 47,
1972                                                              "program": "async_with_lambda.ets"
1973                                                            },
1974                                                            "end": {
1975                                                              "line": 34,
1976                                                              "column": 61,
1977                                                              "program": "async_with_lambda.ets"
1978                                                            }
1979                                                          }
1980                                                        },
1981                                                        "loc": {
1982                                                          "start": {
1983                                                            "line": 34,
1984                                                            "column": 47,
1985                                                            "program": "async_with_lambda.ets"
1986                                                          },
1987                                                          "end": {
1988                                                            "line": 34,
1989                                                            "column": 61,
1990                                                            "program": "async_with_lambda.ets"
1991                                                          }
1992                                                        }
1993                                                      }
1994                                                    ],
1995                                                    "returnType": {
1996                                                      "type": "ETSPrimitiveType",
1997                                                      "loc": {
1998                                                        "start": {
1999                                                          "line": 34,
2000                                                          "column": 65,
2001                                                          "program": "async_with_lambda.ets"
2002                                                        },
2003                                                        "end": {
2004                                                          "line": 34,
2005                                                          "column": 69,
2006                                                          "program": "async_with_lambda.ets"
2007                                                        }
2008                                                      }
2009                                                    },
2010                                                    "loc": {
2011                                                      "start": {
2012                                                        "line": 34,
2013                                                        "column": 46,
2014                                                        "program": "async_with_lambda.ets"
2015                                                      },
2016                                                      "end": {
2017                                                        "line": 34,
2018                                                        "column": 69,
2019                                                        "program": "async_with_lambda.ets"
2020                                                      }
2021                                                    }
2022                                                  },
2023                                                  "decorators": [],
2024                                                  "loc": {
2025                                                    "start": {
2026                                                      "line": 34,
2027                                                      "column": 37,
2028                                                      "program": "async_with_lambda.ets"
2029                                                    },
2030                                                    "end": {
2031                                                      "line": 34,
2032                                                      "column": 69,
2033                                                      "program": "async_with_lambda.ets"
2034                                                    }
2035                                                  }
2036                                                },
2037                                                "loc": {
2038                                                  "start": {
2039                                                    "line": 34,
2040                                                    "column": 37,
2041                                                    "program": "async_with_lambda.ets"
2042                                                  },
2043                                                  "end": {
2044                                                    "line": 34,
2045                                                    "column": 69,
2046                                                    "program": "async_with_lambda.ets"
2047                                                  }
2048                                                }
2049                                              }
2050                                            ],
2051                                            "returnType": {
2052                                              "type": "ETSPrimitiveType",
2053                                              "loc": {
2054                                                "start": {
2055                                                  "line": 34,
2056                                                  "column": 72,
2057                                                  "program": "async_with_lambda.ets"
2058                                                },
2059                                                "end": {
2060                                                  "line": 34,
2061                                                  "column": 76,
2062                                                  "program": "async_with_lambda.ets"
2063                                                }
2064                                              }
2065                                            },
2066                                            "body": {
2067                                              "type": "BlockStatement",
2068                                              "statements": [
2069                                                {
2070                                                  "type": "ExpressionStatement",
2071                                                  "expression": {
2072                                                    "type": "CallExpression",
2073                                                    "callee": {
2074                                                      "type": "Identifier",
2075                                                      "name": "resolve",
2076                                                      "decorators": [],
2077                                                      "loc": {
2078                                                        "start": {
2079                                                          "line": 35,
2080                                                          "column": 13,
2081                                                          "program": "async_with_lambda.ets"
2082                                                        },
2083                                                        "end": {
2084                                                          "line": 35,
2085                                                          "column": 20,
2086                                                          "program": "async_with_lambda.ets"
2087                                                        }
2088                                                      }
2089                                                    },
2090                                                    "arguments": [
2091                                                      {
2092                                                        "type": "ETSNewClassInstanceExpression",
2093                                                        "typeReference": {
2094                                                          "type": "ETSTypeReference",
2095                                                          "part": {
2096                                                            "type": "ETSTypeReferencePart",
2097                                                            "name": {
2098                                                              "type": "Identifier",
2099                                                              "name": "Object",
2100                                                              "decorators": [],
2101                                                              "loc": {
2102                                                                "start": {
2103                                                                  "line": 35,
2104                                                                  "column": 25,
2105                                                                  "program": "async_with_lambda.ets"
2106                                                                },
2107                                                                "end": {
2108                                                                  "line": 35,
2109                                                                  "column": 31,
2110                                                                  "program": "async_with_lambda.ets"
2111                                                                }
2112                                                              }
2113                                                            },
2114                                                            "loc": {
2115                                                              "start": {
2116                                                                "line": 35,
2117                                                                "column": 25,
2118                                                                "program": "async_with_lambda.ets"
2119                                                              },
2120                                                              "end": {
2121                                                                "line": 35,
2122                                                                "column": 32,
2123                                                                "program": "async_with_lambda.ets"
2124                                                              }
2125                                                            }
2126                                                          },
2127                                                          "loc": {
2128                                                            "start": {
2129                                                              "line": 35,
2130                                                              "column": 25,
2131                                                              "program": "async_with_lambda.ets"
2132                                                            },
2133                                                            "end": {
2134                                                              "line": 35,
2135                                                              "column": 32,
2136                                                              "program": "async_with_lambda.ets"
2137                                                            }
2138                                                          }
2139                                                        },
2140                                                        "arguments": [],
2141                                                        "loc": {
2142                                                          "start": {
2143                                                            "line": 35,
2144                                                            "column": 21,
2145                                                            "program": "async_with_lambda.ets"
2146                                                          },
2147                                                          "end": {
2148                                                            "line": 35,
2149                                                            "column": 34,
2150                                                            "program": "async_with_lambda.ets"
2151                                                          }
2152                                                        }
2153                                                      }
2154                                                    ],
2155                                                    "optional": false,
2156                                                    "loc": {
2157                                                      "start": {
2158                                                        "line": 35,
2159                                                        "column": 13,
2160                                                        "program": "async_with_lambda.ets"
2161                                                      },
2162                                                      "end": {
2163                                                        "line": 35,
2164                                                        "column": 34,
2165                                                        "program": "async_with_lambda.ets"
2166                                                      }
2167                                                    }
2168                                                  },
2169                                                  "loc": {
2170                                                    "start": {
2171                                                      "line": 35,
2172                                                      "column": 13,
2173                                                      "program": "async_with_lambda.ets"
2174                                                    },
2175                                                    "end": {
2176                                                      "line": 35,
2177                                                      "column": 35,
2178                                                      "program": "async_with_lambda.ets"
2179                                                    }
2180                                                  }
2181                                                }
2182                                              ],
2183                                              "loc": {
2184                                                "start": {
2185                                                  "line": 34,
2186                                                  "column": 80,
2187                                                  "program": "async_with_lambda.ets"
2188                                                },
2189                                                "end": {
2190                                                  "line": 36,
2191                                                  "column": 10,
2192                                                  "program": "async_with_lambda.ets"
2193                                                }
2194                                              }
2195                                            },
2196                                            "loc": {
2197                                              "start": {
2198                                                "line": 34,
2199                                                "column": 36,
2200                                                "program": "async_with_lambda.ets"
2201                                              },
2202                                              "end": {
2203                                                "line": 36,
2204                                                "column": 10,
2205                                                "program": "async_with_lambda.ets"
2206                                              }
2207                                            }
2208                                          },
2209                                          "loc": {
2210                                            "start": {
2211                                              "line": 34,
2212                                              "column": 36,
2213                                              "program": "async_with_lambda.ets"
2214                                            },
2215                                            "end": {
2216                                              "line": 36,
2217                                              "column": 10,
2218                                              "program": "async_with_lambda.ets"
2219                                            }
2220                                          }
2221                                        }
2222                                      ],
2223                                      "loc": {
2224                                        "start": {
2225                                          "line": 34,
2226                                          "column": 16,
2227                                          "program": "async_with_lambda.ets"
2228                                        },
2229                                        "end": {
2230                                          "line": 36,
2231                                          "column": 12,
2232                                          "program": "async_with_lambda.ets"
2233                                        }
2234                                      }
2235                                    },
2236                                    "loc": {
2237                                      "start": {
2238                                        "line": 34,
2239                                        "column": 9,
2240                                        "program": "async_with_lambda.ets"
2241                                      },
2242                                      "end": {
2243                                        "line": 36,
2244                                        "column": 12,
2245                                        "program": "async_with_lambda.ets"
2246                                      }
2247                                    }
2248                                  }
2249                                ],
2250                                "loc": {
2251                                  "start": {
2252                                    "line": 33,
2253                                    "column": 75,
2254                                    "program": "async_with_lambda.ets"
2255                                  },
2256                                  "end": {
2257                                    "line": 37,
2258                                    "column": 6,
2259                                    "program": "async_with_lambda.ets"
2260                                  }
2261                                }
2262                              },
2263                              "loc": {
2264                                "start": {
2265                                  "line": 33,
2266                                  "column": 52,
2267                                  "program": "async_with_lambda.ets"
2268                                },
2269                                "end": {
2270                                  "line": 37,
2271                                  "column": 6,
2272                                  "program": "async_with_lambda.ets"
2273                                }
2274                              }
2275                            },
2276                            "loc": {
2277                              "start": {
2278                                "line": 33,
2279                                "column": 52,
2280                                "program": "async_with_lambda.ets"
2281                              },
2282                              "end": {
2283                                "line": 37,
2284                                "column": 6,
2285                                "program": "async_with_lambda.ets"
2286                              }
2287                            }
2288                          },
2289                          "loc": {
2290                            "start": {
2291                              "line": 33,
2292                              "column": 9,
2293                              "program": "async_with_lambda.ets"
2294                            },
2295                            "end": {
2296                              "line": 37,
2297                              "column": 6,
2298                              "program": "async_with_lambda.ets"
2299                            }
2300                          }
2301                        }
2302                      ],
2303                      "kind": "let",
2304                      "loc": {
2305                        "start": {
2306                          "line": 33,
2307                          "column": 5,
2308                          "program": "async_with_lambda.ets"
2309                        },
2310                        "end": {
2311                          "line": 37,
2312                          "column": 6,
2313                          "program": "async_with_lambda.ets"
2314                        }
2315                      }
2316                    },
2317                    {
2318                      "type": "ReturnStatement",
2319                      "argument": {
2320                        "type": "NullLiteral",
2321                        "value": null,
2322                        "loc": {
2323                          "start": {
2324                            "line": 38,
2325                            "column": 12,
2326                            "program": "async_with_lambda.ets"
2327                          },
2328                          "end": {
2329                            "line": 38,
2330                            "column": 16,
2331                            "program": "async_with_lambda.ets"
2332                          }
2333                        }
2334                      },
2335                      "loc": {
2336                        "start": {
2337                          "line": 38,
2338                          "column": 5,
2339                          "program": "async_with_lambda.ets"
2340                        },
2341                        "end": {
2342                          "line": 38,
2343                          "column": 17,
2344                          "program": "async_with_lambda.ets"
2345                        }
2346                      }
2347                    }
2348                  ],
2349                  "loc": {
2350                    "start": {
2351                      "line": 18,
2352                      "column": 57,
2353                      "program": "async_with_lambda.ets"
2354                    },
2355                    "end": {
2356                      "line": 39,
2357                      "column": 2,
2358                      "program": "async_with_lambda.ets"
2359                    }
2360                  }
2361                },
2362                "loc": {
2363                  "start": {
2364                    "line": 18,
2365                    "column": 16,
2366                    "program": "async_with_lambda.ets"
2367                  },
2368                  "end": {
2369                    "line": 39,
2370                    "column": 2,
2371                    "program": "async_with_lambda.ets"
2372                  }
2373                }
2374              },
2375              "loc": {
2376                "start": {
2377                  "line": 18,
2378                  "column": 16,
2379                  "program": "async_with_lambda.ets"
2380                },
2381                "end": {
2382                  "line": 39,
2383                  "column": 2,
2384                  "program": "async_with_lambda.ets"
2385                }
2386              }
2387            },
2388            "overloads": [],
2389            "decorators": [],
2390            "loc": {
2391              "start": {
2392                "line": 18,
2393                "column": 1,
2394                "program": "async_with_lambda.ets"
2395              },
2396              "end": {
2397                "line": 39,
2398                "column": 2,
2399                "program": "async_with_lambda.ets"
2400              }
2401            }
2402          }
2403        ],
2404        "loc": {
2405          "start": {
2406            "line": 1,
2407            "column": 1,
2408            "program": "async_with_lambda.ets"
2409          },
2410          "end": {
2411            "line": 1,
2412            "column": 1,
2413            "program": "async_with_lambda.ets"
2414          }
2415        }
2416      },
2417      "loc": {
2418        "start": {
2419          "line": 1,
2420          "column": 1,
2421          "program": "async_with_lambda.ets"
2422        },
2423        "end": {
2424          "line": 1,
2425          "column": 1,
2426          "program": "async_with_lambda.ets"
2427        }
2428      }
2429    }
2430  ],
2431  "loc": {
2432    "start": {
2433      "line": 1,
2434      "column": 1,
2435      "program": "async_with_lambda.ets"
2436    },
2437    "end": {
2438      "line": 40,
2439      "column": 1,
2440      "program": "async_with_lambda.ets"
2441    }
2442  }
2443}
2444