• 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": "abstractNewClassInstanceExpression.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 17,
20              "program": "abstractNewClassInstanceExpression.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "foo",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 17,
36                  "column": 14,
37                  "program": "abstractNewClassInstanceExpression.ets"
38                },
39                "end": {
40                  "line": 17,
41                  "column": 17,
42                  "program": "abstractNewClassInstanceExpression.ets"
43                }
44              }
45            },
46            "kind": "method",
47            "accessibility": "public",
48            "static": false,
49            "optional": false,
50            "computed": false,
51            "value": {
52              "type": "FunctionExpression",
53              "function": {
54                "type": "ScriptFunction",
55                "id": {
56                  "type": "Identifier",
57                  "name": "foo",
58                  "decorators": [],
59                  "loc": {
60                    "start": {
61                      "line": 17,
62                      "column": 14,
63                      "program": "abstractNewClassInstanceExpression.ets"
64                    },
65                    "end": {
66                      "line": 17,
67                      "column": 17,
68                      "program": "abstractNewClassInstanceExpression.ets"
69                    }
70                  }
71                },
72                "generator": false,
73                "async": false,
74                "expression": false,
75                "params": [],
76                "returnType": {
77                  "type": "ETSPrimitiveType",
78                  "loc": {
79                    "start": {
80                      "line": 17,
81                      "column": 21,
82                      "program": "abstractNewClassInstanceExpression.ets"
83                    },
84                    "end": {
85                      "line": 17,
86                      "column": 25,
87                      "program": "abstractNewClassInstanceExpression.ets"
88                    }
89                  }
90                },
91                "loc": {
92                  "start": {
93                    "line": 17,
94                    "column": 17,
95                    "program": "abstractNewClassInstanceExpression.ets"
96                  },
97                  "end": {
98                    "line": 17,
99                    "column": 17,
100                    "program": "abstractNewClassInstanceExpression.ets"
101                  }
102                }
103              },
104              "loc": {
105                "start": {
106                  "line": 17,
107                  "column": 17,
108                  "program": "abstractNewClassInstanceExpression.ets"
109                },
110                "end": {
111                  "line": 17,
112                  "column": 17,
113                  "program": "abstractNewClassInstanceExpression.ets"
114                }
115              }
116            },
117            "overloads": [],
118            "decorators": [],
119            "loc": {
120              "start": {
121                "line": 17,
122                "column": 5,
123                "program": "abstractNewClassInstanceExpression.ets"
124              },
125              "end": {
126                "line": 17,
127                "column": 17,
128                "program": "abstractNewClassInstanceExpression.ets"
129              }
130            }
131          },
132          {
133            "type": "MethodDefinition",
134            "key": {
135              "type": "Identifier",
136              "name": "constructor",
137              "decorators": [],
138              "loc": {
139                "start": {
140                  "line": 16,
141                  "column": 19,
142                  "program": "abstractNewClassInstanceExpression.ets"
143                },
144                "end": {
145                  "line": 16,
146                  "column": 19,
147                  "program": "abstractNewClassInstanceExpression.ets"
148                }
149              }
150            },
151            "kind": "constructor",
152            "static": false,
153            "optional": false,
154            "computed": false,
155            "value": {
156              "type": "FunctionExpression",
157              "function": {
158                "type": "ScriptFunction",
159                "id": {
160                  "type": "Identifier",
161                  "name": "constructor",
162                  "decorators": [],
163                  "loc": {
164                    "start": {
165                      "line": 16,
166                      "column": 19,
167                      "program": "abstractNewClassInstanceExpression.ets"
168                    },
169                    "end": {
170                      "line": 16,
171                      "column": 19,
172                      "program": "abstractNewClassInstanceExpression.ets"
173                    }
174                  }
175                },
176                "generator": false,
177                "async": false,
178                "expression": false,
179                "params": [],
180                "body": {
181                  "type": "BlockStatement",
182                  "statements": [],
183                  "loc": {
184                    "start": {
185                      "line": 16,
186                      "column": 19,
187                      "program": "abstractNewClassInstanceExpression.ets"
188                    },
189                    "end": {
190                      "line": 16,
191                      "column": 19,
192                      "program": "abstractNewClassInstanceExpression.ets"
193                    }
194                  }
195                },
196                "loc": {
197                  "start": {
198                    "line": 16,
199                    "column": 19,
200                    "program": "abstractNewClassInstanceExpression.ets"
201                  },
202                  "end": {
203                    "line": 16,
204                    "column": 19,
205                    "program": "abstractNewClassInstanceExpression.ets"
206                  }
207                }
208              },
209              "loc": {
210                "start": {
211                  "line": 16,
212                  "column": 19,
213                  "program": "abstractNewClassInstanceExpression.ets"
214                },
215                "end": {
216                  "line": 16,
217                  "column": 19,
218                  "program": "abstractNewClassInstanceExpression.ets"
219                }
220              }
221            },
222            "overloads": [],
223            "decorators": [],
224            "loc": {
225              "start": {
226                "line": 1,
227                "column": 1,
228                "program": null
229              },
230              "end": {
231                "line": 1,
232                "column": 1,
233                "program": null
234              }
235            }
236          }
237        ],
238        "loc": {
239          "start": {
240            "line": 16,
241            "column": 18,
242            "program": "abstractNewClassInstanceExpression.ets"
243          },
244          "end": {
245            "line": 20,
246            "column": 6,
247            "program": "abstractNewClassInstanceExpression.ets"
248          }
249        }
250      },
251      "loc": {
252        "start": {
253          "line": 16,
254          "column": 10,
255          "program": "abstractNewClassInstanceExpression.ets"
256        },
257        "end": {
258          "line": 20,
259          "column": 6,
260          "program": "abstractNewClassInstanceExpression.ets"
261        }
262      }
263    },
264    {
265      "type": "ClassDeclaration",
266      "definition": {
267        "id": {
268          "type": "Identifier",
269          "name": "H",
270          "decorators": [],
271          "loc": {
272            "start": {
273              "line": 20,
274              "column": 7,
275              "program": "abstractNewClassInstanceExpression.ets"
276            },
277            "end": {
278              "line": 20,
279              "column": 8,
280              "program": "abstractNewClassInstanceExpression.ets"
281            }
282          }
283        },
284        "superClass": null,
285        "implements": [],
286        "body": [
287          {
288            "type": "MethodDefinition",
289            "key": {
290              "type": "Identifier",
291              "name": "constructor",
292              "decorators": [],
293              "loc": {
294                "start": {
295                  "line": 20,
296                  "column": 10,
297                  "program": "abstractNewClassInstanceExpression.ets"
298                },
299                "end": {
300                  "line": 20,
301                  "column": 10,
302                  "program": "abstractNewClassInstanceExpression.ets"
303                }
304              }
305            },
306            "kind": "constructor",
307            "static": false,
308            "optional": false,
309            "computed": false,
310            "value": {
311              "type": "FunctionExpression",
312              "function": {
313                "type": "ScriptFunction",
314                "id": {
315                  "type": "Identifier",
316                  "name": "constructor",
317                  "decorators": [],
318                  "loc": {
319                    "start": {
320                      "line": 20,
321                      "column": 10,
322                      "program": "abstractNewClassInstanceExpression.ets"
323                    },
324                    "end": {
325                      "line": 20,
326                      "column": 10,
327                      "program": "abstractNewClassInstanceExpression.ets"
328                    }
329                  }
330                },
331                "generator": false,
332                "async": false,
333                "expression": false,
334                "params": [],
335                "body": {
336                  "type": "BlockStatement",
337                  "statements": [],
338                  "loc": {
339                    "start": {
340                      "line": 20,
341                      "column": 10,
342                      "program": "abstractNewClassInstanceExpression.ets"
343                    },
344                    "end": {
345                      "line": 20,
346                      "column": 10,
347                      "program": "abstractNewClassInstanceExpression.ets"
348                    }
349                  }
350                },
351                "loc": {
352                  "start": {
353                    "line": 20,
354                    "column": 10,
355                    "program": "abstractNewClassInstanceExpression.ets"
356                  },
357                  "end": {
358                    "line": 20,
359                    "column": 10,
360                    "program": "abstractNewClassInstanceExpression.ets"
361                  }
362                }
363              },
364              "loc": {
365                "start": {
366                  "line": 20,
367                  "column": 10,
368                  "program": "abstractNewClassInstanceExpression.ets"
369                },
370                "end": {
371                  "line": 20,
372                  "column": 10,
373                  "program": "abstractNewClassInstanceExpression.ets"
374                }
375              }
376            },
377            "overloads": [],
378            "decorators": [],
379            "loc": {
380              "start": {
381                "line": 1,
382                "column": 1,
383                "program": null
384              },
385              "end": {
386                "line": 1,
387                "column": 1,
388                "program": null
389              }
390            }
391          }
392        ],
393        "loc": {
394          "start": {
395            "line": 20,
396            "column": 9,
397            "program": "abstractNewClassInstanceExpression.ets"
398          },
399          "end": {
400            "line": 24,
401            "column": 6,
402            "program": "abstractNewClassInstanceExpression.ets"
403          }
404        }
405      },
406      "loc": {
407        "start": {
408          "line": 20,
409          "column": 1,
410          "program": "abstractNewClassInstanceExpression.ets"
411        },
412        "end": {
413          "line": 24,
414          "column": 6,
415          "program": "abstractNewClassInstanceExpression.ets"
416        }
417      }
418    },
419    {
420      "type": "ClassDeclaration",
421      "definition": {
422        "id": {
423          "type": "Identifier",
424          "name": "B",
425          "decorators": [],
426          "loc": {
427            "start": {
428              "line": 24,
429              "column": 7,
430              "program": "abstractNewClassInstanceExpression.ets"
431            },
432            "end": {
433              "line": 24,
434              "column": 8,
435              "program": "abstractNewClassInstanceExpression.ets"
436            }
437          }
438        },
439        "superClass": null,
440        "implements": [],
441        "body": [
442          {
443            "type": "ClassProperty",
444            "key": {
445              "type": "Identifier",
446              "name": "bar",
447              "decorators": [],
448              "loc": {
449                "start": {
450                  "line": 26,
451                  "column": 5,
452                  "program": "abstractNewClassInstanceExpression.ets"
453                },
454                "end": {
455                  "line": 26,
456                  "column": 8,
457                  "program": "abstractNewClassInstanceExpression.ets"
458                }
459              }
460            },
461            "value": {
462              "type": "ETSNewClassInstanceExpression",
463              "typeReference": {
464                "type": "ETSTypeReference",
465                "part": {
466                  "type": "ETSTypeReferencePart",
467                  "name": {
468                    "type": "Identifier",
469                    "name": "A",
470                    "decorators": [],
471                    "loc": {
472                      "start": {
473                        "line": 26,
474                        "column": 18,
475                        "program": "abstractNewClassInstanceExpression.ets"
476                      },
477                      "end": {
478                        "line": 26,
479                        "column": 19,
480                        "program": "abstractNewClassInstanceExpression.ets"
481                      }
482                    }
483                  },
484                  "loc": {
485                    "start": {
486                      "line": 26,
487                      "column": 18,
488                      "program": "abstractNewClassInstanceExpression.ets"
489                    },
490                    "end": {
491                      "line": 26,
492                      "column": 20,
493                      "program": "abstractNewClassInstanceExpression.ets"
494                    }
495                  }
496                },
497                "loc": {
498                  "start": {
499                    "line": 26,
500                    "column": 18,
501                    "program": "abstractNewClassInstanceExpression.ets"
502                  },
503                  "end": {
504                    "line": 26,
505                    "column": 20,
506                    "program": "abstractNewClassInstanceExpression.ets"
507                  }
508                }
509              },
510              "arguments": [],
511              "loc": {
512                "start": {
513                  "line": 26,
514                  "column": 14,
515                  "program": "abstractNewClassInstanceExpression.ets"
516                },
517                "end": {
518                  "line": 26,
519                  "column": 23,
520                  "program": "abstractNewClassInstanceExpression.ets"
521                }
522              }
523            },
524            "accessibility": "public",
525            "static": false,
526            "readonly": false,
527            "declare": false,
528            "optional": false,
529            "computed": false,
530            "typeAnnotation": {
531              "type": "ETSTypeReference",
532              "part": {
533                "type": "ETSTypeReferencePart",
534                "name": {
535                  "type": "Identifier",
536                  "name": "A",
537                  "decorators": [],
538                  "loc": {
539                    "start": {
540                      "line": 26,
541                      "column": 10,
542                      "program": "abstractNewClassInstanceExpression.ets"
543                    },
544                    "end": {
545                      "line": 26,
546                      "column": 11,
547                      "program": "abstractNewClassInstanceExpression.ets"
548                    }
549                  }
550                },
551                "loc": {
552                  "start": {
553                    "line": 26,
554                    "column": 10,
555                    "program": "abstractNewClassInstanceExpression.ets"
556                  },
557                  "end": {
558                    "line": 26,
559                    "column": 13,
560                    "program": "abstractNewClassInstanceExpression.ets"
561                  }
562                }
563              },
564              "loc": {
565                "start": {
566                  "line": 26,
567                  "column": 10,
568                  "program": "abstractNewClassInstanceExpression.ets"
569                },
570                "end": {
571                  "line": 26,
572                  "column": 13,
573                  "program": "abstractNewClassInstanceExpression.ets"
574                }
575              }
576            },
577            "definite": false,
578            "decorators": [],
579            "loc": {
580              "start": {
581                "line": 26,
582                "column": 5,
583                "program": "abstractNewClassInstanceExpression.ets"
584              },
585              "end": {
586                "line": 26,
587                "column": 23,
588                "program": "abstractNewClassInstanceExpression.ets"
589              }
590            }
591          },
592          {
593            "type": "MethodDefinition",
594            "key": {
595              "type": "Identifier",
596              "name": "foo",
597              "decorators": [],
598              "loc": {
599                "start": {
600                  "line": 27,
601                  "column": 18,
602                  "program": "abstractNewClassInstanceExpression.ets"
603                },
604                "end": {
605                  "line": 27,
606                  "column": 21,
607                  "program": "abstractNewClassInstanceExpression.ets"
608                }
609              }
610            },
611            "kind": "method",
612            "accessibility": "public",
613            "static": false,
614            "optional": false,
615            "computed": false,
616            "value": {
617              "type": "FunctionExpression",
618              "function": {
619                "type": "ScriptFunction",
620                "id": {
621                  "type": "Identifier",
622                  "name": "foo",
623                  "decorators": [],
624                  "loc": {
625                    "start": {
626                      "line": 27,
627                      "column": 18,
628                      "program": "abstractNewClassInstanceExpression.ets"
629                    },
630                    "end": {
631                      "line": 27,
632                      "column": 21,
633                      "program": "abstractNewClassInstanceExpression.ets"
634                    }
635                  }
636                },
637                "generator": false,
638                "async": false,
639                "expression": false,
640                "params": [],
641                "returnType": {
642                  "type": "ETSPrimitiveType",
643                  "loc": {
644                    "start": {
645                      "line": 27,
646                      "column": 25,
647                      "program": "abstractNewClassInstanceExpression.ets"
648                    },
649                    "end": {
650                      "line": 27,
651                      "column": 29,
652                      "program": "abstractNewClassInstanceExpression.ets"
653                    }
654                  }
655                },
656                "body": {
657                  "type": "BlockStatement",
658                  "statements": [],
659                  "loc": {
660                    "start": {
661                      "line": 27,
662                      "column": 30,
663                      "program": "abstractNewClassInstanceExpression.ets"
664                    },
665                    "end": {
666                      "line": 29,
667                      "column": 10,
668                      "program": "abstractNewClassInstanceExpression.ets"
669                    }
670                  }
671                },
672                "loc": {
673                  "start": {
674                    "line": 27,
675                    "column": 21,
676                    "program": "abstractNewClassInstanceExpression.ets"
677                  },
678                  "end": {
679                    "line": 29,
680                    "column": 10,
681                    "program": "abstractNewClassInstanceExpression.ets"
682                  }
683                }
684              },
685              "loc": {
686                "start": {
687                  "line": 27,
688                  "column": 21,
689                  "program": "abstractNewClassInstanceExpression.ets"
690                },
691                "end": {
692                  "line": 29,
693                  "column": 10,
694                  "program": "abstractNewClassInstanceExpression.ets"
695                }
696              }
697            },
698            "overloads": [],
699            "decorators": [],
700            "loc": {
701              "start": {
702                "line": 27,
703                "column": 9,
704                "program": "abstractNewClassInstanceExpression.ets"
705              },
706              "end": {
707                "line": 29,
708                "column": 10,
709                "program": "abstractNewClassInstanceExpression.ets"
710              }
711            }
712          },
713          {
714            "type": "MethodDefinition",
715            "key": {
716              "type": "Identifier",
717              "name": "constructor",
718              "decorators": [],
719              "loc": {
720                "start": {
721                  "line": 24,
722                  "column": 10,
723                  "program": "abstractNewClassInstanceExpression.ets"
724                },
725                "end": {
726                  "line": 24,
727                  "column": 10,
728                  "program": "abstractNewClassInstanceExpression.ets"
729                }
730              }
731            },
732            "kind": "constructor",
733            "static": false,
734            "optional": false,
735            "computed": false,
736            "value": {
737              "type": "FunctionExpression",
738              "function": {
739                "type": "ScriptFunction",
740                "id": {
741                  "type": "Identifier",
742                  "name": "constructor",
743                  "decorators": [],
744                  "loc": {
745                    "start": {
746                      "line": 24,
747                      "column": 10,
748                      "program": "abstractNewClassInstanceExpression.ets"
749                    },
750                    "end": {
751                      "line": 24,
752                      "column": 10,
753                      "program": "abstractNewClassInstanceExpression.ets"
754                    }
755                  }
756                },
757                "generator": false,
758                "async": false,
759                "expression": false,
760                "params": [],
761                "body": {
762                  "type": "BlockStatement",
763                  "statements": [],
764                  "loc": {
765                    "start": {
766                      "line": 24,
767                      "column": 10,
768                      "program": "abstractNewClassInstanceExpression.ets"
769                    },
770                    "end": {
771                      "line": 24,
772                      "column": 10,
773                      "program": "abstractNewClassInstanceExpression.ets"
774                    }
775                  }
776                },
777                "loc": {
778                  "start": {
779                    "line": 24,
780                    "column": 10,
781                    "program": "abstractNewClassInstanceExpression.ets"
782                  },
783                  "end": {
784                    "line": 24,
785                    "column": 10,
786                    "program": "abstractNewClassInstanceExpression.ets"
787                  }
788                }
789              },
790              "loc": {
791                "start": {
792                  "line": 24,
793                  "column": 10,
794                  "program": "abstractNewClassInstanceExpression.ets"
795                },
796                "end": {
797                  "line": 24,
798                  "column": 10,
799                  "program": "abstractNewClassInstanceExpression.ets"
800                }
801              }
802            },
803            "overloads": [],
804            "decorators": [],
805            "loc": {
806              "start": {
807                "line": 1,
808                "column": 1,
809                "program": null
810              },
811              "end": {
812                "line": 1,
813                "column": 1,
814                "program": null
815              }
816            }
817          }
818        ],
819        "loc": {
820          "start": {
821            "line": 24,
822            "column": 9,
823            "program": "abstractNewClassInstanceExpression.ets"
824          },
825          "end": {
826            "line": 32,
827            "column": 9,
828            "program": "abstractNewClassInstanceExpression.ets"
829          }
830        }
831      },
832      "loc": {
833        "start": {
834          "line": 24,
835          "column": 1,
836          "program": "abstractNewClassInstanceExpression.ets"
837        },
838        "end": {
839          "line": 32,
840          "column": 9,
841          "program": "abstractNewClassInstanceExpression.ets"
842        }
843      }
844    },
845    {
846      "type": "ClassDeclaration",
847      "definition": {
848        "id": {
849          "type": "Identifier",
850          "name": "ETSGLOBAL",
851          "decorators": [],
852          "loc": {
853            "start": {
854              "line": 1,
855              "column": 1,
856              "program": "abstractNewClassInstanceExpression.ets"
857            },
858            "end": {
859              "line": 1,
860              "column": 1,
861              "program": "abstractNewClassInstanceExpression.ets"
862            }
863          }
864        },
865        "superClass": null,
866        "implements": [],
867        "body": [
868          {
869            "type": "MethodDefinition",
870            "key": {
871              "type": "Identifier",
872              "name": "main",
873              "decorators": [],
874              "loc": {
875                "start": {
876                  "line": 1,
877                  "column": 1,
878                  "program": null
879                },
880                "end": {
881                  "line": 1,
882                  "column": 1,
883                  "program": null
884                }
885              }
886            },
887            "kind": "method",
888            "accessibility": "public",
889            "static": true,
890            "optional": false,
891            "computed": false,
892            "value": {
893              "type": "FunctionExpression",
894              "function": {
895                "type": "ScriptFunction",
896                "id": {
897                  "type": "Identifier",
898                  "name": "main",
899                  "decorators": [],
900                  "loc": {
901                    "start": {
902                      "line": 1,
903                      "column": 1,
904                      "program": null
905                    },
906                    "end": {
907                      "line": 1,
908                      "column": 1,
909                      "program": null
910                    }
911                  }
912                },
913                "generator": false,
914                "async": false,
915                "expression": false,
916                "params": [],
917                "body": {
918                  "type": "BlockStatement",
919                  "statements": [],
920                  "loc": {
921                    "start": {
922                      "line": 1,
923                      "column": 1,
924                      "program": null
925                    },
926                    "end": {
927                      "line": 1,
928                      "column": 1,
929                      "program": null
930                    }
931                  }
932                },
933                "loc": {
934                  "start": {
935                    "line": 1,
936                    "column": 1,
937                    "program": null
938                  },
939                  "end": {
940                    "line": 1,
941                    "column": 1,
942                    "program": null
943                  }
944                }
945              },
946              "loc": {
947                "start": {
948                  "line": 1,
949                  "column": 1,
950                  "program": null
951                },
952                "end": {
953                  "line": 1,
954                  "column": 1,
955                  "program": null
956                }
957              }
958            },
959            "overloads": [],
960            "decorators": [],
961            "loc": {
962              "start": {
963                "line": 1,
964                "column": 1,
965                "program": "abstractNewClassInstanceExpression.ets"
966              },
967              "end": {
968                "line": 1,
969                "column": 1,
970                "program": "abstractNewClassInstanceExpression.ets"
971              }
972            }
973          },
974          {
975            "type": "MethodDefinition",
976            "key": {
977              "type": "Identifier",
978              "name": "_$init$_",
979              "decorators": [],
980              "loc": {
981                "start": {
982                  "line": 1,
983                  "column": 1,
984                  "program": null
985                },
986                "end": {
987                  "line": 1,
988                  "column": 1,
989                  "program": null
990                }
991              }
992            },
993            "kind": "method",
994            "accessibility": "public",
995            "static": true,
996            "optional": false,
997            "computed": false,
998            "value": {
999              "type": "FunctionExpression",
1000              "function": {
1001                "type": "ScriptFunction",
1002                "id": {
1003                  "type": "Identifier",
1004                  "name": "_$init$_",
1005                  "decorators": [],
1006                  "loc": {
1007                    "start": {
1008                      "line": 1,
1009                      "column": 1,
1010                      "program": null
1011                    },
1012                    "end": {
1013                      "line": 1,
1014                      "column": 1,
1015                      "program": null
1016                    }
1017                  }
1018                },
1019                "generator": false,
1020                "async": false,
1021                "expression": false,
1022                "params": [],
1023                "body": {
1024                  "type": "BlockStatement",
1025                  "statements": [
1026                    {
1027                      "type": "EmptyStatement",
1028                      "loc": {
1029                        "start": {
1030                          "line": 32,
1031                          "column": 11,
1032                          "program": "abstractNewClassInstanceExpression.ets"
1033                        },
1034                        "end": {
1035                          "line": 32,
1036                          "column": 12,
1037                          "program": "abstractNewClassInstanceExpression.ets"
1038                        }
1039                      }
1040                    },
1041                    {
1042                      "type": "ExpressionStatement",
1043                      "expression": {
1044                        "type": "AssignmentExpression",
1045                        "operator": "=",
1046                        "left": {
1047                          "type": "Identifier",
1048                          "name": "H",
1049                          "decorators": [],
1050                          "loc": {
1051                            "start": {
1052                              "line": 32,
1053                              "column": 11,
1054                              "program": "abstractNewClassInstanceExpression.ets"
1055                            },
1056                            "end": {
1057                              "line": 32,
1058                              "column": 12,
1059                              "program": "abstractNewClassInstanceExpression.ets"
1060                            }
1061                          }
1062                        },
1063                        "right": {
1064                          "type": "ETSNewClassInstanceExpression",
1065                          "typeReference": {
1066                            "type": "ETSTypeReference",
1067                            "part": {
1068                              "type": "ETSTypeReferencePart",
1069                              "name": {
1070                                "type": "Identifier",
1071                                "name": "H",
1072                                "decorators": [],
1073                                "loc": {
1074                                  "start": {
1075                                    "line": 32,
1076                                    "column": 19,
1077                                    "program": "abstractNewClassInstanceExpression.ets"
1078                                  },
1079                                  "end": {
1080                                    "line": 32,
1081                                    "column": 20,
1082                                    "program": "abstractNewClassInstanceExpression.ets"
1083                                  }
1084                                }
1085                              },
1086                              "loc": {
1087                                "start": {
1088                                  "line": 32,
1089                                  "column": 19,
1090                                  "program": "abstractNewClassInstanceExpression.ets"
1091                                },
1092                                "end": {
1093                                  "line": 32,
1094                                  "column": 21,
1095                                  "program": "abstractNewClassInstanceExpression.ets"
1096                                }
1097                              }
1098                            },
1099                            "loc": {
1100                              "start": {
1101                                "line": 32,
1102                                "column": 19,
1103                                "program": "abstractNewClassInstanceExpression.ets"
1104                              },
1105                              "end": {
1106                                "line": 32,
1107                                "column": 21,
1108                                "program": "abstractNewClassInstanceExpression.ets"
1109                              }
1110                            }
1111                          },
1112                          "arguments": [],
1113                          "loc": {
1114                            "start": {
1115                              "line": 32,
1116                              "column": 15,
1117                              "program": "abstractNewClassInstanceExpression.ets"
1118                            },
1119                            "end": {
1120                              "line": 32,
1121                              "column": 24,
1122                              "program": "abstractNewClassInstanceExpression.ets"
1123                            }
1124                          }
1125                        },
1126                        "loc": {
1127                          "start": {
1128                            "line": 32,
1129                            "column": 11,
1130                            "program": "abstractNewClassInstanceExpression.ets"
1131                          },
1132                          "end": {
1133                            "line": 32,
1134                            "column": 24,
1135                            "program": "abstractNewClassInstanceExpression.ets"
1136                          }
1137                        }
1138                      },
1139                      "loc": {
1140                        "start": {
1141                          "line": 32,
1142                          "column": 11,
1143                          "program": "abstractNewClassInstanceExpression.ets"
1144                        },
1145                        "end": {
1146                          "line": 32,
1147                          "column": 24,
1148                          "program": "abstractNewClassInstanceExpression.ets"
1149                        }
1150                      }
1151                    },
1152                    {
1153                      "type": "BlockStatement",
1154                      "statements": [],
1155                      "loc": {
1156                        "start": {
1157                          "line": 32,
1158                          "column": 23,
1159                          "program": "abstractNewClassInstanceExpression.ets"
1160                        },
1161                        "end": {
1162                          "line": 34,
1163                          "column": 6,
1164                          "program": "abstractNewClassInstanceExpression.ets"
1165                        }
1166                      }
1167                    },
1168                    {
1169                      "type": "ExpressionStatement",
1170                      "expression": {
1171                        "type": "Identifier",
1172                        "name": "*ERROR_LITERAL*",
1173                        "decorators": [],
1174                        "loc": {
1175                          "start": {
1176                            "line": 35,
1177                            "column": 1,
1178                            "program": "abstractNewClassInstanceExpression.ets"
1179                          },
1180                          "end": {
1181                            "line": 35,
1182                            "column": 2,
1183                            "program": "abstractNewClassInstanceExpression.ets"
1184                          }
1185                        }
1186                      },
1187                      "loc": {
1188                        "start": {
1189                          "line": 35,
1190                          "column": 1,
1191                          "program": "abstractNewClassInstanceExpression.ets"
1192                        },
1193                        "end": {
1194                          "line": 35,
1195                          "column": 2,
1196                          "program": "abstractNewClassInstanceExpression.ets"
1197                        }
1198                      }
1199                    }
1200                  ],
1201                  "loc": {
1202                    "start": {
1203                      "line": 1,
1204                      "column": 1,
1205                      "program": null
1206                    },
1207                    "end": {
1208                      "line": 1,
1209                      "column": 1,
1210                      "program": null
1211                    }
1212                  }
1213                },
1214                "loc": {
1215                  "start": {
1216                    "line": 1,
1217                    "column": 1,
1218                    "program": null
1219                  },
1220                  "end": {
1221                    "line": 1,
1222                    "column": 1,
1223                    "program": null
1224                  }
1225                }
1226              },
1227              "loc": {
1228                "start": {
1229                  "line": 1,
1230                  "column": 1,
1231                  "program": null
1232                },
1233                "end": {
1234                  "line": 1,
1235                  "column": 1,
1236                  "program": null
1237                }
1238              }
1239            },
1240            "overloads": [],
1241            "decorators": [],
1242            "loc": {
1243              "start": {
1244                "line": 1,
1245                "column": 1,
1246                "program": "abstractNewClassInstanceExpression.ets"
1247              },
1248              "end": {
1249                "line": 1,
1250                "column": 1,
1251                "program": "abstractNewClassInstanceExpression.ets"
1252              }
1253            }
1254          }
1255        ],
1256        "loc": {
1257          "start": {
1258            "line": 1,
1259            "column": 1,
1260            "program": "abstractNewClassInstanceExpression.ets"
1261          },
1262          "end": {
1263            "line": 1,
1264            "column": 1,
1265            "program": "abstractNewClassInstanceExpression.ets"
1266          }
1267        }
1268      },
1269      "loc": {
1270        "start": {
1271          "line": 1,
1272          "column": 1,
1273          "program": "abstractNewClassInstanceExpression.ets"
1274        },
1275        "end": {
1276          "line": 1,
1277          "column": 1,
1278          "program": "abstractNewClassInstanceExpression.ets"
1279        }
1280      }
1281    }
1282  ],
1283  "loc": {
1284    "start": {
1285      "line": 1,
1286      "column": 1,
1287      "program": "abstractNewClassInstanceExpression.ets"
1288    },
1289    "end": {
1290      "line": 36,
1291      "column": 1,
1292      "program": "abstractNewClassInstanceExpression.ets"
1293    }
1294  }
1295}
1296TypeError: A is abstract therefore cannot be instantiated. [abstractNewClassInstanceExpression.ets:26:14]
1297SyntaxError: Unexpected token '{'. [abstractNewClassInstanceExpression.ets:26:22]
1298TypeError: Method foo(): void in B not overriding any method [abstractNewClassInstanceExpression.ets:27:21]
1299SyntaxError: Label must be followed by a loop statement. [abstractNewClassInstanceExpression.ets:32:11]
1300TypeError: Class name 'H' used in the wrong context [abstractNewClassInstanceExpression.ets:32:11]
1301SyntaxError: Unexpected token '{'. [abstractNewClassInstanceExpression.ets:32:23]
1302SyntaxError: Unexpected token '}'. [abstractNewClassInstanceExpression.ets:35:1]
1303