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": 18
170                    },
171                    "end": {
172                      "line": 16,
173                      "column": 21
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": "ETSPrimitiveType",
190                              "loc": {
191                                "start": {
192                                  "line": 17,
193                                  "column": 9
194                                },
195                                "end": {
196                                  "line": 17,
197                                  "column": 12
198                                }
199                              }
200                            },
201                            "decorators": [],
202                            "loc": {
203                              "start": {
204                                "line": 17,
205                                "column": 6
206                              },
207                              "end": {
208                                "line": 17,
209                                "column": 7
210                              }
211                            }
212                          },
213                          "init": {
214                            "type": "NumberLiteral",
215                            "value": 2,
216                            "loc": {
217                              "start": {
218                                "line": 17,
219                                "column": 15
220                              },
221                              "end": {
222                                "line": 17,
223                                "column": 16
224                              }
225                            }
226                          },
227                          "loc": {
228                            "start": {
229                              "line": 17,
230                              "column": 6
231                            },
232                            "end": {
233                              "line": 17,
234                              "column": 16
235                            }
236                          }
237                        }
238                      ],
239                      "kind": "let",
240                      "loc": {
241                        "start": {
242                          "line": 17,
243                          "column": 2
244                        },
245                        "end": {
246                          "line": 17,
247                          "column": 17
248                        }
249                      }
250                    },
251                    {
252                      "type": "SwitchStatement",
253                      "discriminant": {
254                        "type": "Identifier",
255                        "name": "a",
256                        "decorators": [],
257                        "loc": {
258                          "start": {
259                            "line": 18,
260                            "column": 10
261                          },
262                          "end": {
263                            "line": 18,
264                            "column": 11
265                          }
266                        }
267                      },
268                      "cases": [
269                        {
270                          "type": "SwitchCase",
271                          "test": {
272                            "type": "NumberLiteral",
273                            "value": 1,
274                            "loc": {
275                              "start": {
276                                "line": 19,
277                                "column": 8
278                              },
279                              "end": {
280                                "line": 19,
281                                "column": 9
282                              }
283                            }
284                          },
285                          "consequent": [
286                            {
287                              "type": "ReturnStatement",
288                              "argument": {
289                                "type": "NumberLiteral",
290                                "value": 1,
291                                "loc": {
292                                  "start": {
293                                    "line": 20,
294                                    "column": 11
295                                  },
296                                  "end": {
297                                    "line": 20,
298                                    "column": 12
299                                  }
300                                }
301                              },
302                              "loc": {
303                                "start": {
304                                  "line": 20,
305                                  "column": 4
306                                },
307                                "end": {
308                                  "line": 20,
309                                  "column": 13
310                                }
311                              }
312                            }
313                          ],
314                          "loc": {
315                            "start": {
316                              "line": 19,
317                              "column": 3
318                            },
319                            "end": {
320                              "line": 20,
321                              "column": 13
322                            }
323                          }
324                        },
325                        {
326                          "type": "SwitchCase",
327                          "test": {
328                            "type": "NumberLiteral",
329                            "value": 2,
330                            "loc": {
331                              "start": {
332                                "line": 21,
333                                "column": 8
334                              },
335                              "end": {
336                                "line": 21,
337                                "column": 9
338                              }
339                            }
340                          },
341                          "consequent": [
342                            {
343                              "type": "ReturnStatement",
344                              "argument": {
345                                "type": "NumberLiteral",
346                                "value": 2,
347                                "loc": {
348                                  "start": {
349                                    "line": 22,
350                                    "column": 11
351                                  },
352                                  "end": {
353                                    "line": 22,
354                                    "column": 12
355                                  }
356                                }
357                              },
358                              "loc": {
359                                "start": {
360                                  "line": 22,
361                                  "column": 4
362                                },
363                                "end": {
364                                  "line": 22,
365                                  "column": 13
366                                }
367                              }
368                            }
369                          ],
370                          "loc": {
371                            "start": {
372                              "line": 21,
373                              "column": 3
374                            },
375                            "end": {
376                              "line": 22,
377                              "column": 13
378                            }
379                          }
380                        },
381                        {
382                          "type": "SwitchCase",
383                          "test": null,
384                          "consequent": [
385                            {
386                              "type": "ReturnStatement",
387                              "argument": {
388                                "type": "NumberLiteral",
389                                "value": 255,
390                                "loc": {
391                                  "start": {
392                                    "line": 24,
393                                    "column": 11
394                                  },
395                                  "end": {
396                                    "line": 24,
397                                    "column": 14
398                                  }
399                                }
400                              },
401                              "loc": {
402                                "start": {
403                                  "line": 24,
404                                  "column": 4
405                                },
406                                "end": {
407                                  "line": 24,
408                                  "column": 15
409                                }
410                              }
411                            }
412                          ],
413                          "loc": {
414                            "start": {
415                              "line": 23,
416                              "column": 3
417                            },
418                            "end": {
419                              "line": 24,
420                              "column": 15
421                            }
422                          }
423                        }
424                      ],
425                      "loc": {
426                        "start": {
427                          "line": 18,
428                          "column": 2
429                        },
430                        "end": {
431                          "line": 25,
432                          "column": 3
433                        }
434                      }
435                    }
436                  ],
437                  "loc": {
438                    "start": {
439                      "line": 16,
440                      "column": 22
441                    },
442                    "end": {
443                      "line": 26,
444                      "column": 2
445                    }
446                  }
447                },
448                "loc": {
449                  "start": {
450                    "line": 16,
451                    "column": 14
452                  },
453                  "end": {
454                    "line": 26,
455                    "column": 2
456                  }
457                }
458              },
459              "loc": {
460                "start": {
461                  "line": 16,
462                  "column": 14
463                },
464                "end": {
465                  "line": 26,
466                  "column": 2
467                }
468              }
469            },
470            "overloads": [],
471            "decorators": [],
472            "loc": {
473              "start": {
474                "line": 16,
475                "column": 1
476              },
477              "end": {
478                "line": 26,
479                "column": 2
480              }
481            }
482          }
483        ],
484        "loc": {
485          "start": {
486            "line": 1,
487            "column": 1
488          },
489          "end": {
490            "line": 1,
491            "column": 1
492          }
493        }
494      },
495      "loc": {
496        "start": {
497          "line": 1,
498          "column": 1
499        },
500        "end": {
501          "line": 1,
502          "column": 1
503        }
504      }
505    }
506  ],
507  "loc": {
508    "start": {
509      "line": 1,
510      "column": 1
511    },
512    "end": {
513      "line": 27,
514      "column": 1
515    }
516  }
517}
518