• 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": "A",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7,
15              "program": "generic_function_call_1.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 8,
20              "program": "generic_function_call_1.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "constructor",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 16,
36                  "column": 10,
37                  "program": "generic_function_call_1.ets"
38                },
39                "end": {
40                  "line": 16,
41                  "column": 10,
42                  "program": "generic_function_call_1.ets"
43                }
44              }
45            },
46            "kind": "constructor",
47            "static": false,
48            "optional": false,
49            "computed": false,
50            "value": {
51              "type": "FunctionExpression",
52              "function": {
53                "type": "ScriptFunction",
54                "id": {
55                  "type": "Identifier",
56                  "name": "constructor",
57                  "decorators": [],
58                  "loc": {
59                    "start": {
60                      "line": 16,
61                      "column": 10,
62                      "program": "generic_function_call_1.ets"
63                    },
64                    "end": {
65                      "line": 16,
66                      "column": 10,
67                      "program": "generic_function_call_1.ets"
68                    }
69                  }
70                },
71                "generator": false,
72                "async": false,
73                "expression": false,
74                "params": [],
75                "body": {
76                  "type": "BlockStatement",
77                  "statements": [],
78                  "loc": {
79                    "start": {
80                      "line": 16,
81                      "column": 10,
82                      "program": "generic_function_call_1.ets"
83                    },
84                    "end": {
85                      "line": 16,
86                      "column": 10,
87                      "program": "generic_function_call_1.ets"
88                    }
89                  }
90                },
91                "loc": {
92                  "start": {
93                    "line": 16,
94                    "column": 10,
95                    "program": "generic_function_call_1.ets"
96                  },
97                  "end": {
98                    "line": 16,
99                    "column": 10,
100                    "program": "generic_function_call_1.ets"
101                  }
102                }
103              },
104              "loc": {
105                "start": {
106                  "line": 16,
107                  "column": 10,
108                  "program": "generic_function_call_1.ets"
109                },
110                "end": {
111                  "line": 16,
112                  "column": 10,
113                  "program": "generic_function_call_1.ets"
114                }
115              }
116            },
117            "overloads": [],
118            "decorators": [],
119            "loc": {
120              "start": {
121                "line": 1,
122                "column": 1,
123                "program": null
124              },
125              "end": {
126                "line": 1,
127                "column": 1,
128                "program": null
129              }
130            }
131          }
132        ],
133        "loc": {
134          "start": {
135            "line": 16,
136            "column": 9,
137            "program": "generic_function_call_1.ets"
138          },
139          "end": {
140            "line": 18,
141            "column": 9,
142            "program": "generic_function_call_1.ets"
143          }
144        }
145      },
146      "loc": {
147        "start": {
148          "line": 16,
149          "column": 1,
150          "program": "generic_function_call_1.ets"
151        },
152        "end": {
153          "line": 18,
154          "column": 9,
155          "program": "generic_function_call_1.ets"
156        }
157      }
158    },
159    {
160      "type": "ClassDeclaration",
161      "definition": {
162        "id": {
163          "type": "Identifier",
164          "name": "ETSGLOBAL",
165          "decorators": [],
166          "loc": {
167            "start": {
168              "line": 1,
169              "column": 1,
170              "program": "generic_function_call_1.ets"
171            },
172            "end": {
173              "line": 1,
174              "column": 1,
175              "program": "generic_function_call_1.ets"
176            }
177          }
178        },
179        "superClass": null,
180        "implements": [],
181        "body": [
182          {
183            "type": "MethodDefinition",
184            "key": {
185              "type": "Identifier",
186              "name": "_$init$_",
187              "decorators": [],
188              "loc": {
189                "start": {
190                  "line": 1,
191                  "column": 1,
192                  "program": null
193                },
194                "end": {
195                  "line": 1,
196                  "column": 1,
197                  "program": null
198                }
199              }
200            },
201            "kind": "method",
202            "accessibility": "public",
203            "static": true,
204            "optional": false,
205            "computed": false,
206            "value": {
207              "type": "FunctionExpression",
208              "function": {
209                "type": "ScriptFunction",
210                "id": {
211                  "type": "Identifier",
212                  "name": "_$init$_",
213                  "decorators": [],
214                  "loc": {
215                    "start": {
216                      "line": 1,
217                      "column": 1,
218                      "program": null
219                    },
220                    "end": {
221                      "line": 1,
222                      "column": 1,
223                      "program": null
224                    }
225                  }
226                },
227                "generator": false,
228                "async": false,
229                "expression": false,
230                "params": [],
231                "body": {
232                  "type": "BlockStatement",
233                  "statements": [],
234                  "loc": {
235                    "start": {
236                      "line": 1,
237                      "column": 1,
238                      "program": null
239                    },
240                    "end": {
241                      "line": 1,
242                      "column": 1,
243                      "program": null
244                    }
245                  }
246                },
247                "loc": {
248                  "start": {
249                    "line": 1,
250                    "column": 1,
251                    "program": null
252                  },
253                  "end": {
254                    "line": 1,
255                    "column": 1,
256                    "program": null
257                  }
258                }
259              },
260              "loc": {
261                "start": {
262                  "line": 1,
263                  "column": 1,
264                  "program": null
265                },
266                "end": {
267                  "line": 1,
268                  "column": 1,
269                  "program": null
270                }
271              }
272            },
273            "overloads": [],
274            "decorators": [],
275            "loc": {
276              "start": {
277                "line": 1,
278                "column": 1,
279                "program": "generic_function_call_1.ets"
280              },
281              "end": {
282                "line": 1,
283                "column": 1,
284                "program": "generic_function_call_1.ets"
285              }
286            }
287          },
288          {
289            "type": "MethodDefinition",
290            "key": {
291              "type": "Identifier",
292              "name": "fn",
293              "decorators": [],
294              "loc": {
295                "start": {
296                  "line": 18,
297                  "column": 10,
298                  "program": "generic_function_call_1.ets"
299                },
300                "end": {
301                  "line": 18,
302                  "column": 12,
303                  "program": "generic_function_call_1.ets"
304                }
305              }
306            },
307            "kind": "method",
308            "accessibility": "public",
309            "static": true,
310            "optional": false,
311            "computed": false,
312            "value": {
313              "type": "FunctionExpression",
314              "function": {
315                "type": "ScriptFunction",
316                "id": {
317                  "type": "Identifier",
318                  "name": "fn",
319                  "decorators": [],
320                  "loc": {
321                    "start": {
322                      "line": 18,
323                      "column": 10,
324                      "program": "generic_function_call_1.ets"
325                    },
326                    "end": {
327                      "line": 18,
328                      "column": 12,
329                      "program": "generic_function_call_1.ets"
330                    }
331                  }
332                },
333                "generator": false,
334                "async": false,
335                "expression": false,
336                "params": [
337                  {
338                    "type": "ETSParameterExpression",
339                    "name": {
340                      "type": "Identifier",
341                      "name": "x",
342                      "typeAnnotation": {
343                        "type": "ETSTypeReference",
344                        "part": {
345                          "type": "ETSTypeReferencePart",
346                          "name": {
347                            "type": "Identifier",
348                            "name": "T",
349                            "decorators": [],
350                            "loc": {
351                              "start": {
352                                "line": 18,
353                                "column": 18,
354                                "program": "generic_function_call_1.ets"
355                              },
356                              "end": {
357                                "line": 18,
358                                "column": 19,
359                                "program": "generic_function_call_1.ets"
360                              }
361                            }
362                          },
363                          "loc": {
364                            "start": {
365                              "line": 18,
366                              "column": 18,
367                              "program": "generic_function_call_1.ets"
368                            },
369                            "end": {
370                              "line": 18,
371                              "column": 20,
372                              "program": "generic_function_call_1.ets"
373                            }
374                          }
375                        },
376                        "loc": {
377                          "start": {
378                            "line": 18,
379                            "column": 18,
380                            "program": "generic_function_call_1.ets"
381                          },
382                          "end": {
383                            "line": 18,
384                            "column": 20,
385                            "program": "generic_function_call_1.ets"
386                          }
387                        }
388                      },
389                      "decorators": [],
390                      "loc": {
391                        "start": {
392                          "line": 18,
393                          "column": 16,
394                          "program": "generic_function_call_1.ets"
395                        },
396                        "end": {
397                          "line": 18,
398                          "column": 20,
399                          "program": "generic_function_call_1.ets"
400                        }
401                      }
402                    },
403                    "loc": {
404                      "start": {
405                        "line": 18,
406                        "column": 16,
407                        "program": "generic_function_call_1.ets"
408                      },
409                      "end": {
410                        "line": 18,
411                        "column": 20,
412                        "program": "generic_function_call_1.ets"
413                      }
414                    }
415                  }
416                ],
417                "typeParameters": {
418                  "type": "TSTypeParameterDeclaration",
419                  "params": [
420                    {
421                      "type": "TSTypeParameter",
422                      "name": {
423                        "type": "Identifier",
424                        "name": "T",
425                        "decorators": [],
426                        "loc": {
427                          "start": {
428                            "line": 18,
429                            "column": 13,
430                            "program": "generic_function_call_1.ets"
431                          },
432                          "end": {
433                            "line": 18,
434                            "column": 14,
435                            "program": "generic_function_call_1.ets"
436                          }
437                        }
438                      },
439                      "loc": {
440                        "start": {
441                          "line": 18,
442                          "column": 13,
443                          "program": "generic_function_call_1.ets"
444                        },
445                        "end": {
446                          "line": 18,
447                          "column": 15,
448                          "program": "generic_function_call_1.ets"
449                        }
450                      }
451                    }
452                  ],
453                  "loc": {
454                    "start": {
455                      "line": 18,
456                      "column": 12,
457                      "program": "generic_function_call_1.ets"
458                    },
459                    "end": {
460                      "line": 18,
461                      "column": 15,
462                      "program": "generic_function_call_1.ets"
463                    }
464                  }
465                },
466                "body": {
467                  "type": "BlockStatement",
468                  "statements": [],
469                  "loc": {
470                    "start": {
471                      "line": 18,
472                      "column": 21,
473                      "program": "generic_function_call_1.ets"
474                    },
475                    "end": {
476                      "line": 18,
477                      "column": 23,
478                      "program": "generic_function_call_1.ets"
479                    }
480                  }
481                },
482                "loc": {
483                  "start": {
484                    "line": 18,
485                    "column": 10,
486                    "program": "generic_function_call_1.ets"
487                  },
488                  "end": {
489                    "line": 18,
490                    "column": 23,
491                    "program": "generic_function_call_1.ets"
492                  }
493                }
494              },
495              "loc": {
496                "start": {
497                  "line": 18,
498                  "column": 10,
499                  "program": "generic_function_call_1.ets"
500                },
501                "end": {
502                  "line": 18,
503                  "column": 23,
504                  "program": "generic_function_call_1.ets"
505                }
506              }
507            },
508            "overloads": [],
509            "decorators": [],
510            "loc": {
511              "start": {
512                "line": 18,
513                "column": 1,
514                "program": "generic_function_call_1.ets"
515              },
516              "end": {
517                "line": 18,
518                "column": 23,
519                "program": "generic_function_call_1.ets"
520              }
521            }
522          },
523          {
524            "type": "MethodDefinition",
525            "key": {
526              "type": "Identifier",
527              "name": "main",
528              "decorators": [],
529              "loc": {
530                "start": {
531                  "line": 20,
532                  "column": 10,
533                  "program": "generic_function_call_1.ets"
534                },
535                "end": {
536                  "line": 20,
537                  "column": 14,
538                  "program": "generic_function_call_1.ets"
539                }
540              }
541            },
542            "kind": "method",
543            "accessibility": "public",
544            "static": true,
545            "optional": false,
546            "computed": false,
547            "value": {
548              "type": "FunctionExpression",
549              "function": {
550                "type": "ScriptFunction",
551                "id": {
552                  "type": "Identifier",
553                  "name": "main",
554                  "decorators": [],
555                  "loc": {
556                    "start": {
557                      "line": 20,
558                      "column": 10,
559                      "program": "generic_function_call_1.ets"
560                    },
561                    "end": {
562                      "line": 20,
563                      "column": 14,
564                      "program": "generic_function_call_1.ets"
565                    }
566                  }
567                },
568                "generator": false,
569                "async": false,
570                "expression": false,
571                "params": [],
572                "returnType": {
573                  "type": "ETSPrimitiveType",
574                  "loc": {
575                    "start": {
576                      "line": 20,
577                      "column": 19,
578                      "program": "generic_function_call_1.ets"
579                    },
580                    "end": {
581                      "line": 20,
582                      "column": 23,
583                      "program": "generic_function_call_1.ets"
584                    }
585                  }
586                },
587                "body": {
588                  "type": "BlockStatement",
589                  "statements": [
590                    {
591                      "type": "VariableDeclaration",
592                      "declarations": [
593                        {
594                          "type": "VariableDeclarator",
595                          "id": {
596                            "type": "Identifier",
597                            "name": "a",
598                            "decorators": [],
599                            "loc": {
600                              "start": {
601                                "line": 21,
602                                "column": 7,
603                                "program": "generic_function_call_1.ets"
604                              },
605                              "end": {
606                                "line": 21,
607                                "column": 8,
608                                "program": "generic_function_call_1.ets"
609                              }
610                            }
611                          },
612                          "init": {
613                            "type": "ETSNewClassInstanceExpression",
614                            "typeReference": {
615                              "type": "ETSTypeReference",
616                              "part": {
617                                "type": "ETSTypeReferencePart",
618                                "name": {
619                                  "type": "Identifier",
620                                  "name": "A",
621                                  "decorators": [],
622                                  "loc": {
623                                    "start": {
624                                      "line": 21,
625                                      "column": 15,
626                                      "program": "generic_function_call_1.ets"
627                                    },
628                                    "end": {
629                                      "line": 21,
630                                      "column": 16,
631                                      "program": "generic_function_call_1.ets"
632                                    }
633                                  }
634                                },
635                                "loc": {
636                                  "start": {
637                                    "line": 21,
638                                    "column": 15,
639                                    "program": "generic_function_call_1.ets"
640                                  },
641                                  "end": {
642                                    "line": 21,
643                                    "column": 17,
644                                    "program": "generic_function_call_1.ets"
645                                  }
646                                }
647                              },
648                              "loc": {
649                                "start": {
650                                  "line": 21,
651                                  "column": 15,
652                                  "program": "generic_function_call_1.ets"
653                                },
654                                "end": {
655                                  "line": 21,
656                                  "column": 17,
657                                  "program": "generic_function_call_1.ets"
658                                }
659                              }
660                            },
661                            "arguments": [],
662                            "loc": {
663                              "start": {
664                                "line": 21,
665                                "column": 11,
666                                "program": "generic_function_call_1.ets"
667                              },
668                              "end": {
669                                "line": 21,
670                                "column": 19,
671                                "program": "generic_function_call_1.ets"
672                              }
673                            }
674                          },
675                          "loc": {
676                            "start": {
677                              "line": 21,
678                              "column": 7,
679                              "program": "generic_function_call_1.ets"
680                            },
681                            "end": {
682                              "line": 21,
683                              "column": 19,
684                              "program": "generic_function_call_1.ets"
685                            }
686                          }
687                        }
688                      ],
689                      "kind": "let",
690                      "loc": {
691                        "start": {
692                          "line": 21,
693                          "column": 3,
694                          "program": "generic_function_call_1.ets"
695                        },
696                        "end": {
697                          "line": 21,
698                          "column": 19,
699                          "program": "generic_function_call_1.ets"
700                        }
701                      }
702                    },
703                    {
704                      "type": "ExpressionStatement",
705                      "expression": {
706                        "type": "CallExpression",
707                        "callee": {
708                          "type": "Identifier",
709                          "name": "fn",
710                          "decorators": [],
711                          "loc": {
712                            "start": {
713                              "line": 23,
714                              "column": 3,
715                              "program": "generic_function_call_1.ets"
716                            },
717                            "end": {
718                              "line": 23,
719                              "column": 5,
720                              "program": "generic_function_call_1.ets"
721                            }
722                          }
723                        },
724                        "arguments": [
725                          {
726                            "type": "Identifier",
727                            "name": "a",
728                            "decorators": [],
729                            "loc": {
730                              "start": {
731                                "line": 23,
732                                "column": 9,
733                                "program": "generic_function_call_1.ets"
734                              },
735                              "end": {
736                                "line": 23,
737                                "column": 10,
738                                "program": "generic_function_call_1.ets"
739                              }
740                            }
741                          }
742                        ],
743                        "optional": false,
744                        "typeParameters": {
745                          "type": "TSTypeParameterInstantiation",
746                          "params": [
747                            {
748                              "type": "ETSTypeReference",
749                              "part": {
750                                "type": "ETSTypeReferencePart",
751                                "name": {
752                                  "type": "Identifier",
753                                  "name": "A",
754                                  "decorators": [],
755                                  "loc": {
756                                    "start": {
757                                      "line": 23,
758                                      "column": 6,
759                                      "program": "generic_function_call_1.ets"
760                                    },
761                                    "end": {
762                                      "line": 23,
763                                      "column": 7,
764                                      "program": "generic_function_call_1.ets"
765                                    }
766                                  }
767                                },
768                                "loc": {
769                                  "start": {
770                                    "line": 23,
771                                    "column": 6,
772                                    "program": "generic_function_call_1.ets"
773                                  },
774                                  "end": {
775                                    "line": 23,
776                                    "column": 8,
777                                    "program": "generic_function_call_1.ets"
778                                  }
779                                }
780                              },
781                              "loc": {
782                                "start": {
783                                  "line": 23,
784                                  "column": 6,
785                                  "program": "generic_function_call_1.ets"
786                                },
787                                "end": {
788                                  "line": 23,
789                                  "column": 8,
790                                  "program": "generic_function_call_1.ets"
791                                }
792                              }
793                            }
794                          ],
795                          "loc": {
796                            "start": {
797                              "line": 23,
798                              "column": 5,
799                              "program": "generic_function_call_1.ets"
800                            },
801                            "end": {
802                              "line": 23,
803                              "column": 8,
804                              "program": "generic_function_call_1.ets"
805                            }
806                          }
807                        },
808                        "loc": {
809                          "start": {
810                            "line": 23,
811                            "column": 3,
812                            "program": "generic_function_call_1.ets"
813                          },
814                          "end": {
815                            "line": 23,
816                            "column": 11,
817                            "program": "generic_function_call_1.ets"
818                          }
819                        }
820                      },
821                      "loc": {
822                        "start": {
823                          "line": 23,
824                          "column": 3,
825                          "program": "generic_function_call_1.ets"
826                        },
827                        "end": {
828                          "line": 23,
829                          "column": 12,
830                          "program": "generic_function_call_1.ets"
831                        }
832                      }
833                    }
834                  ],
835                  "loc": {
836                    "start": {
837                      "line": 20,
838                      "column": 24,
839                      "program": "generic_function_call_1.ets"
840                    },
841                    "end": {
842                      "line": 24,
843                      "column": 2,
844                      "program": "generic_function_call_1.ets"
845                    }
846                  }
847                },
848                "loc": {
849                  "start": {
850                    "line": 20,
851                    "column": 10,
852                    "program": "generic_function_call_1.ets"
853                  },
854                  "end": {
855                    "line": 24,
856                    "column": 2,
857                    "program": "generic_function_call_1.ets"
858                  }
859                }
860              },
861              "loc": {
862                "start": {
863                  "line": 20,
864                  "column": 10,
865                  "program": "generic_function_call_1.ets"
866                },
867                "end": {
868                  "line": 24,
869                  "column": 2,
870                  "program": "generic_function_call_1.ets"
871                }
872              }
873            },
874            "overloads": [],
875            "decorators": [],
876            "loc": {
877              "start": {
878                "line": 20,
879                "column": 1,
880                "program": "generic_function_call_1.ets"
881              },
882              "end": {
883                "line": 24,
884                "column": 2,
885                "program": "generic_function_call_1.ets"
886              }
887            }
888          }
889        ],
890        "loc": {
891          "start": {
892            "line": 1,
893            "column": 1,
894            "program": "generic_function_call_1.ets"
895          },
896          "end": {
897            "line": 1,
898            "column": 1,
899            "program": "generic_function_call_1.ets"
900          }
901        }
902      },
903      "loc": {
904        "start": {
905          "line": 1,
906          "column": 1,
907          "program": "generic_function_call_1.ets"
908        },
909        "end": {
910          "line": 1,
911          "column": 1,
912          "program": "generic_function_call_1.ets"
913        }
914      }
915    }
916  ],
917  "loc": {
918    "start": {
919      "line": 1,
920      "column": 1,
921      "program": "generic_function_call_1.ets"
922    },
923    "end": {
924      "line": 25,
925      "column": 1,
926      "program": "generic_function_call_1.ets"
927    }
928  }
929}
930