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