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