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