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