• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "P",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7,
15              "program": "generic_function_call_5.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 8,
20              "program": "generic_function_call_5.ets"
21            }
22          }
23        },
24        "typeParameters": {
25          "type": "TSTypeParameterDeclaration",
26          "params": [
27            {
28              "type": "TSTypeParameter",
29              "name": {
30                "type": "Identifier",
31                "name": "T",
32                "decorators": [],
33                "loc": {
34                  "start": {
35                    "line": 16,
36                    "column": 9,
37                    "program": "generic_function_call_5.ets"
38                  },
39                  "end": {
40                    "line": 16,
41                    "column": 10,
42                    "program": "generic_function_call_5.ets"
43                  }
44                }
45              },
46              "loc": {
47                "start": {
48                  "line": 16,
49                  "column": 9,
50                  "program": "generic_function_call_5.ets"
51                },
52                "end": {
53                  "line": 16,
54                  "column": 11,
55                  "program": "generic_function_call_5.ets"
56                }
57              }
58            }
59          ],
60          "loc": {
61            "start": {
62              "line": 16,
63              "column": 8,
64              "program": "generic_function_call_5.ets"
65            },
66            "end": {
67              "line": 16,
68              "column": 11,
69              "program": "generic_function_call_5.ets"
70            }
71          }
72        },
73        "superClass": null,
74        "implements": [],
75        "body": [
76          {
77            "type": "MethodDefinition",
78            "key": {
79              "type": "Identifier",
80              "name": "constructor",
81              "decorators": [],
82              "loc": {
83                "start": {
84                  "line": 1,
85                  "column": 1,
86                  "program": null
87                },
88                "end": {
89                  "line": 1,
90                  "column": 1,
91                  "program": null
92                }
93              }
94            },
95            "kind": "constructor",
96            "accessibility": "public",
97            "static": false,
98            "optional": false,
99            "computed": false,
100            "value": {
101              "type": "FunctionExpression",
102              "function": {
103                "type": "ScriptFunction",
104                "id": {
105                  "type": "Identifier",
106                  "name": "constructor",
107                  "decorators": [],
108                  "loc": {
109                    "start": {
110                      "line": 1,
111                      "column": 1,
112                      "program": null
113                    },
114                    "end": {
115                      "line": 1,
116                      "column": 1,
117                      "program": null
118                    }
119                  }
120                },
121                "generator": false,
122                "async": false,
123                "expression": false,
124                "params": [
125                  {
126                    "type": "ETSParameterExpression",
127                    "name": {
128                      "type": "Identifier",
129                      "name": "callback",
130                      "typeAnnotation": {
131                        "type": "ETSFunctionType",
132                        "params": [
133                          {
134                            "type": "ETSParameterExpression",
135                            "name": {
136                              "type": "Identifier",
137                              "name": "resolve",
138                              "typeAnnotation": {
139                                "type": "ETSFunctionType",
140                                "params": [
141                                  {
142                                    "type": "ETSParameterExpression",
143                                    "name": {
144                                      "type": "Identifier",
145                                      "name": "value",
146                                      "typeAnnotation": {
147                                        "type": "ETSTypeReference",
148                                        "part": {
149                                          "type": "ETSTypeReferencePart",
150                                          "name": {
151                                            "type": "Identifier",
152                                            "name": "T",
153                                            "decorators": [],
154                                            "loc": {
155                                              "start": {
156                                                "line": 17,
157                                                "column": 45,
158                                                "program": "generic_function_call_5.ets"
159                                              },
160                                              "end": {
161                                                "line": 17,
162                                                "column": 46,
163                                                "program": "generic_function_call_5.ets"
164                                              }
165                                            }
166                                          },
167                                          "loc": {
168                                            "start": {
169                                              "line": 17,
170                                              "column": 45,
171                                              "program": "generic_function_call_5.ets"
172                                            },
173                                            "end": {
174                                              "line": 17,
175                                              "column": 47,
176                                              "program": "generic_function_call_5.ets"
177                                            }
178                                          }
179                                        },
180                                        "loc": {
181                                          "start": {
182                                            "line": 17,
183                                            "column": 45,
184                                            "program": "generic_function_call_5.ets"
185                                          },
186                                          "end": {
187                                            "line": 17,
188                                            "column": 47,
189                                            "program": "generic_function_call_5.ets"
190                                          }
191                                        }
192                                      },
193                                      "decorators": [],
194                                      "loc": {
195                                        "start": {
196                                          "line": 17,
197                                          "column": 38,
198                                          "program": "generic_function_call_5.ets"
199                                        },
200                                        "end": {
201                                          "line": 17,
202                                          "column": 47,
203                                          "program": "generic_function_call_5.ets"
204                                        }
205                                      }
206                                    },
207                                    "loc": {
208                                      "start": {
209                                        "line": 17,
210                                        "column": 38,
211                                        "program": "generic_function_call_5.ets"
212                                      },
213                                      "end": {
214                                        "line": 17,
215                                        "column": 47,
216                                        "program": "generic_function_call_5.ets"
217                                      }
218                                    }
219                                  }
220                                ],
221                                "returnType": {
222                                  "type": "ETSPrimitiveType",
223                                  "loc": {
224                                    "start": {
225                                      "line": 17,
226                                      "column": 51,
227                                      "program": "generic_function_call_5.ets"
228                                    },
229                                    "end": {
230                                      "line": 17,
231                                      "column": 55,
232                                      "program": "generic_function_call_5.ets"
233                                    }
234                                  }
235                                },
236                                "loc": {
237                                  "start": {
238                                    "line": 17,
239                                    "column": 37,
240                                    "program": "generic_function_call_5.ets"
241                                  },
242                                  "end": {
243                                    "line": 17,
244                                    "column": 55,
245                                    "program": "generic_function_call_5.ets"
246                                  }
247                                }
248                              },
249                              "decorators": [],
250                              "loc": {
251                                "start": {
252                                  "line": 17,
253                                  "column": 28,
254                                  "program": "generic_function_call_5.ets"
255                                },
256                                "end": {
257                                  "line": 17,
258                                  "column": 55,
259                                  "program": "generic_function_call_5.ets"
260                                }
261                              }
262                            },
263                            "loc": {
264                              "start": {
265                                "line": 17,
266                                "column": 28,
267                                "program": "generic_function_call_5.ets"
268                              },
269                              "end": {
270                                "line": 17,
271                                "column": 55,
272                                "program": "generic_function_call_5.ets"
273                              }
274                            }
275                          }
276                        ],
277                        "returnType": {
278                          "type": "ETSPrimitiveType",
279                          "loc": {
280                            "start": {
281                              "line": 17,
282                              "column": 60,
283                              "program": "generic_function_call_5.ets"
284                            },
285                            "end": {
286                              "line": 17,
287                              "column": 64,
288                              "program": "generic_function_call_5.ets"
289                            }
290                          }
291                        },
292                        "throwMarker": "throws",
293                        "loc": {
294                          "start": {
295                            "line": 17,
296                            "column": 27,
297                            "program": "generic_function_call_5.ets"
298                          },
299                          "end": {
300                            "line": 17,
301                            "column": 64,
302                            "program": "generic_function_call_5.ets"
303                          }
304                        }
305                      },
306                      "decorators": [],
307                      "loc": {
308                        "start": {
309                          "line": 17,
310                          "column": 17,
311                          "program": "generic_function_call_5.ets"
312                        },
313                        "end": {
314                          "line": 17,
315                          "column": 64,
316                          "program": "generic_function_call_5.ets"
317                        }
318                      }
319                    },
320                    "loc": {
321                      "start": {
322                        "line": 17,
323                        "column": 17,
324                        "program": "generic_function_call_5.ets"
325                      },
326                      "end": {
327                        "line": 17,
328                        "column": 64,
329                        "program": "generic_function_call_5.ets"
330                      }
331                    }
332                  }
333                ],
334                "body": {
335                  "type": "BlockStatement",
336                  "statements": [],
337                  "loc": {
338                    "start": {
339                      "line": 17,
340                      "column": 73,
341                      "program": "generic_function_call_5.ets"
342                    },
343                    "end": {
344                      "line": 18,
345                      "column": 6,
346                      "program": "generic_function_call_5.ets"
347                    }
348                  }
349                },
350                "loc": {
351                  "start": {
352                    "line": 17,
353                    "column": 16,
354                    "program": "generic_function_call_5.ets"
355                  },
356                  "end": {
357                    "line": 18,
358                    "column": 6,
359                    "program": "generic_function_call_5.ets"
360                  }
361                }
362              },
363              "loc": {
364                "start": {
365                  "line": 17,
366                  "column": 16,
367                  "program": "generic_function_call_5.ets"
368                },
369                "end": {
370                  "line": 18,
371                  "column": 6,
372                  "program": "generic_function_call_5.ets"
373                }
374              }
375            },
376            "overloads": [],
377            "decorators": [],
378            "loc": {
379              "start": {
380                "line": 17,
381                "column": 5,
382                "program": "generic_function_call_5.ets"
383              },
384              "end": {
385                "line": 18,
386                "column": 6,
387                "program": "generic_function_call_5.ets"
388              }
389            }
390          },
391          {
392            "type": "ClassProperty",
393            "key": {
394              "type": "Identifier",
395              "name": "ref",
396              "decorators": [],
397              "loc": {
398                "start": {
399                  "line": 20,
400                  "column": 13,
401                  "program": "generic_function_call_5.ets"
402                },
403                "end": {
404                  "line": 20,
405                  "column": 16,
406                  "program": "generic_function_call_5.ets"
407                }
408              }
409            },
410            "value": {
411              "type": "ETSNewClassInstanceExpression",
412              "typeReference": {
413                "type": "ETSTypeReference",
414                "part": {
415                  "type": "ETSTypeReferencePart",
416                  "name": {
417                    "type": "Identifier",
418                    "name": "Object",
419                    "decorators": [],
420                    "loc": {
421                      "start": {
422                        "line": 20,
423                        "column": 31,
424                        "program": "generic_function_call_5.ets"
425                      },
426                      "end": {
427                        "line": 20,
428                        "column": 37,
429                        "program": "generic_function_call_5.ets"
430                      }
431                    }
432                  },
433                  "loc": {
434                    "start": {
435                      "line": 20,
436                      "column": 31,
437                      "program": "generic_function_call_5.ets"
438                    },
439                    "end": {
440                      "line": 20,
441                      "column": 38,
442                      "program": "generic_function_call_5.ets"
443                    }
444                  }
445                },
446                "loc": {
447                  "start": {
448                    "line": 20,
449                    "column": 31,
450                    "program": "generic_function_call_5.ets"
451                  },
452                  "end": {
453                    "line": 20,
454                    "column": 38,
455                    "program": "generic_function_call_5.ets"
456                  }
457                }
458              },
459              "arguments": [],
460              "loc": {
461                "start": {
462                  "line": 20,
463                  "column": 27,
464                  "program": "generic_function_call_5.ets"
465                },
466                "end": {
467                  "line": 20,
468                  "column": 40,
469                  "program": "generic_function_call_5.ets"
470                }
471              }
472            },
473            "accessibility": "private",
474            "static": false,
475            "readonly": false,
476            "declare": false,
477            "optional": false,
478            "computed": false,
479            "typeAnnotation": {
480              "type": "ETSTypeReference",
481              "part": {
482                "type": "ETSTypeReferencePart",
483                "name": {
484                  "type": "Identifier",
485                  "name": "Object",
486                  "decorators": [],
487                  "loc": {
488                    "start": {
489                      "line": 20,
490                      "column": 18,
491                      "program": "generic_function_call_5.ets"
492                    },
493                    "end": {
494                      "line": 20,
495                      "column": 24,
496                      "program": "generic_function_call_5.ets"
497                    }
498                  }
499                },
500                "loc": {
501                  "start": {
502                    "line": 20,
503                    "column": 18,
504                    "program": "generic_function_call_5.ets"
505                  },
506                  "end": {
507                    "line": 20,
508                    "column": 26,
509                    "program": "generic_function_call_5.ets"
510                  }
511                }
512              },
513              "loc": {
514                "start": {
515                  "line": 20,
516                  "column": 18,
517                  "program": "generic_function_call_5.ets"
518                },
519                "end": {
520                  "line": 20,
521                  "column": 26,
522                  "program": "generic_function_call_5.ets"
523                }
524              }
525            },
526            "definite": false,
527            "decorators": [],
528            "loc": {
529              "start": {
530                "line": 20,
531                "column": 13,
532                "program": "generic_function_call_5.ets"
533              },
534              "end": {
535                "line": 20,
536                "column": 40,
537                "program": "generic_function_call_5.ets"
538              }
539            }
540          }
541        ],
542        "loc": {
543          "start": {
544            "line": 16,
545            "column": 12,
546            "program": "generic_function_call_5.ets"
547          },
548          "end": {
549            "line": 23,
550            "column": 9,
551            "program": "generic_function_call_5.ets"
552          }
553        }
554      },
555      "loc": {
556        "start": {
557          "line": 16,
558          "column": 1,
559          "program": "generic_function_call_5.ets"
560        },
561        "end": {
562          "line": 23,
563          "column": 9,
564          "program": "generic_function_call_5.ets"
565        }
566      }
567    },
568    {
569      "type": "ClassDeclaration",
570      "definition": {
571        "id": {
572          "type": "Identifier",
573          "name": "ETSGLOBAL",
574          "decorators": [],
575          "loc": {
576            "start": {
577              "line": 1,
578              "column": 1,
579              "program": "generic_function_call_5.ets"
580            },
581            "end": {
582              "line": 1,
583              "column": 1,
584              "program": "generic_function_call_5.ets"
585            }
586          }
587        },
588        "superClass": null,
589        "implements": [],
590        "body": [
591          {
592            "type": "MethodDefinition",
593            "key": {
594              "type": "Identifier",
595              "name": "main",
596              "decorators": [],
597              "loc": {
598                "start": {
599                  "line": 1,
600                  "column": 1,
601                  "program": null
602                },
603                "end": {
604                  "line": 1,
605                  "column": 1,
606                  "program": null
607                }
608              }
609            },
610            "kind": "method",
611            "accessibility": "public",
612            "static": true,
613            "optional": false,
614            "computed": false,
615            "value": {
616              "type": "FunctionExpression",
617              "function": {
618                "type": "ScriptFunction",
619                "id": {
620                  "type": "Identifier",
621                  "name": "main",
622                  "decorators": [],
623                  "loc": {
624                    "start": {
625                      "line": 1,
626                      "column": 1,
627                      "program": null
628                    },
629                    "end": {
630                      "line": 1,
631                      "column": 1,
632                      "program": null
633                    }
634                  }
635                },
636                "generator": false,
637                "async": false,
638                "expression": false,
639                "params": [],
640                "body": {
641                  "type": "BlockStatement",
642                  "statements": [],
643                  "loc": {
644                    "start": {
645                      "line": 1,
646                      "column": 1,
647                      "program": null
648                    },
649                    "end": {
650                      "line": 1,
651                      "column": 1,
652                      "program": null
653                    }
654                  }
655                },
656                "loc": {
657                  "start": {
658                    "line": 1,
659                    "column": 1,
660                    "program": null
661                  },
662                  "end": {
663                    "line": 1,
664                    "column": 1,
665                    "program": null
666                  }
667                }
668              },
669              "loc": {
670                "start": {
671                  "line": 1,
672                  "column": 1,
673                  "program": null
674                },
675                "end": {
676                  "line": 1,
677                  "column": 1,
678                  "program": null
679                }
680              }
681            },
682            "overloads": [],
683            "decorators": [],
684            "loc": {
685              "start": {
686                "line": 1,
687                "column": 1,
688                "program": "generic_function_call_5.ets"
689              },
690              "end": {
691                "line": 1,
692                "column": 1,
693                "program": "generic_function_call_5.ets"
694              }
695            }
696          },
697          {
698            "type": "MethodDefinition",
699            "key": {
700              "type": "Identifier",
701              "name": "_$init$_",
702              "decorators": [],
703              "loc": {
704                "start": {
705                  "line": 1,
706                  "column": 1,
707                  "program": null
708                },
709                "end": {
710                  "line": 1,
711                  "column": 1,
712                  "program": null
713                }
714              }
715            },
716            "kind": "method",
717            "accessibility": "public",
718            "static": true,
719            "optional": false,
720            "computed": false,
721            "value": {
722              "type": "FunctionExpression",
723              "function": {
724                "type": "ScriptFunction",
725                "id": {
726                  "type": "Identifier",
727                  "name": "_$init$_",
728                  "decorators": [],
729                  "loc": {
730                    "start": {
731                      "line": 1,
732                      "column": 1,
733                      "program": null
734                    },
735                    "end": {
736                      "line": 1,
737                      "column": 1,
738                      "program": null
739                    }
740                  }
741                },
742                "generator": false,
743                "async": false,
744                "expression": false,
745                "params": [],
746                "body": {
747                  "type": "BlockStatement",
748                  "statements": [],
749                  "loc": {
750                    "start": {
751                      "line": 1,
752                      "column": 1,
753                      "program": null
754                    },
755                    "end": {
756                      "line": 1,
757                      "column": 1,
758                      "program": null
759                    }
760                  }
761                },
762                "loc": {
763                  "start": {
764                    "line": 1,
765                    "column": 1,
766                    "program": null
767                  },
768                  "end": {
769                    "line": 1,
770                    "column": 1,
771                    "program": null
772                  }
773                }
774              },
775              "loc": {
776                "start": {
777                  "line": 1,
778                  "column": 1,
779                  "program": null
780                },
781                "end": {
782                  "line": 1,
783                  "column": 1,
784                  "program": null
785                }
786              }
787            },
788            "overloads": [],
789            "decorators": [],
790            "loc": {
791              "start": {
792                "line": 1,
793                "column": 1,
794                "program": "generic_function_call_5.ets"
795              },
796              "end": {
797                "line": 1,
798                "column": 1,
799                "program": "generic_function_call_5.ets"
800              }
801            }
802          },
803          {
804            "type": "MethodDefinition",
805            "key": {
806              "type": "Identifier",
807              "name": "foo",
808              "decorators": [],
809              "loc": {
810                "start": {
811                  "line": 23,
812                  "column": 10,
813                  "program": "generic_function_call_5.ets"
814                },
815                "end": {
816                  "line": 23,
817                  "column": 13,
818                  "program": "generic_function_call_5.ets"
819                }
820              }
821            },
822            "kind": "method",
823            "accessibility": "public",
824            "static": true,
825            "optional": false,
826            "computed": false,
827            "value": {
828              "type": "FunctionExpression",
829              "function": {
830                "type": "ScriptFunction",
831                "id": {
832                  "type": "Identifier",
833                  "name": "foo",
834                  "decorators": [],
835                  "loc": {
836                    "start": {
837                      "line": 23,
838                      "column": 10,
839                      "program": "generic_function_call_5.ets"
840                    },
841                    "end": {
842                      "line": 23,
843                      "column": 13,
844                      "program": "generic_function_call_5.ets"
845                    }
846                  }
847                },
848                "generator": false,
849                "async": false,
850                "expression": false,
851                "params": [],
852                "returnType": {
853                  "type": "ETSTypeReference",
854                  "part": {
855                    "type": "ETSTypeReferencePart",
856                    "name": {
857                      "type": "Identifier",
858                      "name": "P",
859                      "decorators": [],
860                      "loc": {
861                        "start": {
862                          "line": 23,
863                          "column": 17,
864                          "program": "generic_function_call_5.ets"
865                        },
866                        "end": {
867                          "line": 23,
868                          "column": 18,
869                          "program": "generic_function_call_5.ets"
870                        }
871                      }
872                    },
873                    "typeParams": {
874                      "type": "TSTypeParameterInstantiation",
875                      "params": [
876                        {
877                          "type": "ETSTypeReference",
878                          "part": {
879                            "type": "ETSTypeReferencePart",
880                            "name": {
881                              "type": "Identifier",
882                              "name": "Object",
883                              "decorators": [],
884                              "loc": {
885                                "start": {
886                                  "line": 23,
887                                  "column": 19,
888                                  "program": "generic_function_call_5.ets"
889                                },
890                                "end": {
891                                  "line": 23,
892                                  "column": 25,
893                                  "program": "generic_function_call_5.ets"
894                                }
895                              }
896                            },
897                            "loc": {
898                              "start": {
899                                "line": 23,
900                                "column": 19,
901                                "program": "generic_function_call_5.ets"
902                              },
903                              "end": {
904                                "line": 23,
905                                "column": 26,
906                                "program": "generic_function_call_5.ets"
907                              }
908                            }
909                          },
910                          "loc": {
911                            "start": {
912                              "line": 23,
913                              "column": 19,
914                              "program": "generic_function_call_5.ets"
915                            },
916                            "end": {
917                              "line": 23,
918                              "column": 26,
919                              "program": "generic_function_call_5.ets"
920                            }
921                          }
922                        }
923                      ],
924                      "loc": {
925                        "start": {
926                          "line": 23,
927                          "column": 18,
928                          "program": "generic_function_call_5.ets"
929                        },
930                        "end": {
931                          "line": 23,
932                          "column": 26,
933                          "program": "generic_function_call_5.ets"
934                        }
935                      }
936                    },
937                    "loc": {
938                      "start": {
939                        "line": 23,
940                        "column": 17,
941                        "program": "generic_function_call_5.ets"
942                      },
943                      "end": {
944                        "line": 23,
945                        "column": 28,
946                        "program": "generic_function_call_5.ets"
947                      }
948                    }
949                  },
950                  "loc": {
951                    "start": {
952                      "line": 23,
953                      "column": 17,
954                      "program": "generic_function_call_5.ets"
955                    },
956                    "end": {
957                      "line": 23,
958                      "column": 28,
959                      "program": "generic_function_call_5.ets"
960                    }
961                  }
962                },
963                "body": {
964                  "type": "BlockStatement",
965                  "statements": [
966                    {
967                      "type": "ReturnStatement",
968                      "argument": {
969                        "type": "ETSNewClassInstanceExpression",
970                        "typeReference": {
971                          "type": "ETSTypeReference",
972                          "part": {
973                            "type": "ETSTypeReferencePart",
974                            "name": {
975                              "type": "Identifier",
976                              "name": "P",
977                              "decorators": [],
978                              "loc": {
979                                "start": {
980                                  "line": 24,
981                                  "column": 16,
982                                  "program": "generic_function_call_5.ets"
983                                },
984                                "end": {
985                                  "line": 24,
986                                  "column": 17,
987                                  "program": "generic_function_call_5.ets"
988                                }
989                              }
990                            },
991                            "typeParams": {
992                              "type": "TSTypeParameterInstantiation",
993                              "params": [
994                                {
995                                  "type": "ETSTypeReference",
996                                  "part": {
997                                    "type": "ETSTypeReferencePart",
998                                    "name": {
999                                      "type": "Identifier",
1000                                      "name": "Object",
1001                                      "decorators": [],
1002                                      "loc": {
1003                                        "start": {
1004                                          "line": 24,
1005                                          "column": 18,
1006                                          "program": "generic_function_call_5.ets"
1007                                        },
1008                                        "end": {
1009                                          "line": 24,
1010                                          "column": 24,
1011                                          "program": "generic_function_call_5.ets"
1012                                        }
1013                                      }
1014                                    },
1015                                    "loc": {
1016                                      "start": {
1017                                        "line": 24,
1018                                        "column": 18,
1019                                        "program": "generic_function_call_5.ets"
1020                                      },
1021                                      "end": {
1022                                        "line": 24,
1023                                        "column": 25,
1024                                        "program": "generic_function_call_5.ets"
1025                                      }
1026                                    }
1027                                  },
1028                                  "loc": {
1029                                    "start": {
1030                                      "line": 24,
1031                                      "column": 18,
1032                                      "program": "generic_function_call_5.ets"
1033                                    },
1034                                    "end": {
1035                                      "line": 24,
1036                                      "column": 25,
1037                                      "program": "generic_function_call_5.ets"
1038                                    }
1039                                  }
1040                                }
1041                              ],
1042                              "loc": {
1043                                "start": {
1044                                  "line": 24,
1045                                  "column": 17,
1046                                  "program": "generic_function_call_5.ets"
1047                                },
1048                                "end": {
1049                                  "line": 24,
1050                                  "column": 25,
1051                                  "program": "generic_function_call_5.ets"
1052                                }
1053                              }
1054                            },
1055                            "loc": {
1056                              "start": {
1057                                "line": 24,
1058                                "column": 16,
1059                                "program": "generic_function_call_5.ets"
1060                              },
1061                              "end": {
1062                                "line": 24,
1063                                "column": 26,
1064                                "program": "generic_function_call_5.ets"
1065                              }
1066                            }
1067                          },
1068                          "loc": {
1069                            "start": {
1070                              "line": 24,
1071                              "column": 16,
1072                              "program": "generic_function_call_5.ets"
1073                            },
1074                            "end": {
1075                              "line": 24,
1076                              "column": 26,
1077                              "program": "generic_function_call_5.ets"
1078                            }
1079                          }
1080                        },
1081                        "arguments": [
1082                          {
1083                            "type": "ArrowFunctionExpression",
1084                            "function": {
1085                              "type": "ScriptFunction",
1086                              "id": null,
1087                              "generator": false,
1088                              "async": false,
1089                              "expression": false,
1090                              "params": [
1091                                {
1092                                  "type": "ETSParameterExpression",
1093                                  "name": {
1094                                    "type": "Identifier",
1095                                    "name": "resolve",
1096                                    "typeAnnotation": {
1097                                      "type": "ETSFunctionType",
1098                                      "params": [
1099                                        {
1100                                          "type": "ETSParameterExpression",
1101                                          "name": {
1102                                            "type": "Identifier",
1103                                            "name": "obj",
1104                                            "typeAnnotation": {
1105                                              "type": "ETSTypeReference",
1106                                              "part": {
1107                                                "type": "ETSTypeReferencePart",
1108                                                "name": {
1109                                                  "type": "Identifier",
1110                                                  "name": "Object",
1111                                                  "decorators": [],
1112                                                  "loc": {
1113                                                    "start": {
1114                                                      "line": 24,
1115                                                      "column": 42,
1116                                                      "program": "generic_function_call_5.ets"
1117                                                    },
1118                                                    "end": {
1119                                                      "line": 24,
1120                                                      "column": 48,
1121                                                      "program": "generic_function_call_5.ets"
1122                                                    }
1123                                                  }
1124                                                },
1125                                                "loc": {
1126                                                  "start": {
1127                                                    "line": 24,
1128                                                    "column": 42,
1129                                                    "program": "generic_function_call_5.ets"
1130                                                  },
1131                                                  "end": {
1132                                                    "line": 24,
1133                                                    "column": 49,
1134                                                    "program": "generic_function_call_5.ets"
1135                                                  }
1136                                                }
1137                                              },
1138                                              "loc": {
1139                                                "start": {
1140                                                  "line": 24,
1141                                                  "column": 42,
1142                                                  "program": "generic_function_call_5.ets"
1143                                                },
1144                                                "end": {
1145                                                  "line": 24,
1146                                                  "column": 49,
1147                                                  "program": "generic_function_call_5.ets"
1148                                                }
1149                                              }
1150                                            },
1151                                            "decorators": [],
1152                                            "loc": {
1153                                              "start": {
1154                                                "line": 24,
1155                                                "column": 37,
1156                                                "program": "generic_function_call_5.ets"
1157                                              },
1158                                              "end": {
1159                                                "line": 24,
1160                                                "column": 49,
1161                                                "program": "generic_function_call_5.ets"
1162                                              }
1163                                            }
1164                                          },
1165                                          "loc": {
1166                                            "start": {
1167                                              "line": 24,
1168                                              "column": 37,
1169                                              "program": "generic_function_call_5.ets"
1170                                            },
1171                                            "end": {
1172                                              "line": 24,
1173                                              "column": 49,
1174                                              "program": "generic_function_call_5.ets"
1175                                            }
1176                                          }
1177                                        }
1178                                      ],
1179                                      "returnType": {
1180                                        "type": "ETSPrimitiveType",
1181                                        "loc": {
1182                                          "start": {
1183                                            "line": 24,
1184                                            "column": 53,
1185                                            "program": "generic_function_call_5.ets"
1186                                          },
1187                                          "end": {
1188                                            "line": 24,
1189                                            "column": 57,
1190                                            "program": "generic_function_call_5.ets"
1191                                          }
1192                                        }
1193                                      },
1194                                      "loc": {
1195                                        "start": {
1196                                          "line": 24,
1197                                          "column": 36,
1198                                          "program": "generic_function_call_5.ets"
1199                                        },
1200                                        "end": {
1201                                          "line": 24,
1202                                          "column": 57,
1203                                          "program": "generic_function_call_5.ets"
1204                                        }
1205                                      }
1206                                    },
1207                                    "decorators": [],
1208                                    "loc": {
1209                                      "start": {
1210                                        "line": 24,
1211                                        "column": 27,
1212                                        "program": "generic_function_call_5.ets"
1213                                      },
1214                                      "end": {
1215                                        "line": 24,
1216                                        "column": 57,
1217                                        "program": "generic_function_call_5.ets"
1218                                      }
1219                                    }
1220                                  },
1221                                  "loc": {
1222                                    "start": {
1223                                      "line": 24,
1224                                      "column": 27,
1225                                      "program": "generic_function_call_5.ets"
1226                                    },
1227                                    "end": {
1228                                      "line": 24,
1229                                      "column": 57,
1230                                      "program": "generic_function_call_5.ets"
1231                                    }
1232                                  }
1233                                }
1234                              ],
1235                              "returnType": {
1236                                "type": "ETSPrimitiveType",
1237                                "loc": {
1238                                  "start": {
1239                                    "line": 24,
1240                                    "column": 60,
1241                                    "program": "generic_function_call_5.ets"
1242                                  },
1243                                  "end": {
1244                                    "line": 24,
1245                                    "column": 64,
1246                                    "program": "generic_function_call_5.ets"
1247                                  }
1248                                }
1249                              },
1250                              "body": {
1251                                "type": "BlockStatement",
1252                                "statements": [
1253                                  {
1254                                    "type": "ExpressionStatement",
1255                                    "expression": {
1256                                      "type": "CallExpression",
1257                                      "callee": {
1258                                        "type": "Identifier",
1259                                        "name": "resolve",
1260                                        "decorators": [],
1261                                        "loc": {
1262                                          "start": {
1263                                            "line": 25,
1264                                            "column": 9,
1265                                            "program": "generic_function_call_5.ets"
1266                                          },
1267                                          "end": {
1268                                            "line": 25,
1269                                            "column": 16,
1270                                            "program": "generic_function_call_5.ets"
1271                                          }
1272                                        }
1273                                      },
1274                                      "arguments": [
1275                                        {
1276                                          "type": "StringLiteral",
1277                                          "value": "resolved",
1278                                          "loc": {
1279                                            "start": {
1280                                              "line": 25,
1281                                              "column": 17,
1282                                              "program": "generic_function_call_5.ets"
1283                                            },
1284                                            "end": {
1285                                              "line": 25,
1286                                              "column": 27,
1287                                              "program": "generic_function_call_5.ets"
1288                                            }
1289                                          }
1290                                        }
1291                                      ],
1292                                      "optional": false,
1293                                      "loc": {
1294                                        "start": {
1295                                          "line": 25,
1296                                          "column": 9,
1297                                          "program": "generic_function_call_5.ets"
1298                                        },
1299                                        "end": {
1300                                          "line": 25,
1301                                          "column": 28,
1302                                          "program": "generic_function_call_5.ets"
1303                                        }
1304                                      }
1305                                    },
1306                                    "loc": {
1307                                      "start": {
1308                                        "line": 25,
1309                                        "column": 9,
1310                                        "program": "generic_function_call_5.ets"
1311                                      },
1312                                      "end": {
1313                                        "line": 25,
1314                                        "column": 29,
1315                                        "program": "generic_function_call_5.ets"
1316                                      }
1317                                    }
1318                                  }
1319                                ],
1320                                "loc": {
1321                                  "start": {
1322                                    "line": 24,
1323                                    "column": 68,
1324                                    "program": "generic_function_call_5.ets"
1325                                  },
1326                                  "end": {
1327                                    "line": 26,
1328                                    "column": 6,
1329                                    "program": "generic_function_call_5.ets"
1330                                  }
1331                                }
1332                              },
1333                              "loc": {
1334                                "start": {
1335                                  "line": 24,
1336                                  "column": 26,
1337                                  "program": "generic_function_call_5.ets"
1338                                },
1339                                "end": {
1340                                  "line": 26,
1341                                  "column": 6,
1342                                  "program": "generic_function_call_5.ets"
1343                                }
1344                              }
1345                            },
1346                            "loc": {
1347                              "start": {
1348                                "line": 24,
1349                                "column": 26,
1350                                "program": "generic_function_call_5.ets"
1351                              },
1352                              "end": {
1353                                "line": 26,
1354                                "column": 6,
1355                                "program": "generic_function_call_5.ets"
1356                              }
1357                            }
1358                          }
1359                        ],
1360                        "loc": {
1361                          "start": {
1362                            "line": 24,
1363                            "column": 12,
1364                            "program": "generic_function_call_5.ets"
1365                          },
1366                          "end": {
1367                            "line": 26,
1368                            "column": 8,
1369                            "program": "generic_function_call_5.ets"
1370                          }
1371                        }
1372                      },
1373                      "loc": {
1374                        "start": {
1375                          "line": 24,
1376                          "column": 5,
1377                          "program": "generic_function_call_5.ets"
1378                        },
1379                        "end": {
1380                          "line": 26,
1381                          "column": 8,
1382                          "program": "generic_function_call_5.ets"
1383                        }
1384                      }
1385                    }
1386                  ],
1387                  "loc": {
1388                    "start": {
1389                      "line": 23,
1390                      "column": 27,
1391                      "program": "generic_function_call_5.ets"
1392                    },
1393                    "end": {
1394                      "line": 27,
1395                      "column": 2,
1396                      "program": "generic_function_call_5.ets"
1397                    }
1398                  }
1399                },
1400                "loc": {
1401                  "start": {
1402                    "line": 23,
1403                    "column": 10,
1404                    "program": "generic_function_call_5.ets"
1405                  },
1406                  "end": {
1407                    "line": 27,
1408                    "column": 2,
1409                    "program": "generic_function_call_5.ets"
1410                  }
1411                }
1412              },
1413              "loc": {
1414                "start": {
1415                  "line": 23,
1416                  "column": 10,
1417                  "program": "generic_function_call_5.ets"
1418                },
1419                "end": {
1420                  "line": 27,
1421                  "column": 2,
1422                  "program": "generic_function_call_5.ets"
1423                }
1424              }
1425            },
1426            "overloads": [],
1427            "decorators": [],
1428            "loc": {
1429              "start": {
1430                "line": 23,
1431                "column": 1,
1432                "program": "generic_function_call_5.ets"
1433              },
1434              "end": {
1435                "line": 27,
1436                "column": 2,
1437                "program": "generic_function_call_5.ets"
1438              }
1439            }
1440          }
1441        ],
1442        "loc": {
1443          "start": {
1444            "line": 1,
1445            "column": 1,
1446            "program": "generic_function_call_5.ets"
1447          },
1448          "end": {
1449            "line": 1,
1450            "column": 1,
1451            "program": "generic_function_call_5.ets"
1452          }
1453        }
1454      },
1455      "loc": {
1456        "start": {
1457          "line": 1,
1458          "column": 1,
1459          "program": "generic_function_call_5.ets"
1460        },
1461        "end": {
1462          "line": 1,
1463          "column": 1,
1464          "program": "generic_function_call_5.ets"
1465        }
1466      }
1467    }
1468  ],
1469  "loc": {
1470    "start": {
1471      "line": 1,
1472      "column": 1,
1473      "program": "generic_function_call_5.ets"
1474    },
1475    "end": {
1476      "line": 28,
1477      "column": 1,
1478      "program": "generic_function_call_5.ets"
1479    }
1480  }
1481}
1482