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": "main",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 10
129                },
130                "end": {
131                  "line": 16,
132                  "column": 14
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": "main",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 10
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 14
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": 19
170                    },
171                    "end": {
172                      "line": 16,
173                      "column": 23
174                    }
175                  }
176                },
177                "body": {
178                  "type": "BlockStatement",
179                  "statements": [
180                    {
181                      "type": "VariableDeclaration",
182                      "declarations": [
183                        {
184                          "type": "VariableDeclarator",
185                          "id": {
186                            "type": "Identifier",
187                            "name": "a",
188                            "typeAnnotation": {
189                              "type": "ETSUnionType",
190                              "types": [
191                                {
192                                  "type": "ETSPrimitiveType",
193                                  "loc": {
194                                    "start": {
195                                      "line": 17,
196                                      "column": 11
197                                    },
198                                    "end": {
199                                      "line": 17,
200                                      "column": 14
201                                    }
202                                  }
203                                },
204                                {
205                                  "type": "ETSUndefinedType",
206                                  "loc": {
207                                    "start": {
208                                      "line": 17,
209                                      "column": 15
210                                    },
211                                    "end": {
212                                      "line": 17,
213                                      "column": 24
214                                    }
215                                  }
216                                }
217                              ],
218                              "loc": {
219                                "start": {
220                                  "line": 17,
221                                  "column": 11
222                                },
223                                "end": {
224                                  "line": 17,
225                                  "column": 24
226                                }
227                              }
228                            },
229                            "decorators": [],
230                            "loc": {
231                              "start": {
232                                "line": 17,
233                                "column": 7
234                              },
235                              "end": {
236                                "line": 17,
237                                "column": 8
238                              }
239                            }
240                          },
241                          "init": null,
242                          "loc": {
243                            "start": {
244                              "line": 17,
245                              "column": 7
246                            },
247                            "end": {
248                              "line": 17,
249                              "column": 8
250                            }
251                          }
252                        }
253                      ],
254                      "kind": "let",
255                      "loc": {
256                        "start": {
257                          "line": 17,
258                          "column": 3
259                        },
260                        "end": {
261                          "line": 17,
262                          "column": 25
263                        }
264                      }
265                    },
266                    {
267                      "type": "ExpressionStatement",
268                      "expression": {
269                        "type": "TSNonNullExpression",
270                        "expression": {
271                          "type": "Identifier",
272                          "name": "a",
273                          "decorators": [],
274                          "loc": {
275                            "start": {
276                              "line": 18,
277                              "column": 3
278                            },
279                            "end": {
280                              "line": 18,
281                              "column": 4
282                            }
283                          }
284                        },
285                        "loc": {
286                          "start": {
287                            "line": 18,
288                            "column": 3
289                          },
290                          "end": {
291                            "line": 18,
292                            "column": 5
293                          }
294                        }
295                      },
296                      "loc": {
297                        "start": {
298                          "line": 18,
299                          "column": 3
300                        },
301                        "end": {
302                          "line": 18,
303                          "column": 6
304                        }
305                      }
306                    }
307                  ],
308                  "loc": {
309                    "start": {
310                      "line": 16,
311                      "column": 24
312                    },
313                    "end": {
314                      "line": 19,
315                      "column": 2
316                    }
317                  }
318                },
319                "loc": {
320                  "start": {
321                    "line": 16,
322                    "column": 14
323                  },
324                  "end": {
325                    "line": 19,
326                    "column": 2
327                  }
328                }
329              },
330              "loc": {
331                "start": {
332                  "line": 16,
333                  "column": 14
334                },
335                "end": {
336                  "line": 19,
337                  "column": 2
338                }
339              }
340            },
341            "overloads": [],
342            "decorators": [],
343            "loc": {
344              "start": {
345                "line": 16,
346                "column": 1
347              },
348              "end": {
349                "line": 19,
350                "column": 2
351              }
352            }
353          }
354        ],
355        "loc": {
356          "start": {
357            "line": 1,
358            "column": 1
359          },
360          "end": {
361            "line": 1,
362            "column": 1
363          }
364        }
365      },
366      "loc": {
367        "start": {
368          "line": 1,
369          "column": 1
370        },
371        "end": {
372          "line": 1,
373          "column": 1
374        }
375      }
376    }
377  ],
378  "loc": {
379    "start": {
380      "line": 1,
381      "column": 1
382    },
383    "end": {
384      "line": 20,
385      "column": 1
386    }
387  }
388}
389