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": "baz",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 18
129                },
130                "end": {
131                  "line": 16,
132                  "column": 21
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": "baz",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 18
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 21
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": "x",
169                      "typeAnnotation": {
170                        "type": "ETSUnionType",
171                        "types": [
172                          {
173                            "type": "ETSPrimitiveType",
174                            "loc": {
175                              "start": {
176                                "line": 16,
177                                "column": 27
178                              },
179                              "end": {
180                                "line": 16,
181                                "column": 30
182                              }
183                            }
184                          },
185                          {
186                            "type": "ETSUndefinedType",
187                            "loc": {
188                              "start": {
189                                "line": 16,
190                                "column": 23
191                              },
192                              "end": {
193                                "line": 16,
194                                "column": 24
195                              }
196                            }
197                          }
198                        ],
199                        "loc": {
200                          "start": {
201                            "line": 16,
202                            "column": 27
203                          },
204                          "end": {
205                            "line": 16,
206                            "column": 30
207                          }
208                        }
209                      },
210                      "decorators": [],
211                      "loc": {
212                        "start": {
213                          "line": 16,
214                          "column": 22
215                        },
216                        "end": {
217                          "line": 16,
218                          "column": 30
219                        }
220                      }
221                    },
222                    "loc": {
223                      "start": {
224                        "line": 16,
225                        "column": 22
226                      },
227                      "end": {
228                        "line": 16,
229                        "column": 30
230                      }
231                    }
232                  },
233                  {
234                    "type": "ETSParameterExpression",
235                    "name": {
236                      "type": "Identifier",
237                      "name": "y",
238                      "typeAnnotation": {
239                        "type": "ETSUnionType",
240                        "types": [
241                          {
242                            "type": "ETSTypeReference",
243                            "part": {
244                              "type": "ETSTypeReferencePart",
245                              "name": {
246                                "type": "Identifier",
247                                "name": "number",
248                                "decorators": [],
249                                "loc": {
250                                  "start": {
251                                    "line": 16,
252                                    "column": 36
253                                  },
254                                  "end": {
255                                    "line": 16,
256                                    "column": 42
257                                  }
258                                }
259                              },
260                              "loc": {
261                                "start": {
262                                  "line": 16,
263                                  "column": 36
264                                },
265                                "end": {
266                                  "line": 16,
267                                  "column": 43
268                                }
269                              }
270                            },
271                            "loc": {
272                              "start": {
273                                "line": 16,
274                                "column": 36
275                              },
276                              "end": {
277                                "line": 16,
278                                "column": 43
279                              }
280                            }
281                          },
282                          {
283                            "type": "ETSUndefinedType",
284                            "loc": {
285                              "start": {
286                                "line": 16,
287                                "column": 33
288                              },
289                              "end": {
290                                "line": 16,
291                                "column": 34
292                              }
293                            }
294                          }
295                        ],
296                        "loc": {
297                          "start": {
298                            "line": 16,
299                            "column": 36
300                          },
301                          "end": {
302                            "line": 16,
303                            "column": 43
304                          }
305                        }
306                      },
307                      "decorators": [],
308                      "loc": {
309                        "start": {
310                          "line": 16,
311                          "column": 32
312                        },
313                        "end": {
314                          "line": 16,
315                          "column": 43
316                        }
317                      }
318                    },
319                    "loc": {
320                      "start": {
321                        "line": 16,
322                        "column": 32
323                      },
324                      "end": {
325                        "line": 16,
326                        "column": 43
327                      }
328                    }
329                  }
330                ],
331                "returnType": {
332                  "type": "ETSPrimitiveType",
333                  "loc": {
334                    "start": {
335                      "line": 16,
336                      "column": 46
337                    },
338                    "end": {
339                      "line": 16,
340                      "column": 50
341                    }
342                  }
343                },
344                "declare": true,
345                "loc": {
346                  "start": {
347                    "line": 16,
348                    "column": 21
349                  },
350                  "end": {
351                    "line": 16,
352                    "column": 21
353                  }
354                }
355              },
356              "loc": {
357                "start": {
358                  "line": 16,
359                  "column": 21
360                },
361                "end": {
362                  "line": 16,
363                  "column": 21
364                }
365              }
366            },
367            "overloads": [
368              {
369                "type": "MethodDefinition",
370                "key": {
371                  "type": "Identifier",
372                  "name": "baz",
373                  "decorators": [],
374                  "loc": {
375                    "start": {
376                      "line": 16,
377                      "column": 18
378                    },
379                    "end": {
380                      "line": 16,
381                      "column": 21
382                    }
383                  }
384                },
385                "kind": "method",
386                "accessibility": "public",
387                "static": true,
388                "optional": false,
389                "computed": false,
390                "value": {
391                  "type": "FunctionExpression",
392                  "function": {
393                    "type": "ScriptFunction",
394                    "id": {
395                      "type": "Identifier",
396                      "name": "baz",
397                      "decorators": [],
398                      "loc": {
399                        "start": {
400                          "line": 16,
401                          "column": 18
402                        },
403                        "end": {
404                          "line": 16,
405                          "column": 21
406                        }
407                      }
408                    },
409                    "generator": false,
410                    "async": false,
411                    "expression": false,
412                    "params": [
413                      {
414                        "type": "ETSParameterExpression",
415                        "name": {
416                          "type": "Identifier",
417                          "name": "x",
418                          "typeAnnotation": {
419                            "type": "ETSUnionType",
420                            "types": [
421                              {
422                                "type": "ETSPrimitiveType",
423                                "loc": {
424                                  "start": {
425                                    "line": 16,
426                                    "column": 27
427                                  },
428                                  "end": {
429                                    "line": 16,
430                                    "column": 30
431                                  }
432                                }
433                              },
434                              {
435                                "type": "ETSUndefinedType",
436                                "loc": {
437                                  "start": {
438                                    "line": 1,
439                                    "column": 1
440                                  },
441                                  "end": {
442                                    "line": 1,
443                                    "column": 1
444                                  }
445                                }
446                              }
447                            ],
448                            "loc": {
449                              "start": {
450                                "line": 1,
451                                "column": 1
452                              },
453                              "end": {
454                                "line": 1,
455                                "column": 1
456                              }
457                            }
458                          },
459                          "decorators": [],
460                          "loc": {
461                            "start": {
462                              "line": 16,
463                              "column": 22
464                            },
465                            "end": {
466                              "line": 16,
467                              "column": 30
468                            }
469                          }
470                        },
471                        "loc": {
472                          "start": {
473                            "line": 1,
474                            "column": 1
475                          },
476                          "end": {
477                            "line": 1,
478                            "column": 1
479                          }
480                        }
481                      }
482                    ],
483                    "returnType": {
484                      "type": "ETSPrimitiveType",
485                      "loc": {
486                        "start": {
487                          "line": 16,
488                          "column": 46
489                        },
490                        "end": {
491                          "line": 16,
492                          "column": 50
493                        }
494                      }
495                    },
496                    "loc": {
497                      "start": {
498                        "line": 606,
499                        "column": 1
500                      },
501                      "end": {
502                        "line": 606,
503                        "column": 1
504                      }
505                    }
506                  },
507                  "loc": {
508                    "start": {
509                      "line": 1,
510                      "column": 1
511                    },
512                    "end": {
513                      "line": 1,
514                      "column": 1
515                    }
516                  }
517                },
518                "overloads": [],
519                "decorators": [],
520                "loc": {
521                  "start": {
522                    "line": 16,
523                    "column": 1
524                  },
525                  "end": {
526                    "line": 1,
527                    "column": 1
528                  }
529                }
530              },
531              {
532                "type": "MethodDefinition",
533                "key": {
534                  "type": "Identifier",
535                  "name": "baz",
536                  "decorators": [],
537                  "loc": {
538                    "start": {
539                      "line": 16,
540                      "column": 18
541                    },
542                    "end": {
543                      "line": 16,
544                      "column": 21
545                    }
546                  }
547                },
548                "kind": "method",
549                "accessibility": "public",
550                "static": true,
551                "optional": false,
552                "computed": false,
553                "value": {
554                  "type": "FunctionExpression",
555                  "function": {
556                    "type": "ScriptFunction",
557                    "id": {
558                      "type": "Identifier",
559                      "name": "baz",
560                      "decorators": [],
561                      "loc": {
562                        "start": {
563                          "line": 16,
564                          "column": 18
565                        },
566                        "end": {
567                          "line": 16,
568                          "column": 21
569                        }
570                      }
571                    },
572                    "generator": false,
573                    "async": false,
574                    "expression": false,
575                    "params": [],
576                    "returnType": {
577                      "type": "ETSPrimitiveType",
578                      "loc": {
579                        "start": {
580                          "line": 16,
581                          "column": 46
582                        },
583                        "end": {
584                          "line": 16,
585                          "column": 50
586                        }
587                      }
588                    },
589                    "loc": {
590                      "start": {
591                        "line": 606,
592                        "column": 1
593                      },
594                      "end": {
595                        "line": 606,
596                        "column": 1
597                      }
598                    }
599                  },
600                  "loc": {
601                    "start": {
602                      "line": 1,
603                      "column": 1
604                    },
605                    "end": {
606                      "line": 1,
607                      "column": 1
608                    }
609                  }
610                },
611                "overloads": [],
612                "decorators": [],
613                "loc": {
614                  "start": {
615                    "line": 16,
616                    "column": 1
617                  },
618                  "end": {
619                    "line": 1,
620                    "column": 1
621                  }
622                }
623              }
624            ],
625            "decorators": [],
626            "loc": {
627              "start": {
628                "line": 16,
629                "column": 1
630              },
631              "end": {
632                "line": 16,
633                "column": 21
634              }
635            }
636          },
637          {
638            "type": "MethodDefinition",
639            "key": {
640              "type": "Identifier",
641              "name": "main",
642              "decorators": [],
643              "loc": {
644                "start": {
645                  "line": 18,
646                  "column": 10
647                },
648                "end": {
649                  "line": 18,
650                  "column": 14
651                }
652              }
653            },
654            "kind": "method",
655            "accessibility": "public",
656            "static": true,
657            "optional": false,
658            "computed": false,
659            "value": {
660              "type": "FunctionExpression",
661              "function": {
662                "type": "ScriptFunction",
663                "id": {
664                  "type": "Identifier",
665                  "name": "main",
666                  "decorators": [],
667                  "loc": {
668                    "start": {
669                      "line": 18,
670                      "column": 10
671                    },
672                    "end": {
673                      "line": 18,
674                      "column": 14
675                    }
676                  }
677                },
678                "generator": false,
679                "async": false,
680                "expression": false,
681                "params": [],
682                "body": {
683                  "type": "BlockStatement",
684                  "statements": [],
685                  "loc": {
686                    "start": {
687                      "line": 18,
688                      "column": 17
689                    },
690                    "end": {
691                      "line": 19,
692                      "column": 2
693                    }
694                  }
695                },
696                "loc": {
697                  "start": {
698                    "line": 18,
699                    "column": 14
700                  },
701                  "end": {
702                    "line": 19,
703                    "column": 2
704                  }
705                }
706              },
707              "loc": {
708                "start": {
709                  "line": 18,
710                  "column": 14
711                },
712                "end": {
713                  "line": 19,
714                  "column": 2
715                }
716              }
717            },
718            "overloads": [],
719            "decorators": [],
720            "loc": {
721              "start": {
722                "line": 18,
723                "column": 1
724              },
725              "end": {
726                "line": 19,
727                "column": 2
728              }
729            }
730          }
731        ],
732        "loc": {
733          "start": {
734            "line": 1,
735            "column": 1
736          },
737          "end": {
738            "line": 1,
739            "column": 1
740          }
741        }
742      },
743      "loc": {
744        "start": {
745          "line": 1,
746          "column": 1
747        },
748        "end": {
749          "line": 1,
750          "column": 1
751        }
752      }
753    }
754  ],
755  "loc": {
756    "start": {
757      "line": 1,
758      "column": 1
759    },
760    "end": {
761      "line": 20,
762      "column": 1
763    }
764  }
765}
766