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