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