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                    {
74                      "type": "ExpressionStatement",
75                      "expression": {
76                        "type": "AssignmentExpression",
77                        "operator": "=",
78                        "left": {
79                          "type": "Identifier",
80                          "name": "a",
81                          "decorators": [],
82                          "loc": {
83                            "start": {
84                              "line": 17,
85                              "column": 5
86                            },
87                            "end": {
88                              "line": 17,
89                              "column": 6
90                            }
91                          }
92                        },
93                        "right": {
94                          "type": "ArrayExpression",
95                          "elements": [
96                            {
97                              "type": "NumberLiteral",
98                              "value": 1,
99                              "loc": {
100                                "start": {
101                                  "line": 17,
102                                  "column": 17
103                                },
104                                "end": {
105                                  "line": 17,
106                                  "column": 18
107                                }
108                              }
109                            },
110                            {
111                              "type": "NumberLiteral",
112                              "value": 2,
113                              "loc": {
114                                "start": {
115                                  "line": 17,
116                                  "column": 20
117                                },
118                                "end": {
119                                  "line": 17,
120                                  "column": 21
121                                }
122                              }
123                            },
124                            {
125                              "type": "NumberLiteral",
126                              "value": 3,
127                              "loc": {
128                                "start": {
129                                  "line": 17,
130                                  "column": 23
131                                },
132                                "end": {
133                                  "line": 17,
134                                  "column": 24
135                                }
136                              }
137                            }
138                          ],
139                          "loc": {
140                            "start": {
141                              "line": 17,
142                              "column": 16
143                            },
144                            "end": {
145                              "line": 17,
146                              "column": 25
147                            }
148                          }
149                        },
150                        "loc": {
151                          "start": {
152                            "line": 17,
153                            "column": 5
154                          },
155                          "end": {
156                            "line": 17,
157                            "column": 25
158                          }
159                        }
160                      },
161                      "loc": {
162                        "start": {
163                          "line": 17,
164                          "column": 5
165                        },
166                        "end": {
167                          "line": 17,
168                          "column": 25
169                        }
170                      }
171                    }
172                  ],
173                  "loc": {
174                    "start": {
175                      "line": 1,
176                      "column": 1
177                    },
178                    "end": {
179                      "line": 1,
180                      "column": 1
181                    }
182                  }
183                },
184                "loc": {
185                  "start": {
186                    "line": 1,
187                    "column": 1
188                  },
189                  "end": {
190                    "line": 1,
191                    "column": 1
192                  }
193                }
194              },
195              "loc": {
196                "start": {
197                  "line": 1,
198                  "column": 1
199                },
200                "end": {
201                  "line": 1,
202                  "column": 1
203                }
204              }
205            },
206            "overloads": [],
207            "decorators": [],
208            "loc": {
209              "start": {
210                "line": 1,
211                "column": 1
212              },
213              "end": {
214                "line": 1,
215                "column": 1
216              }
217            }
218          },
219          {
220            "type": "ClassProperty",
221            "key": {
222              "type": "Identifier",
223              "name": "a",
224              "decorators": [],
225              "loc": {
226                "start": {
227                  "line": 17,
228                  "column": 5
229                },
230                "end": {
231                  "line": 17,
232                  "column": 6
233                }
234              }
235            },
236            "accessibility": "public",
237            "static": true,
238            "readonly": false,
239            "declare": false,
240            "optional": false,
241            "computed": false,
242            "typeAnnotation": {
243              "type": "TSArrayType",
244              "elementType": {
245                "type": "ETSPrimitiveType",
246                "loc": {
247                  "start": {
248                    "line": 17,
249                    "column": 8
250                  },
251                  "end": {
252                    "line": 17,
253                    "column": 11
254                  }
255                }
256              },
257              "loc": {
258                "start": {
259                  "line": 17,
260                  "column": 14
261                },
262                "end": {
263                  "line": 17,
264                  "column": 15
265                }
266              }
267            },
268            "definite": false,
269            "decorators": [],
270            "loc": {
271              "start": {
272                "line": 17,
273                "column": 5
274              },
275              "end": {
276                "line": 17,
277                "column": 25
278              }
279            }
280          },
281          {
282            "type": "MethodDefinition",
283            "key": {
284              "type": "Identifier",
285              "name": "main",
286              "decorators": [],
287              "loc": {
288                "start": {
289                  "line": 18,
290                  "column": 10
291                },
292                "end": {
293                  "line": 18,
294                  "column": 14
295                }
296              }
297            },
298            "kind": "method",
299            "accessibility": "public",
300            "static": true,
301            "optional": false,
302            "computed": false,
303            "value": {
304              "type": "FunctionExpression",
305              "function": {
306                "type": "ScriptFunction",
307                "id": {
308                  "type": "Identifier",
309                  "name": "main",
310                  "decorators": [],
311                  "loc": {
312                    "start": {
313                      "line": 18,
314                      "column": 10
315                    },
316                    "end": {
317                      "line": 18,
318                      "column": 14
319                    }
320                  }
321                },
322                "generator": false,
323                "async": false,
324                "expression": false,
325                "params": [],
326                "returnType": {
327                  "type": "ETSPrimitiveType",
328                  "loc": {
329                    "start": {
330                      "line": 18,
331                      "column": 18
332                    },
333                    "end": {
334                      "line": 18,
335                      "column": 22
336                    }
337                  }
338                },
339                "body": {
340                  "type": "BlockStatement",
341                  "statements": [
342                    {
343                      "type": "VariableDeclaration",
344                      "declarations": [
345                        {
346                          "type": "VariableDeclarator",
347                          "id": {
348                            "type": "Identifier",
349                            "name": "res",
350                            "decorators": [],
351                            "loc": {
352                              "start": {
353                                "line": 19,
354                                "column": 7
355                              },
356                              "end": {
357                                "line": 19,
358                                "column": 10
359                              }
360                            }
361                          },
362                          "init": {
363                            "type": "NumberLiteral",
364                            "value": 0,
365                            "loc": {
366                              "start": {
367                                "line": 19,
368                                "column": 13
369                              },
370                              "end": {
371                                "line": 19,
372                                "column": 14
373                              }
374                            }
375                          },
376                          "loc": {
377                            "start": {
378                              "line": 19,
379                              "column": 7
380                            },
381                            "end": {
382                              "line": 19,
383                              "column": 14
384                            }
385                          }
386                        }
387                      ],
388                      "kind": "let",
389                      "loc": {
390                        "start": {
391                          "line": 19,
392                          "column": 3
393                        },
394                        "end": {
395                          "line": 19,
396                          "column": 15
397                        }
398                      }
399                    },
400                    {
401                      "type": "ForOfStatement",
402                      "await": false,
403                      "left": {
404                        "type": "VariableDeclaration",
405                        "declarations": [
406                          {
407                            "type": "VariableDeclarator",
408                            "id": {
409                              "type": "Identifier",
410                              "name": "v",
411                              "decorators": [],
412                              "loc": {
413                                "start": {
414                                  "line": 20,
415                                  "column": 12
416                                },
417                                "end": {
418                                  "line": 20,
419                                  "column": 13
420                                }
421                              }
422                            },
423                            "init": null,
424                            "loc": {
425                              "start": {
426                                "line": 20,
427                                "column": 12
428                              },
429                              "end": {
430                                "line": 20,
431                                "column": 13
432                              }
433                            }
434                          }
435                        ],
436                        "kind": "let",
437                        "loc": {
438                          "start": {
439                            "line": 20,
440                            "column": 8
441                          },
442                          "end": {
443                            "line": 20,
444                            "column": 13
445                          }
446                        }
447                      },
448                      "right": {
449                        "type": "Identifier",
450                        "name": "a",
451                        "decorators": [],
452                        "loc": {
453                          "start": {
454                            "line": 20,
455                            "column": 17
456                          },
457                          "end": {
458                            "line": 20,
459                            "column": 18
460                          }
461                        }
462                      },
463                      "body": {
464                        "type": "BlockStatement",
465                        "statements": [
466                          {
467                            "type": "ExpressionStatement",
468                            "expression": {
469                              "type": "AssignmentExpression",
470                              "operator": "+=",
471                              "left": {
472                                "type": "Identifier",
473                                "name": "res",
474                                "decorators": [],
475                                "loc": {
476                                  "start": {
477                                    "line": 21,
478                                    "column": 5
479                                  },
480                                  "end": {
481                                    "line": 21,
482                                    "column": 8
483                                  }
484                                }
485                              },
486                              "right": {
487                                "type": "Identifier",
488                                "name": "v",
489                                "decorators": [],
490                                "loc": {
491                                  "start": {
492                                    "line": 21,
493                                    "column": 12
494                                  },
495                                  "end": {
496                                    "line": 21,
497                                    "column": 13
498                                  }
499                                }
500                              },
501                              "loc": {
502                                "start": {
503                                  "line": 21,
504                                  "column": 5
505                                },
506                                "end": {
507                                  "line": 21,
508                                  "column": 13
509                                }
510                              }
511                            },
512                            "loc": {
513                              "start": {
514                                "line": 21,
515                                "column": 5
516                              },
517                              "end": {
518                                "line": 21,
519                                "column": 14
520                              }
521                            }
522                          }
523                        ],
524                        "loc": {
525                          "start": {
526                            "line": 20,
527                            "column": 20
528                          },
529                          "end": {
530                            "line": 22,
531                            "column": 4
532                          }
533                        }
534                      },
535                      "loc": {
536                        "start": {
537                          "line": 20,
538                          "column": 3
539                        },
540                        "end": {
541                          "line": 22,
542                          "column": 4
543                        }
544                      }
545                    },
546                    {
547                      "type": "ForOfStatement",
548                      "await": false,
549                      "left": {
550                        "type": "VariableDeclaration",
551                        "declarations": [
552                          {
553                            "type": "VariableDeclarator",
554                            "id": {
555                              "type": "Identifier",
556                              "name": "v",
557                              "decorators": [],
558                              "loc": {
559                                "start": {
560                                  "line": 23,
561                                  "column": 12
562                                },
563                                "end": {
564                                  "line": 23,
565                                  "column": 13
566                                }
567                              }
568                            },
569                            "init": null,
570                            "loc": {
571                              "start": {
572                                "line": 23,
573                                "column": 12
574                              },
575                              "end": {
576                                "line": 23,
577                                "column": 13
578                              }
579                            }
580                          }
581                        ],
582                        "kind": "let",
583                        "loc": {
584                          "start": {
585                            "line": 23,
586                            "column": 8
587                          },
588                          "end": {
589                            "line": 23,
590                            "column": 13
591                          }
592                        }
593                      },
594                      "right": {
595                        "type": "ArrayExpression",
596                        "elements": [
597                          {
598                            "type": "NumberLiteral",
599                            "value": 4,
600                            "loc": {
601                              "start": {
602                                "line": 23,
603                                "column": 18
604                              },
605                              "end": {
606                                "line": 23,
607                                "column": 19
608                              }
609                            }
610                          },
611                          {
612                            "type": "NumberLiteral",
613                            "value": 5,
614                            "loc": {
615                              "start": {
616                                "line": 23,
617                                "column": 21
618                              },
619                              "end": {
620                                "line": 23,
621                                "column": 22
622                              }
623                            }
624                          },
625                          {
626                            "type": "NumberLiteral",
627                            "value": 6,
628                            "loc": {
629                              "start": {
630                                "line": 23,
631                                "column": 24
632                              },
633                              "end": {
634                                "line": 23,
635                                "column": 25
636                              }
637                            }
638                          }
639                        ],
640                        "loc": {
641                          "start": {
642                            "line": 23,
643                            "column": 17
644                          },
645                          "end": {
646                            "line": 23,
647                            "column": 26
648                          }
649                        }
650                      },
651                      "body": {
652                        "type": "BlockStatement",
653                        "statements": [
654                          {
655                            "type": "ExpressionStatement",
656                            "expression": {
657                              "type": "AssignmentExpression",
658                              "operator": "+=",
659                              "left": {
660                                "type": "Identifier",
661                                "name": "res",
662                                "decorators": [],
663                                "loc": {
664                                  "start": {
665                                    "line": 24,
666                                    "column": 5
667                                  },
668                                  "end": {
669                                    "line": 24,
670                                    "column": 8
671                                  }
672                                }
673                              },
674                              "right": {
675                                "type": "Identifier",
676                                "name": "v",
677                                "decorators": [],
678                                "loc": {
679                                  "start": {
680                                    "line": 24,
681                                    "column": 12
682                                  },
683                                  "end": {
684                                    "line": 24,
685                                    "column": 13
686                                  }
687                                }
688                              },
689                              "loc": {
690                                "start": {
691                                  "line": 24,
692                                  "column": 5
693                                },
694                                "end": {
695                                  "line": 24,
696                                  "column": 13
697                                }
698                              }
699                            },
700                            "loc": {
701                              "start": {
702                                "line": 24,
703                                "column": 5
704                              },
705                              "end": {
706                                "line": 24,
707                                "column": 14
708                              }
709                            }
710                          }
711                        ],
712                        "loc": {
713                          "start": {
714                            "line": 23,
715                            "column": 28
716                          },
717                          "end": {
718                            "line": 25,
719                            "column": 4
720                          }
721                        }
722                      },
723                      "loc": {
724                        "start": {
725                          "line": 23,
726                          "column": 3
727                        },
728                        "end": {
729                          "line": 25,
730                          "column": 4
731                        }
732                      }
733                    }
734                  ],
735                  "loc": {
736                    "start": {
737                      "line": 18,
738                      "column": 23
739                    },
740                    "end": {
741                      "line": 26,
742                      "column": 2
743                    }
744                  }
745                },
746                "loc": {
747                  "start": {
748                    "line": 18,
749                    "column": 14
750                  },
751                  "end": {
752                    "line": 26,
753                    "column": 2
754                  }
755                }
756              },
757              "loc": {
758                "start": {
759                  "line": 18,
760                  "column": 14
761                },
762                "end": {
763                  "line": 26,
764                  "column": 2
765                }
766              }
767            },
768            "overloads": [],
769            "decorators": [],
770            "loc": {
771              "start": {
772                "line": 18,
773                "column": 1
774              },
775              "end": {
776                "line": 26,
777                "column": 2
778              }
779            }
780          },
781          {
782            "type": "MethodDefinition",
783            "key": {
784              "type": "Identifier",
785              "name": "forins",
786              "decorators": [],
787              "loc": {
788                "start": {
789                  "line": 28,
790                  "column": 10
791                },
792                "end": {
793                  "line": 28,
794                  "column": 16
795                }
796              }
797            },
798            "kind": "method",
799            "accessibility": "public",
800            "static": true,
801            "optional": false,
802            "computed": false,
803            "value": {
804              "type": "FunctionExpression",
805              "function": {
806                "type": "ScriptFunction",
807                "id": {
808                  "type": "Identifier",
809                  "name": "forins",
810                  "decorators": [],
811                  "loc": {
812                    "start": {
813                      "line": 28,
814                      "column": 10
815                    },
816                    "end": {
817                      "line": 28,
818                      "column": 16
819                    }
820                  }
821                },
822                "generator": false,
823                "async": false,
824                "expression": false,
825                "params": [],
826                "returnType": {
827                  "type": "ETSPrimitiveType",
828                  "loc": {
829                    "start": {
830                      "line": 28,
831                      "column": 20
832                    },
833                    "end": {
834                      "line": 28,
835                      "column": 24
836                    }
837                  }
838                },
839                "body": {
840                  "type": "BlockStatement",
841                  "statements": [
842                    {
843                      "type": "ForOfStatement",
844                      "await": false,
845                      "left": {
846                        "type": "VariableDeclaration",
847                        "declarations": [
848                          {
849                            "type": "VariableDeclarator",
850                            "id": {
851                              "type": "Identifier",
852                              "name": "i",
853                              "decorators": [],
854                              "loc": {
855                                "start": {
856                                  "line": 29,
857                                  "column": 12
858                                },
859                                "end": {
860                                  "line": 29,
861                                  "column": 13
862                                }
863                              }
864                            },
865                            "init": null,
866                            "loc": {
867                              "start": {
868                                "line": 29,
869                                "column": 12
870                              },
871                              "end": {
872                                "line": 29,
873                                "column": 13
874                              }
875                            }
876                          }
877                        ],
878                        "kind": "let",
879                        "loc": {
880                          "start": {
881                            "line": 29,
882                            "column": 8
883                          },
884                          "end": {
885                            "line": 29,
886                            "column": 13
887                          }
888                        }
889                      },
890                      "right": {
891                        "type": "StringLiteral",
892                        "value": "abcdef",
893                        "loc": {
894                          "start": {
895                            "line": 29,
896                            "column": 17
897                          },
898                          "end": {
899                            "line": 29,
900                            "column": 25
901                          }
902                        }
903                      },
904                      "body": {
905                        "type": "BlockStatement",
906                        "statements": [
907                          {
908                            "type": "ReturnStatement",
909                            "argument": {
910                              "type": "Identifier",
911                              "name": "i",
912                              "decorators": [],
913                              "loc": {
914                                "start": {
915                                  "line": 30,
916                                  "column": 14
917                                },
918                                "end": {
919                                  "line": 30,
920                                  "column": 15
921                                }
922                              }
923                            },
924                            "loc": {
925                              "start": {
926                                "line": 30,
927                                "column": 7
928                              },
929                              "end": {
930                                "line": 30,
931                                "column": 16
932                              }
933                            }
934                          }
935                        ],
936                        "loc": {
937                          "start": {
938                            "line": 29,
939                            "column": 27
940                          },
941                          "end": {
942                            "line": 31,
943                            "column": 4
944                          }
945                        }
946                      },
947                      "loc": {
948                        "start": {
949                          "line": 29,
950                          "column": 3
951                        },
952                        "end": {
953                          "line": 31,
954                          "column": 4
955                        }
956                      }
957                    },
958                    {
959                      "type": "ReturnStatement",
960                      "argument": {
961                        "type": "CharLiteral",
962                        "value": "*",
963                        "loc": {
964                          "start": {
965                            "line": 32,
966                            "column": 10
967                          },
968                          "end": {
969                            "line": 32,
970                            "column": 14
971                          }
972                        }
973                      },
974                      "loc": {
975                        "start": {
976                          "line": 32,
977                          "column": 3
978                        },
979                        "end": {
980                          "line": 32,
981                          "column": 15
982                        }
983                      }
984                    }
985                  ],
986                  "loc": {
987                    "start": {
988                      "line": 28,
989                      "column": 25
990                    },
991                    "end": {
992                      "line": 33,
993                      "column": 2
994                    }
995                  }
996                },
997                "loc": {
998                  "start": {
999                    "line": 28,
1000                    "column": 16
1001                  },
1002                  "end": {
1003                    "line": 33,
1004                    "column": 2
1005                  }
1006                }
1007              },
1008              "loc": {
1009                "start": {
1010                  "line": 28,
1011                  "column": 16
1012                },
1013                "end": {
1014                  "line": 33,
1015                  "column": 2
1016                }
1017              }
1018            },
1019            "overloads": [],
1020            "decorators": [],
1021            "loc": {
1022              "start": {
1023                "line": 28,
1024                "column": 1
1025              },
1026              "end": {
1027                "line": 33,
1028                "column": 2
1029              }
1030            }
1031          }
1032        ],
1033        "loc": {
1034          "start": {
1035            "line": 1,
1036            "column": 1
1037          },
1038          "end": {
1039            "line": 1,
1040            "column": 1
1041          }
1042        }
1043      },
1044      "loc": {
1045        "start": {
1046          "line": 1,
1047          "column": 1
1048        },
1049        "end": {
1050          "line": 1,
1051          "column": 1
1052        }
1053      }
1054    }
1055  ],
1056  "loc": {
1057    "start": {
1058      "line": 1,
1059      "column": 1
1060    },
1061    "end": {
1062      "line": 34,
1063      "column": 1
1064    }
1065  }
1066}
1067