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