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": "foo",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 10
129                },
130                "end": {
131                  "line": 16,
132                  "column": 13
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": "foo",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 10
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 13
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": "exec",
169                      "typeAnnotation": {
170                        "type": "ETSUnionType",
171                        "types": [
172                          {
173                            "type": "ETSFunctionType",
174                            "params": [],
175                            "returnType": {
176                              "type": "ETSPrimitiveType",
177                              "loc": {
178                                "start": {
179                                  "line": 16,
180                                  "column": 27
181                                },
182                                "end": {
183                                  "line": 16,
184                                  "column": 31
185                                }
186                              }
187                            },
188                            "loc": {
189                              "start": {
190                                "line": 16,
191                                "column": 21
192                              },
193                              "end": {
194                                "line": 16,
195                                "column": 31
196                              }
197                            }
198                          },
199                          {
200                            "type": "ETSUndefinedType",
201                            "loc": {
202                              "start": {
203                                "line": 16,
204                                "column": 18
205                              },
206                              "end": {
207                                "line": 16,
208                                "column": 19
209                              }
210                            }
211                          }
212                        ],
213                        "loc": {
214                          "start": {
215                            "line": 16,
216                            "column": 21
217                          },
218                          "end": {
219                            "line": 16,
220                            "column": 31
221                          }
222                        }
223                      },
224                      "decorators": [],
225                      "loc": {
226                        "start": {
227                          "line": 16,
228                          "column": 14
229                        },
230                        "end": {
231                          "line": 16,
232                          "column": 31
233                        }
234                      }
235                    },
236                    "loc": {
237                      "start": {
238                        "line": 16,
239                        "column": 14
240                      },
241                      "end": {
242                        "line": 16,
243                        "column": 31
244                      }
245                    }
246                  }
247                ],
248                "returnType": {
249                  "type": "ETSPrimitiveType",
250                  "loc": {
251                    "start": {
252                      "line": 16,
253                      "column": 34
254                    },
255                    "end": {
256                      "line": 16,
257                      "column": 38
258                    }
259                  }
260                },
261                "body": {
262                  "type": "BlockStatement",
263                  "statements": [
264                    {
265                      "type": "ExpressionStatement",
266                      "expression": {
267                        "type": "BlockExpression",
268                        "statements": [
269                          {
270                            "type": "VariableDeclaration",
271                            "declarations": [
272                              {
273                                "type": "VariableDeclarator",
274                                "id": {
275                                  "type": "Identifier",
276                                  "name": "gensym$_4",
277                                  "decorators": [],
278                                  "loc": {
279                                    "start": {
280                                      "line": 1,
281                                      "column": 3
282                                    },
283                                    "end": {
284                                      "line": 1,
285                                      "column": 3
286                                    }
287                                  }
288                                },
289                                "init": {
290                                  "type": "Identifier",
291                                  "name": "exec",
292                                  "decorators": [],
293                                  "loc": {
294                                    "start": {
295                                      "line": 17,
296                                      "column": 5
297                                    },
298                                    "end": {
299                                      "line": 17,
300                                      "column": 9
301                                    }
302                                  }
303                                },
304                                "loc": {
305                                  "start": {
306                                    "line": 1,
307                                    "column": 3
308                                  },
309                                  "end": {
310                                    "line": 1,
311                                    "column": 3
312                                  }
313                                }
314                              }
315                            ],
316                            "kind": "let",
317                            "loc": {
318                              "start": {
319                                "line": 17,
320                                "column": 5
321                              },
322                              "end": {
323                                "line": 17,
324                                "column": 13
325                              }
326                            }
327                          },
328                          {
329                            "type": "ExpressionStatement",
330                            "expression": {
331                              "type": "ConditionalExpression",
332                              "test": {
333                                "type": "BinaryExpression",
334                                "operator": "==",
335                                "left": {
336                                  "type": "Identifier",
337                                  "name": "gensym$_4",
338                                  "decorators": [],
339                                  "loc": {
340                                    "start": {
341                                      "line": 1,
342                                      "column": 3
343                                    },
344                                    "end": {
345                                      "line": 1,
346                                      "column": 3
347                                    }
348                                  }
349                                },
350                                "right": {
351                                  "type": "NullLiteral",
352                                  "value": null,
353                                  "loc": {
354                                    "start": {
355                                      "line": 1,
356                                      "column": 3
357                                    },
358                                    "end": {
359                                      "line": 1,
360                                      "column": 3
361                                    }
362                                  }
363                                },
364                                "loc": {
365                                  "start": {
366                                    "line": 1,
367                                    "column": 3
368                                  },
369                                  "end": {
370                                    "line": 1,
371                                    "column": 3
372                                  }
373                                }
374                              },
375                              "consequent": {
376                                "type": "UndefinedLiteral",
377                                "value": undefined,
378                                "loc": {
379                                  "start": {
380                                    "line": 1,
381                                    "column": 3
382                                  },
383                                  "end": {
384                                    "line": 1,
385                                    "column": 3
386                                  }
387                                }
388                              },
389                              "alternate": {
390                                "type": "CallExpression",
391                                "callee": {
392                                  "type": "Identifier",
393                                  "name": "gensym$_4",
394                                  "decorators": [],
395                                  "loc": {
396                                    "start": {
397                                      "line": 17,
398                                      "column": 5
399                                    },
400                                    "end": {
401                                      "line": 17,
402                                      "column": 13
403                                    }
404                                  }
405                                },
406                                "arguments": [],
407                                "optional": false,
408                                "loc": {
409                                  "start": {
410                                    "line": 17,
411                                    "column": 5
412                                  },
413                                  "end": {
414                                    "line": 17,
415                                    "column": 13
416                                  }
417                                }
418                              },
419                              "loc": {
420                                "start": {
421                                  "line": 1,
422                                  "column": 3
423                                },
424                                "end": {
425                                  "line": 1,
426                                  "column": 3
427                                }
428                              }
429                            },
430                            "loc": {
431                              "start": {
432                                "line": 1,
433                                "column": 3
434                              },
435                              "end": {
436                                "line": 1,
437                                "column": 3
438                              }
439                            }
440                          }
441                        ],
442                        "loc": {
443                          "start": {
444                            "line": 17,
445                            "column": 5
446                          },
447                          "end": {
448                            "line": 17,
449                            "column": 13
450                          }
451                        }
452                      },
453                      "loc": {
454                        "start": {
455                          "line": 17,
456                          "column": 5
457                        },
458                        "end": {
459                          "line": 17,
460                          "column": 13
461                        }
462                      }
463                    }
464                  ],
465                  "loc": {
466                    "start": {
467                      "line": 16,
468                      "column": 39
469                    },
470                    "end": {
471                      "line": 18,
472                      "column": 2
473                    }
474                  }
475                },
476                "loc": {
477                  "start": {
478                    "line": 16,
479                    "column": 13
480                  },
481                  "end": {
482                    "line": 18,
483                    "column": 2
484                  }
485                }
486              },
487              "loc": {
488                "start": {
489                  "line": 16,
490                  "column": 13
491                },
492                "end": {
493                  "line": 18,
494                  "column": 2
495                }
496              }
497            },
498            "overloads": [
499              {
500                "type": "MethodDefinition",
501                "key": {
502                  "type": "Identifier",
503                  "name": "foo",
504                  "decorators": [],
505                  "loc": {
506                    "start": {
507                      "line": 16,
508                      "column": 10
509                    },
510                    "end": {
511                      "line": 16,
512                      "column": 13
513                    }
514                  }
515                },
516                "kind": "method",
517                "accessibility": "public",
518                "static": true,
519                "optional": false,
520                "computed": false,
521                "value": {
522                  "type": "FunctionExpression",
523                  "function": {
524                    "type": "ScriptFunction",
525                    "id": {
526                      "type": "Identifier",
527                      "name": "foo",
528                      "decorators": [],
529                      "loc": {
530                        "start": {
531                          "line": 16,
532                          "column": 10
533                        },
534                        "end": {
535                          "line": 16,
536                          "column": 13
537                        }
538                      }
539                    },
540                    "generator": false,
541                    "async": false,
542                    "expression": false,
543                    "params": [],
544                    "returnType": {
545                      "type": "ETSPrimitiveType",
546                      "loc": {
547                        "start": {
548                          "line": 16,
549                          "column": 34
550                        },
551                        "end": {
552                          "line": 16,
553                          "column": 38
554                        }
555                      }
556                    },
557                    "body": {
558                      "type": "BlockStatement",
559                      "statements": [
560                        {
561                          "type": "ReturnStatement",
562                          "argument": {
563                            "type": "CallExpression",
564                            "callee": {
565                              "type": "Identifier",
566                              "name": "foo",
567                              "decorators": [],
568                              "loc": {
569                                "start": {
570                                  "line": 1,
571                                  "column": 1
572                                },
573                                "end": {
574                                  "line": 1,
575                                  "column": 1
576                                }
577                              }
578                            },
579                            "arguments": [
580                              {
581                                "type": "UndefinedLiteral",
582                                "value": undefined,
583                                "loc": {
584                                  "start": {
585                                    "line": 1,
586                                    "column": 1
587                                  },
588                                  "end": {
589                                    "line": 1,
590                                    "column": 1
591                                  }
592                                }
593                              }
594                            ],
595                            "optional": false,
596                            "loc": {
597                              "start": {
598                                "line": 16,
599                                "column": 1
600                              },
601                              "end": {
602                                "line": 18,
603                                "column": 2
604                              }
605                            }
606                          },
607                          "loc": {
608                            "start": {
609                              "line": 1,
610                              "column": 1
611                            },
612                            "end": {
613                              "line": 1,
614                              "column": 1
615                            }
616                          }
617                        }
618                      ],
619                      "loc": {
620                        "start": {
621                          "line": 1,
622                          "column": 1
623                        },
624                        "end": {
625                          "line": 1,
626                          "column": 1
627                        }
628                      }
629                    },
630                    "loc": {
631                      "start": {
632                        "line": 611,
633                        "column": 1
634                      },
635                      "end": {
636                        "line": 611,
637                        "column": 1
638                      }
639                    }
640                  },
641                  "loc": {
642                    "start": {
643                      "line": 1,
644                      "column": 1
645                    },
646                    "end": {
647                      "line": 1,
648                      "column": 1
649                    }
650                  }
651                },
652                "overloads": [],
653                "decorators": [],
654                "loc": {
655                  "start": {
656                    "line": 16,
657                    "column": 1
658                  },
659                  "end": {
660                    "line": 1,
661                    "column": 1
662                  }
663                }
664              }
665            ],
666            "decorators": [],
667            "loc": {
668              "start": {
669                "line": 16,
670                "column": 1
671              },
672              "end": {
673                "line": 18,
674                "column": 2
675              }
676            }
677          },
678          {
679            "type": "MethodDefinition",
680            "key": {
681              "type": "Identifier",
682              "name": "bar",
683              "decorators": [],
684              "loc": {
685                "start": {
686                  "line": 20,
687                  "column": 10
688                },
689                "end": {
690                  "line": 20,
691                  "column": 13
692                }
693              }
694            },
695            "kind": "method",
696            "accessibility": "public",
697            "static": true,
698            "optional": false,
699            "computed": false,
700            "value": {
701              "type": "FunctionExpression",
702              "function": {
703                "type": "ScriptFunction",
704                "id": {
705                  "type": "Identifier",
706                  "name": "bar",
707                  "decorators": [],
708                  "loc": {
709                    "start": {
710                      "line": 20,
711                      "column": 10
712                    },
713                    "end": {
714                      "line": 20,
715                      "column": 13
716                    }
717                  }
718                },
719                "generator": false,
720                "async": false,
721                "expression": false,
722                "params": [],
723                "body": {
724                  "type": "BlockStatement",
725                  "statements": [
726                    {
727                      "type": "ExpressionStatement",
728                      "expression": {
729                        "type": "CallExpression",
730                        "callee": {
731                          "type": "Identifier",
732                          "name": "foo",
733                          "decorators": [],
734                          "loc": {
735                            "start": {
736                              "line": 21,
737                              "column": 5
738                            },
739                            "end": {
740                              "line": 21,
741                              "column": 8
742                            }
743                          }
744                        },
745                        "arguments": [],
746                        "optional": false,
747                        "loc": {
748                          "start": {
749                            "line": 21,
750                            "column": 5
751                          },
752                          "end": {
753                            "line": 21,
754                            "column": 10
755                          }
756                        }
757                      },
758                      "loc": {
759                        "start": {
760                          "line": 21,
761                          "column": 5
762                        },
763                        "end": {
764                          "line": 21,
765                          "column": 10
766                        }
767                      }
768                    },
769                    {
770                      "type": "ExpressionStatement",
771                      "expression": {
772                        "type": "CallExpression",
773                        "callee": {
774                          "type": "Identifier",
775                          "name": "foo",
776                          "decorators": [],
777                          "loc": {
778                            "start": {
779                              "line": 27,
780                              "column": 5
781                            },
782                            "end": {
783                              "line": 27,
784                              "column": 8
785                            }
786                          }
787                        },
788                        "arguments": [],
789                        "optional": false,
790                        "loc": {
791                          "start": {
792                            "line": 27,
793                            "column": 5
794                          },
795                          "end": {
796                            "line": 27,
797                            "column": 10
798                          }
799                        }
800                      },
801                      "loc": {
802                        "start": {
803                          "line": 27,
804                          "column": 5
805                        },
806                        "end": {
807                          "line": 27,
808                          "column": 10
809                        }
810                      }
811                    }
812                  ],
813                  "loc": {
814                    "start": {
815                      "line": 20,
816                      "column": 16
817                    },
818                    "end": {
819                      "line": 28,
820                      "column": 2
821                    }
822                  }
823                },
824                "loc": {
825                  "start": {
826                    "line": 20,
827                    "column": 13
828                  },
829                  "end": {
830                    "line": 28,
831                    "column": 2
832                  }
833                }
834              },
835              "loc": {
836                "start": {
837                  "line": 20,
838                  "column": 13
839                },
840                "end": {
841                  "line": 28,
842                  "column": 2
843                }
844              }
845            },
846            "overloads": [],
847            "decorators": [],
848            "loc": {
849              "start": {
850                "line": 20,
851                "column": 1
852              },
853              "end": {
854                "line": 28,
855                "column": 2
856              }
857            }
858          }
859        ],
860        "loc": {
861          "start": {
862            "line": 1,
863            "column": 1
864          },
865          "end": {
866            "line": 1,
867            "column": 1
868          }
869        }
870      },
871      "loc": {
872        "start": {
873          "line": 1,
874          "column": 1
875        },
876        "end": {
877          "line": 1,
878          "column": 1
879        }
880      }
881    }
882  ],
883  "loc": {
884    "start": {
885      "line": 1,
886      "column": 1
887    },
888    "end": {
889      "line": 29,
890      "column": 1
891    }
892  }
893}
894