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": "TestFunc",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 10
129                },
130                "end": {
131                  "line": 16,
132                  "column": 18
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": "TestFunc",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 10
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 18
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": 22
170                    },
171                    "end": {
172                      "line": 16,
173                      "column": 26
174                    }
175                  }
176                },
177                "body": {
178                  "type": "BlockStatement",
179                  "statements": [
180                    {
181                      "type": "TryStatement",
182                      "block": {
183                        "type": "BlockStatement",
184                        "statements": [
185                          {
186                            "type": "TryStatement",
187                            "block": {
188                              "type": "BlockStatement",
189                              "statements": [
190                                {
191                                  "type": "ThrowStatement",
192                                  "argument": {
193                                    "type": "ETSNewClassInstanceExpression",
194                                    "typeReference": {
195                                      "type": "ETSTypeReference",
196                                      "part": {
197                                        "type": "ETSTypeReferencePart",
198                                        "name": {
199                                          "type": "Identifier",
200                                          "name": "Exception",
201                                          "decorators": [],
202                                          "loc": {
203                                            "start": {
204                                              "line": 19,
205                                              "column": 23
206                                            },
207                                            "end": {
208                                              "line": 19,
209                                              "column": 32
210                                            }
211                                          }
212                                        },
213                                        "loc": {
214                                          "start": {
215                                            "line": 19,
216                                            "column": 23
217                                          },
218                                          "end": {
219                                            "line": 19,
220                                            "column": 33
221                                          }
222                                        }
223                                      },
224                                      "loc": {
225                                        "start": {
226                                          "line": 19,
227                                          "column": 23
228                                        },
229                                        "end": {
230                                          "line": 19,
231                                          "column": 33
232                                        }
233                                      }
234                                    },
235                                    "arguments": [],
236                                    "loc": {
237                                      "start": {
238                                        "line": 19,
239                                        "column": 19
240                                      },
241                                      "end": {
242                                        "line": 19,
243                                        "column": 35
244                                      }
245                                    }
246                                  },
247                                  "loc": {
248                                    "start": {
249                                      "line": 19,
250                                      "column": 13
251                                    },
252                                    "end": {
253                                      "line": 19,
254                                      "column": 35
255                                    }
256                                  }
257                                }
258                              ],
259                              "loc": {
260                                "start": {
261                                  "line": 18,
262                                  "column": 13
263                                },
264                                "end": {
265                                  "line": 20,
266                                  "column": 10
267                                }
268                              }
269                            },
270                            "handler": [
271                              {
272                                "type": "CatchClause",
273                                "body": {
274                                  "type": "BlockStatement",
275                                  "statements": [
276                                    {
277                                      "type": "ThrowStatement",
278                                      "argument": {
279                                        "type": "TSAsExpression",
280                                        "expression": {
281                                          "type": "Identifier",
282                                          "name": "e",
283                                          "decorators": [],
284                                          "loc": {
285                                            "start": {
286                                              "line": 21,
287                                              "column": 19
288                                            },
289                                            "end": {
290                                              "line": 21,
291                                              "column": 20
292                                            }
293                                          }
294                                        },
295                                        "typeAnnotation": {
296                                          "type": "ETSTypeReference",
297                                          "part": {
298                                            "type": "ETSTypeReferencePart",
299                                            "name": {
300                                              "type": "Identifier",
301                                              "name": "Exception",
302                                              "decorators": [],
303                                              "loc": {
304                                                "start": {
305                                                  "line": 21,
306                                                  "column": 24
307                                                },
308                                                "end": {
309                                                  "line": 21,
310                                                  "column": 33
311                                                }
312                                              }
313                                            },
314                                            "loc": {
315                                              "start": {
316                                                "line": 21,
317                                                "column": 24
318                                              },
319                                              "end": {
320                                                "line": 21,
321                                                "column": 34
322                                              }
323                                            }
324                                          },
325                                          "loc": {
326                                            "start": {
327                                              "line": 21,
328                                              "column": 24
329                                            },
330                                            "end": {
331                                              "line": 21,
332                                              "column": 34
333                                            }
334                                          }
335                                        },
336                                        "loc": {
337                                          "start": {
338                                            "line": 21,
339                                            "column": 19
340                                          },
341                                          "end": {
342                                            "line": 21,
343                                            "column": 20
344                                          }
345                                        }
346                                      },
347                                      "loc": {
348                                        "start": {
349                                          "line": 21,
350                                          "column": 13
351                                        },
352                                        "end": {
353                                          "line": 21,
354                                          "column": 34
355                                        }
356                                      }
357                                    }
358                                  ],
359                                  "loc": {
360                                    "start": {
361                                      "line": 20,
362                                      "column": 21
363                                    },
364                                    "end": {
365                                      "line": 22,
366                                      "column": 10
367                                    }
368                                  }
369                                },
370                                "param": {
371                                  "type": "Identifier",
372                                  "name": "e",
373                                  "decorators": [],
374                                  "loc": {
375                                    "start": {
376                                      "line": 20,
377                                      "column": 18
378                                    },
379                                    "end": {
380                                      "line": 20,
381                                      "column": 19
382                                    }
383                                  }
384                                },
385                                "loc": {
386                                  "start": {
387                                    "line": 20,
388                                    "column": 11
389                                  },
390                                  "end": {
391                                    "line": 22,
392                                    "column": 10
393                                  }
394                                }
395                              }
396                            ],
397                            "finalizer": null,
398                            "loc": {
399                              "start": {
400                                "line": 18,
401                                "column": 9
402                              },
403                              "end": {
404                                "line": 22,
405                                "column": 10
406                              }
407                            }
408                          }
409                        ],
410                        "loc": {
411                          "start": {
412                            "line": 17,
413                            "column": 9
414                          },
415                          "end": {
416                            "line": 23,
417                            "column": 6
418                          }
419                        }
420                      },
421                      "handler": [
422                        {
423                          "type": "CatchClause",
424                          "body": {
425                            "type": "BlockStatement",
426                            "statements": [],
427                            "loc": {
428                              "start": {
429                                "line": 23,
430                                "column": 17
431                              },
432                              "end": {
433                                "line": 25,
434                                "column": 6
435                              }
436                            }
437                          },
438                          "param": {
439                            "type": "Identifier",
440                            "name": "e",
441                            "decorators": [],
442                            "loc": {
443                              "start": {
444                                "line": 23,
445                                "column": 14
446                              },
447                              "end": {
448                                "line": 23,
449                                "column": 15
450                              }
451                            }
452                          },
453                          "loc": {
454                            "start": {
455                              "line": 23,
456                              "column": 7
457                            },
458                            "end": {
459                              "line": 25,
460                              "column": 6
461                            }
462                          }
463                        }
464                      ],
465                      "finalizer": null,
466                      "loc": {
467                        "start": {
468                          "line": 17,
469                          "column": 5
470                        },
471                        "end": {
472                          "line": 25,
473                          "column": 6
474                        }
475                      }
476                    }
477                  ],
478                  "loc": {
479                    "start": {
480                      "line": 16,
481                      "column": 27
482                    },
483                    "end": {
484                      "line": 26,
485                      "column": 2
486                    }
487                  }
488                },
489                "loc": {
490                  "start": {
491                    "line": 16,
492                    "column": 18
493                  },
494                  "end": {
495                    "line": 26,
496                    "column": 2
497                  }
498                }
499              },
500              "loc": {
501                "start": {
502                  "line": 16,
503                  "column": 18
504                },
505                "end": {
506                  "line": 26,
507                  "column": 2
508                }
509              }
510            },
511            "overloads": [],
512            "decorators": [],
513            "loc": {
514              "start": {
515                "line": 16,
516                "column": 1
517              },
518              "end": {
519                "line": 26,
520                "column": 2
521              }
522            }
523          }
524        ],
525        "loc": {
526          "start": {
527            "line": 1,
528            "column": 1
529          },
530          "end": {
531            "line": 1,
532            "column": 1
533          }
534        }
535      },
536      "loc": {
537        "start": {
538          "line": 1,
539          "column": 1
540        },
541        "end": {
542          "line": 1,
543          "column": 1
544        }
545      }
546    }
547  ],
548  "loc": {
549    "start": {
550      "line": 1,
551      "column": 1
552    },
553    "end": {
554      "line": 27,
555      "column": 1
556    }
557  }
558}
559