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