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