• 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": "TestClass",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7,
15              "program": "rethrowingConstructorCheck3.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 16,
20              "program": "rethrowingConstructorCheck3.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": 1,
36                  "column": 1,
37                  "program": null
38                },
39                "end": {
40                  "line": 1,
41                  "column": 1,
42                  "program": null
43                }
44              }
45            },
46            "kind": "constructor",
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": "constructor",
58                  "decorators": [],
59                  "loc": {
60                    "start": {
61                      "line": 1,
62                      "column": 1,
63                      "program": null
64                    },
65                    "end": {
66                      "line": 1,
67                      "column": 1,
68                      "program": null
69                    }
70                  }
71                },
72                "generator": false,
73                "async": false,
74                "expression": false,
75                "params": [
76                  {
77                    "type": "ETSParameterExpression",
78                    "name": {
79                      "type": "Identifier",
80                      "name": "f",
81                      "typeAnnotation": {
82                        "type": "ETSFunctionType",
83                        "params": [],
84                        "returnType": {
85                          "type": "ETSPrimitiveType",
86                          "loc": {
87                            "start": {
88                              "line": 17,
89                              "column": 24,
90                              "program": "rethrowingConstructorCheck3.ets"
91                            },
92                            "end": {
93                              "line": 17,
94                              "column": 28,
95                              "program": "rethrowingConstructorCheck3.ets"
96                            }
97                          }
98                        },
99                        "throwMarker": "throws",
100                        "loc": {
101                          "start": {
102                            "line": 17,
103                            "column": 18,
104                            "program": "rethrowingConstructorCheck3.ets"
105                          },
106                          "end": {
107                            "line": 17,
108                            "column": 28,
109                            "program": "rethrowingConstructorCheck3.ets"
110                          }
111                        }
112                      },
113                      "decorators": [],
114                      "loc": {
115                        "start": {
116                          "line": 17,
117                          "column": 15,
118                          "program": "rethrowingConstructorCheck3.ets"
119                        },
120                        "end": {
121                          "line": 17,
122                          "column": 28,
123                          "program": "rethrowingConstructorCheck3.ets"
124                        }
125                      }
126                    },
127                    "loc": {
128                      "start": {
129                        "line": 17,
130                        "column": 15,
131                        "program": "rethrowingConstructorCheck3.ets"
132                      },
133                      "end": {
134                        "line": 17,
135                        "column": 28,
136                        "program": "rethrowingConstructorCheck3.ets"
137                      }
138                    }
139                  }
140                ],
141                "body": {
142                  "type": "BlockStatement",
143                  "statements": [],
144                  "loc": {
145                    "start": {
146                      "line": 17,
147                      "column": 46,
148                      "program": "rethrowingConstructorCheck3.ets"
149                    },
150                    "end": {
151                      "line": 17,
152                      "column": 48,
153                      "program": "rethrowingConstructorCheck3.ets"
154                    }
155                  }
156                },
157                "throwMarker": "rethrows",
158                "loc": {
159                  "start": {
160                    "line": 17,
161                    "column": 14,
162                    "program": "rethrowingConstructorCheck3.ets"
163                  },
164                  "end": {
165                    "line": 17,
166                    "column": 48,
167                    "program": "rethrowingConstructorCheck3.ets"
168                  }
169                }
170              },
171              "loc": {
172                "start": {
173                  "line": 17,
174                  "column": 14,
175                  "program": "rethrowingConstructorCheck3.ets"
176                },
177                "end": {
178                  "line": 17,
179                  "column": 48,
180                  "program": "rethrowingConstructorCheck3.ets"
181                }
182              }
183            },
184            "overloads": [],
185            "decorators": [],
186            "loc": {
187              "start": {
188                "line": 17,
189                "column": 3,
190                "program": "rethrowingConstructorCheck3.ets"
191              },
192              "end": {
193                "line": 17,
194                "column": 48,
195                "program": "rethrowingConstructorCheck3.ets"
196              }
197            }
198          }
199        ],
200        "loc": {
201          "start": {
202            "line": 16,
203            "column": 17,
204            "program": "rethrowingConstructorCheck3.ets"
205          },
206          "end": {
207            "line": 20,
208            "column": 9,
209            "program": "rethrowingConstructorCheck3.ets"
210          }
211        }
212      },
213      "loc": {
214        "start": {
215          "line": 16,
216          "column": 1,
217          "program": "rethrowingConstructorCheck3.ets"
218        },
219        "end": {
220          "line": 20,
221          "column": 9,
222          "program": "rethrowingConstructorCheck3.ets"
223        }
224      }
225    },
226    {
227      "type": "ClassDeclaration",
228      "definition": {
229        "id": {
230          "type": "Identifier",
231          "name": "ETSGLOBAL",
232          "decorators": [],
233          "loc": {
234            "start": {
235              "line": 1,
236              "column": 1,
237              "program": "rethrowingConstructorCheck3.ets"
238            },
239            "end": {
240              "line": 1,
241              "column": 1,
242              "program": "rethrowingConstructorCheck3.ets"
243            }
244          }
245        },
246        "superClass": null,
247        "implements": [],
248        "body": [
249          {
250            "type": "MethodDefinition",
251            "key": {
252              "type": "Identifier",
253              "name": "_$init$_",
254              "decorators": [],
255              "loc": {
256                "start": {
257                  "line": 1,
258                  "column": 1,
259                  "program": null
260                },
261                "end": {
262                  "line": 1,
263                  "column": 1,
264                  "program": null
265                }
266              }
267            },
268            "kind": "method",
269            "accessibility": "public",
270            "static": true,
271            "optional": false,
272            "computed": false,
273            "value": {
274              "type": "FunctionExpression",
275              "function": {
276                "type": "ScriptFunction",
277                "id": {
278                  "type": "Identifier",
279                  "name": "_$init$_",
280                  "decorators": [],
281                  "loc": {
282                    "start": {
283                      "line": 1,
284                      "column": 1,
285                      "program": null
286                    },
287                    "end": {
288                      "line": 1,
289                      "column": 1,
290                      "program": null
291                    }
292                  }
293                },
294                "generator": false,
295                "async": false,
296                "expression": false,
297                "params": [],
298                "body": {
299                  "type": "BlockStatement",
300                  "statements": [],
301                  "loc": {
302                    "start": {
303                      "line": 1,
304                      "column": 1,
305                      "program": null
306                    },
307                    "end": {
308                      "line": 1,
309                      "column": 1,
310                      "program": null
311                    }
312                  }
313                },
314                "loc": {
315                  "start": {
316                    "line": 1,
317                    "column": 1,
318                    "program": null
319                  },
320                  "end": {
321                    "line": 1,
322                    "column": 1,
323                    "program": null
324                  }
325                }
326              },
327              "loc": {
328                "start": {
329                  "line": 1,
330                  "column": 1,
331                  "program": null
332                },
333                "end": {
334                  "line": 1,
335                  "column": 1,
336                  "program": null
337                }
338              }
339            },
340            "overloads": [],
341            "decorators": [],
342            "loc": {
343              "start": {
344                "line": 1,
345                "column": 1,
346                "program": "rethrowingConstructorCheck3.ets"
347              },
348              "end": {
349                "line": 1,
350                "column": 1,
351                "program": "rethrowingConstructorCheck3.ets"
352              }
353            }
354          },
355          {
356            "type": "MethodDefinition",
357            "key": {
358              "type": "Identifier",
359              "name": "TestFunction",
360              "decorators": [],
361              "loc": {
362                "start": {
363                  "line": 20,
364                  "column": 10,
365                  "program": "rethrowingConstructorCheck3.ets"
366                },
367                "end": {
368                  "line": 20,
369                  "column": 22,
370                  "program": "rethrowingConstructorCheck3.ets"
371                }
372              }
373            },
374            "kind": "method",
375            "accessibility": "public",
376            "static": true,
377            "optional": false,
378            "computed": false,
379            "value": {
380              "type": "FunctionExpression",
381              "function": {
382                "type": "ScriptFunction",
383                "id": {
384                  "type": "Identifier",
385                  "name": "TestFunction",
386                  "decorators": [],
387                  "loc": {
388                    "start": {
389                      "line": 20,
390                      "column": 10,
391                      "program": "rethrowingConstructorCheck3.ets"
392                    },
393                    "end": {
394                      "line": 20,
395                      "column": 22,
396                      "program": "rethrowingConstructorCheck3.ets"
397                    }
398                  }
399                },
400                "generator": false,
401                "async": false,
402                "expression": false,
403                "params": [],
404                "returnType": {
405                  "type": "ETSPrimitiveType",
406                  "loc": {
407                    "start": {
408                      "line": 20,
409                      "column": 26,
410                      "program": "rethrowingConstructorCheck3.ets"
411                    },
412                    "end": {
413                      "line": 20,
414                      "column": 30,
415                      "program": "rethrowingConstructorCheck3.ets"
416                    }
417                  }
418                },
419                "body": {
420                  "type": "BlockStatement",
421                  "statements": [],
422                  "loc": {
423                    "start": {
424                      "line": 20,
425                      "column": 38,
426                      "program": "rethrowingConstructorCheck3.ets"
427                    },
428                    "end": {
429                      "line": 20,
430                      "column": 40,
431                      "program": "rethrowingConstructorCheck3.ets"
432                    }
433                  }
434                },
435                "throwMarker": "throws",
436                "loc": {
437                  "start": {
438                    "line": 20,
439                    "column": 10,
440                    "program": "rethrowingConstructorCheck3.ets"
441                  },
442                  "end": {
443                    "line": 20,
444                    "column": 40,
445                    "program": "rethrowingConstructorCheck3.ets"
446                  }
447                }
448              },
449              "loc": {
450                "start": {
451                  "line": 20,
452                  "column": 10,
453                  "program": "rethrowingConstructorCheck3.ets"
454                },
455                "end": {
456                  "line": 20,
457                  "column": 40,
458                  "program": "rethrowingConstructorCheck3.ets"
459                }
460              }
461            },
462            "overloads": [],
463            "decorators": [],
464            "loc": {
465              "start": {
466                "line": 20,
467                "column": 1,
468                "program": "rethrowingConstructorCheck3.ets"
469              },
470              "end": {
471                "line": 20,
472                "column": 40,
473                "program": "rethrowingConstructorCheck3.ets"
474              }
475            }
476          },
477          {
478            "type": "MethodDefinition",
479            "key": {
480              "type": "Identifier",
481              "name": "main",
482              "decorators": [],
483              "loc": {
484                "start": {
485                  "line": 22,
486                  "column": 10,
487                  "program": "rethrowingConstructorCheck3.ets"
488                },
489                "end": {
490                  "line": 22,
491                  "column": 14,
492                  "program": "rethrowingConstructorCheck3.ets"
493                }
494              }
495            },
496            "kind": "method",
497            "accessibility": "public",
498            "static": true,
499            "optional": false,
500            "computed": false,
501            "value": {
502              "type": "FunctionExpression",
503              "function": {
504                "type": "ScriptFunction",
505                "id": {
506                  "type": "Identifier",
507                  "name": "main",
508                  "decorators": [],
509                  "loc": {
510                    "start": {
511                      "line": 22,
512                      "column": 10,
513                      "program": "rethrowingConstructorCheck3.ets"
514                    },
515                    "end": {
516                      "line": 22,
517                      "column": 14,
518                      "program": "rethrowingConstructorCheck3.ets"
519                    }
520                  }
521                },
522                "generator": false,
523                "async": false,
524                "expression": false,
525                "params": [],
526                "returnType": {
527                  "type": "ETSPrimitiveType",
528                  "loc": {
529                    "start": {
530                      "line": 22,
531                      "column": 18,
532                      "program": "rethrowingConstructorCheck3.ets"
533                    },
534                    "end": {
535                      "line": 22,
536                      "column": 22,
537                      "program": "rethrowingConstructorCheck3.ets"
538                    }
539                  }
540                },
541                "body": {
542                  "type": "BlockStatement",
543                  "statements": [
544                    {
545                      "type": "TryStatement",
546                      "block": {
547                        "type": "BlockStatement",
548                        "statements": [
549                          {
550                            "type": "VariableDeclaration",
551                            "declarations": [
552                              {
553                                "type": "VariableDeclarator",
554                                "id": {
555                                  "type": "Identifier",
556                                  "name": "a",
557                                  "decorators": [],
558                                  "loc": {
559                                    "start": {
560                                      "line": 24,
561                                      "column": 9,
562                                      "program": "rethrowingConstructorCheck3.ets"
563                                    },
564                                    "end": {
565                                      "line": 24,
566                                      "column": 10,
567                                      "program": "rethrowingConstructorCheck3.ets"
568                                    }
569                                  }
570                                },
571                                "init": {
572                                  "type": "ETSNewClassInstanceExpression",
573                                  "typeReference": {
574                                    "type": "ETSTypeReference",
575                                    "part": {
576                                      "type": "ETSTypeReferencePart",
577                                      "name": {
578                                        "type": "Identifier",
579                                        "name": "TestClass",
580                                        "decorators": [],
581                                        "loc": {
582                                          "start": {
583                                            "line": 24,
584                                            "column": 17,
585                                            "program": "rethrowingConstructorCheck3.ets"
586                                          },
587                                          "end": {
588                                            "line": 24,
589                                            "column": 26,
590                                            "program": "rethrowingConstructorCheck3.ets"
591                                          }
592                                        }
593                                      },
594                                      "loc": {
595                                        "start": {
596                                          "line": 24,
597                                          "column": 17,
598                                          "program": "rethrowingConstructorCheck3.ets"
599                                        },
600                                        "end": {
601                                          "line": 24,
602                                          "column": 27,
603                                          "program": "rethrowingConstructorCheck3.ets"
604                                        }
605                                      }
606                                    },
607                                    "loc": {
608                                      "start": {
609                                        "line": 24,
610                                        "column": 17,
611                                        "program": "rethrowingConstructorCheck3.ets"
612                                      },
613                                      "end": {
614                                        "line": 24,
615                                        "column": 27,
616                                        "program": "rethrowingConstructorCheck3.ets"
617                                      }
618                                    }
619                                  },
620                                  "arguments": [
621                                    {
622                                      "type": "Identifier",
623                                      "name": "TestFunction",
624                                      "decorators": [],
625                                      "loc": {
626                                        "start": {
627                                          "line": 24,
628                                          "column": 27,
629                                          "program": "rethrowingConstructorCheck3.ets"
630                                        },
631                                        "end": {
632                                          "line": 24,
633                                          "column": 39,
634                                          "program": "rethrowingConstructorCheck3.ets"
635                                        }
636                                      }
637                                    }
638                                  ],
639                                  "loc": {
640                                    "start": {
641                                      "line": 24,
642                                      "column": 13,
643                                      "program": "rethrowingConstructorCheck3.ets"
644                                    },
645                                    "end": {
646                                      "line": 24,
647                                      "column": 41,
648                                      "program": "rethrowingConstructorCheck3.ets"
649                                    }
650                                  }
651                                },
652                                "loc": {
653                                  "start": {
654                                    "line": 24,
655                                    "column": 9,
656                                    "program": "rethrowingConstructorCheck3.ets"
657                                  },
658                                  "end": {
659                                    "line": 24,
660                                    "column": 41,
661                                    "program": "rethrowingConstructorCheck3.ets"
662                                  }
663                                }
664                              }
665                            ],
666                            "kind": "let",
667                            "loc": {
668                              "start": {
669                                "line": 24,
670                                "column": 5,
671                                "program": "rethrowingConstructorCheck3.ets"
672                              },
673                              "end": {
674                                "line": 24,
675                                "column": 41,
676                                "program": "rethrowingConstructorCheck3.ets"
677                              }
678                            }
679                          }
680                        ],
681                        "loc": {
682                          "start": {
683                            "line": 23,
684                            "column": 7,
685                            "program": "rethrowingConstructorCheck3.ets"
686                          },
687                          "end": {
688                            "line": 25,
689                            "column": 4,
690                            "program": "rethrowingConstructorCheck3.ets"
691                          }
692                        }
693                      },
694                      "handler": [
695                        {
696                          "type": "CatchClause",
697                          "body": {
698                            "type": "BlockStatement",
699                            "statements": [],
700                            "loc": {
701                              "start": {
702                                "line": 25,
703                                "column": 15,
704                                "program": "rethrowingConstructorCheck3.ets"
705                              },
706                              "end": {
707                                "line": 25,
708                                "column": 17,
709                                "program": "rethrowingConstructorCheck3.ets"
710                              }
711                            }
712                          },
713                          "param": {
714                            "type": "Identifier",
715                            "name": "e",
716                            "decorators": [],
717                            "loc": {
718                              "start": {
719                                "line": 25,
720                                "column": 12,
721                                "program": "rethrowingConstructorCheck3.ets"
722                              },
723                              "end": {
724                                "line": 25,
725                                "column": 13,
726                                "program": "rethrowingConstructorCheck3.ets"
727                              }
728                            }
729                          },
730                          "loc": {
731                            "start": {
732                              "line": 25,
733                              "column": 5,
734                              "program": "rethrowingConstructorCheck3.ets"
735                            },
736                            "end": {
737                              "line": 25,
738                              "column": 17,
739                              "program": "rethrowingConstructorCheck3.ets"
740                            }
741                          }
742                        }
743                      ],
744                      "finalizer": null,
745                      "loc": {
746                        "start": {
747                          "line": 23,
748                          "column": 3,
749                          "program": "rethrowingConstructorCheck3.ets"
750                        },
751                        "end": {
752                          "line": 25,
753                          "column": 17,
754                          "program": "rethrowingConstructorCheck3.ets"
755                        }
756                      }
757                    }
758                  ],
759                  "loc": {
760                    "start": {
761                      "line": 22,
762                      "column": 23,
763                      "program": "rethrowingConstructorCheck3.ets"
764                    },
765                    "end": {
766                      "line": 26,
767                      "column": 2,
768                      "program": "rethrowingConstructorCheck3.ets"
769                    }
770                  }
771                },
772                "loc": {
773                  "start": {
774                    "line": 22,
775                    "column": 10,
776                    "program": "rethrowingConstructorCheck3.ets"
777                  },
778                  "end": {
779                    "line": 26,
780                    "column": 2,
781                    "program": "rethrowingConstructorCheck3.ets"
782                  }
783                }
784              },
785              "loc": {
786                "start": {
787                  "line": 22,
788                  "column": 10,
789                  "program": "rethrowingConstructorCheck3.ets"
790                },
791                "end": {
792                  "line": 26,
793                  "column": 2,
794                  "program": "rethrowingConstructorCheck3.ets"
795                }
796              }
797            },
798            "overloads": [],
799            "decorators": [],
800            "loc": {
801              "start": {
802                "line": 22,
803                "column": 1,
804                "program": "rethrowingConstructorCheck3.ets"
805              },
806              "end": {
807                "line": 26,
808                "column": 2,
809                "program": "rethrowingConstructorCheck3.ets"
810              }
811            }
812          }
813        ],
814        "loc": {
815          "start": {
816            "line": 1,
817            "column": 1,
818            "program": "rethrowingConstructorCheck3.ets"
819          },
820          "end": {
821            "line": 1,
822            "column": 1,
823            "program": "rethrowingConstructorCheck3.ets"
824          }
825        }
826      },
827      "loc": {
828        "start": {
829          "line": 1,
830          "column": 1,
831          "program": "rethrowingConstructorCheck3.ets"
832        },
833        "end": {
834          "line": 1,
835          "column": 1,
836          "program": "rethrowingConstructorCheck3.ets"
837        }
838      }
839    }
840  ],
841  "loc": {
842    "start": {
843      "line": 1,
844      "column": 1,
845      "program": "rethrowingConstructorCheck3.ets"
846    },
847    "end": {
848      "line": 27,
849      "column": 1,
850      "program": "rethrowingConstructorCheck3.ets"
851    }
852  }
853}
854