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": "f",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 10
129                },
130                "end": {
131                  "line": 16,
132                  "column": 11
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": "f",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 10
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 11
157                    }
158                  }
159                },
160                "generator": false,
161                "async": false,
162                "expression": false,
163                "params": [
164                  {
165                    "type": "ETSParameterExpression",
166                    "name": {
167                      "type": "Identifier",
168                      "name": "s",
169                      "typeAnnotation": {
170                        "type": "ETSPrimitiveType",
171                        "loc": {
172                          "start": {
173                            "line": 16,
174                            "column": 15
175                          },
176                          "end": {
177                            "line": 16,
178                            "column": 18
179                          }
180                        }
181                      },
182                      "decorators": [],
183                      "loc": {
184                        "start": {
185                          "line": 16,
186                          "column": 12
187                        },
188                        "end": {
189                          "line": 16,
190                          "column": 18
191                        }
192                      }
193                    },
194                    "loc": {
195                      "start": {
196                        "line": 16,
197                        "column": 12
198                      },
199                      "end": {
200                        "line": 16,
201                        "column": 18
202                      }
203                    }
204                  }
205                ],
206                "returnType": {
207                  "type": "ETSPrimitiveType",
208                  "loc": {
209                    "start": {
210                      "line": 16,
211                      "column": 21
212                    },
213                    "end": {
214                      "line": 16,
215                      "column": 24
216                    }
217                  }
218                },
219                "body": {
220                  "type": "BlockStatement",
221                  "statements": [
222                    {
223                      "type": "SwitchStatement",
224                      "discriminant": {
225                        "type": "Identifier",
226                        "name": "s",
227                        "decorators": [],
228                        "loc": {
229                          "start": {
230                            "line": 17,
231                            "column": 10
232                          },
233                          "end": {
234                            "line": 17,
235                            "column": 11
236                          }
237                        }
238                      },
239                      "cases": [
240                        {
241                          "type": "SwitchCase",
242                          "test": {
243                            "type": "NumberLiteral",
244                            "value": 1,
245                            "loc": {
246                              "start": {
247                                "line": 18,
248                                "column": 8
249                              },
250                              "end": {
251                                "line": 18,
252                                "column": 9
253                              }
254                            }
255                          },
256                          "consequent": [
257                            {
258                              "type": "BreakStatement",
259                              "label": null,
260                              "loc": {
261                                "start": {
262                                  "line": 19,
263                                  "column": 4
264                                },
265                                "end": {
266                                  "line": 20,
267                                  "column": 7
268                                }
269                              }
270                            }
271                          ],
272                          "loc": {
273                            "start": {
274                              "line": 18,
275                              "column": 3
276                            },
277                            "end": {
278                              "line": 20,
279                              "column": 7
280                            }
281                          }
282                        },
283                        {
284                          "type": "SwitchCase",
285                          "test": {
286                            "type": "NumberLiteral",
287                            "value": 2,
288                            "loc": {
289                              "start": {
290                                "line": 20,
291                                "column": 8
292                              },
293                              "end": {
294                                "line": 20,
295                                "column": 9
296                              }
297                            }
298                          },
299                          "consequent": [
300                            {
301                              "type": "BreakStatement",
302                              "label": null,
303                              "loc": {
304                                "start": {
305                                  "line": 21,
306                                  "column": 4
307                                },
308                                "end": {
309                                  "line": 22,
310                                  "column": 3
311                                }
312                              }
313                            }
314                          ],
315                          "loc": {
316                            "start": {
317                              "line": 20,
318                              "column": 3
319                            },
320                            "end": {
321                              "line": 22,
322                              "column": 3
323                            }
324                          }
325                        }
326                      ],
327                      "loc": {
328                        "start": {
329                          "line": 17,
330                          "column": 2
331                        },
332                        "end": {
333                          "line": 22,
334                          "column": 3
335                        }
336                      }
337                    },
338                    {
339                      "type": "ReturnStatement",
340                      "argument": {
341                        "type": "NumberLiteral",
342                        "value": 1,
343                        "loc": {
344                          "start": {
345                            "line": 23,
346                            "column": 9
347                          },
348                          "end": {
349                            "line": 23,
350                            "column": 10
351                          }
352                        }
353                      },
354                      "loc": {
355                        "start": {
356                          "line": 23,
357                          "column": 2
358                        },
359                        "end": {
360                          "line": 23,
361                          "column": 10
362                        }
363                      }
364                    }
365                  ],
366                  "loc": {
367                    "start": {
368                      "line": 16,
369                      "column": 25
370                    },
371                    "end": {
372                      "line": 24,
373                      "column": 2
374                    }
375                  }
376                },
377                "loc": {
378                  "start": {
379                    "line": 16,
380                    "column": 11
381                  },
382                  "end": {
383                    "line": 24,
384                    "column": 2
385                  }
386                }
387              },
388              "loc": {
389                "start": {
390                  "line": 16,
391                  "column": 11
392                },
393                "end": {
394                  "line": 24,
395                  "column": 2
396                }
397              }
398            },
399            "overloads": [],
400            "decorators": [],
401            "loc": {
402              "start": {
403                "line": 16,
404                "column": 1
405              },
406              "end": {
407                "line": 24,
408                "column": 2
409              }
410            }
411          }
412        ],
413        "loc": {
414          "start": {
415            "line": 1,
416            "column": 1
417          },
418          "end": {
419            "line": 1,
420            "column": 1
421          }
422        }
423      },
424      "loc": {
425        "start": {
426          "line": 1,
427          "column": 1
428        },
429        "end": {
430          "line": 1,
431          "column": 1
432        }
433      }
434    }
435  ],
436  "loc": {
437    "start": {
438      "line": 1,
439      "column": 1
440    },
441    "end": {
442      "line": 25,
443      "column": 1
444    }
445  }
446}
447