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