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