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