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