1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "Point",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7
15            },
16            "end": {
17              "line": 16,
18              "column": 12
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "ClassProperty",
27            "key": {
28              "type": "Identifier",
29              "name": "x",
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": "ETSTypeReference",
50              "part": {
51                "type": "ETSTypeReferencePart",
52                "name": {
53                  "type": "Identifier",
54                  "name": "number",
55                  "decorators": [],
56                  "loc": {
57                    "start": {
58                      "line": 17,
59                      "column": 8
60                    },
61                    "end": {
62                      "line": 17,
63                      "column": 14
64                    }
65                  }
66                },
67                "loc": {
68                  "start": {
69                    "line": 17,
70                    "column": 8
71                  },
72                  "end": {
73                    "line": 17,
74                    "column": 15
75                  }
76                }
77              },
78              "loc": {
79                "start": {
80                  "line": 17,
81                  "column": 8
82                },
83                "end": {
84                  "line": 17,
85                  "column": 15
86                }
87              }
88            },
89            "definite": false,
90            "decorators": [],
91            "loc": {
92              "start": {
93                "line": 17,
94                "column": 5
95              },
96              "end": {
97                "line": 17,
98                "column": 15
99              }
100            }
101          },
102          {
103            "type": "ClassProperty",
104            "key": {
105              "type": "Identifier",
106              "name": "y",
107              "decorators": [],
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 5
112                },
113                "end": {
114                  "line": 18,
115                  "column": 6
116                }
117              }
118            },
119            "accessibility": "public",
120            "static": false,
121            "readonly": false,
122            "declare": false,
123            "optional": false,
124            "computed": false,
125            "typeAnnotation": {
126              "type": "ETSTypeReference",
127              "part": {
128                "type": "ETSTypeReferencePart",
129                "name": {
130                  "type": "Identifier",
131                  "name": "number",
132                  "decorators": [],
133                  "loc": {
134                    "start": {
135                      "line": 18,
136                      "column": 8
137                    },
138                    "end": {
139                      "line": 18,
140                      "column": 14
141                    }
142                  }
143                },
144                "loc": {
145                  "start": {
146                    "line": 18,
147                    "column": 8
148                  },
149                  "end": {
150                    "line": 18,
151                    "column": 15
152                  }
153                }
154              },
155              "loc": {
156                "start": {
157                  "line": 18,
158                  "column": 8
159                },
160                "end": {
161                  "line": 18,
162                  "column": 15
163                }
164              }
165            },
166            "definite": false,
167            "decorators": [],
168            "loc": {
169              "start": {
170                "line": 18,
171                "column": 5
172              },
173              "end": {
174                "line": 18,
175                "column": 15
176              }
177            }
178          },
179          {
180            "type": "MethodDefinition",
181            "key": {
182              "type": "Identifier",
183              "name": "constructor",
184              "decorators": [],
185              "loc": {
186                "start": {
187                  "line": 1,
188                  "column": 1
189                },
190                "end": {
191                  "line": 1,
192                  "column": 1
193                }
194              }
195            },
196            "kind": "constructor",
197            "static": false,
198            "optional": false,
199            "computed": false,
200            "value": {
201              "type": "FunctionExpression",
202              "function": {
203                "type": "ScriptFunction",
204                "id": {
205                  "type": "Identifier",
206                  "name": "constructor",
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                "generator": false,
220                "async": false,
221                "expression": false,
222                "params": [],
223                "body": {
224                  "type": "BlockStatement",
225                  "statements": [],
226                  "loc": {
227                    "start": {
228                      "line": 1,
229                      "column": 1
230                    },
231                    "end": {
232                      "line": 1,
233                      "column": 1
234                    }
235                  }
236                },
237                "loc": {
238                  "start": {
239                    "line": 1,
240                    "column": 1
241                  },
242                  "end": {
243                    "line": 1,
244                    "column": 1
245                  }
246                }
247              },
248              "loc": {
249                "start": {
250                  "line": 1,
251                  "column": 1
252                },
253                "end": {
254                  "line": 1,
255                  "column": 1
256                }
257              }
258            },
259            "overloads": [],
260            "decorators": [],
261            "loc": {
262              "start": {
263                "line": 19,
264                "column": 2
265              },
266              "end": {
267                "line": 19,
268                "column": 2
269              }
270            }
271          }
272        ],
273        "loc": {
274          "start": {
275            "line": 16,
276            "column": 13
277          },
278          "end": {
279            "line": 19,
280            "column": 2
281          }
282        }
283      },
284      "loc": {
285        "start": {
286          "line": 16,
287          "column": 1
288        },
289        "end": {
290          "line": 19,
291          "column": 2
292        }
293      }
294    },
295    {
296      "type": "ClassDeclaration",
297      "definition": {
298        "id": {
299          "type": "Identifier",
300          "name": "ListTest",
301          "decorators": [],
302          "loc": {
303            "start": {
304              "line": 21,
305              "column": 7
306            },
307            "end": {
308              "line": 21,
309              "column": 15
310            }
311          }
312        },
313        "typeParameters": {
314          "type": "TSTypeParameterDeclaration",
315          "params": [
316            {
317              "type": "TSTypeParameter",
318              "name": {
319                "type": "Identifier",
320                "name": "T",
321                "decorators": [],
322                "loc": {
323                  "start": {
324                    "line": 21,
325                    "column": 16
326                  },
327                  "end": {
328                    "line": 21,
329                    "column": 17
330                  }
331                }
332              },
333              "loc": {
334                "start": {
335                  "line": 21,
336                  "column": 16
337                },
338                "end": {
339                  "line": 21,
340                  "column": 18
341                }
342              }
343            }
344          ],
345          "loc": {
346            "start": {
347              "line": 21,
348              "column": 15
349            },
350            "end": {
351              "line": 21,
352              "column": 18
353            }
354          }
355        },
356        "superClass": null,
357        "implements": [],
358        "body": [
359          {
360            "type": "MethodDefinition",
361            "key": {
362              "type": "Identifier",
363              "name": "constructor",
364              "decorators": [],
365              "loc": {
366                "start": {
367                  "line": 1,
368                  "column": 1
369                },
370                "end": {
371                  "line": 1,
372                  "column": 1
373                }
374              }
375            },
376            "kind": "constructor",
377            "accessibility": "public",
378            "static": false,
379            "optional": false,
380            "computed": false,
381            "value": {
382              "type": "FunctionExpression",
383              "function": {
384                "type": "ScriptFunction",
385                "id": {
386                  "type": "Identifier",
387                  "name": "constructor",
388                  "decorators": [],
389                  "loc": {
390                    "start": {
391                      "line": 1,
392                      "column": 1
393                    },
394                    "end": {
395                      "line": 1,
396                      "column": 1
397                    }
398                  }
399                },
400                "generator": false,
401                "async": false,
402                "expression": false,
403                "params": [],
404                "body": {
405                  "type": "BlockStatement",
406                  "statements": [
407                    {
408                      "type": "ExpressionStatement",
409                      "expression": {
410                        "type": "AssignmentExpression",
411                        "operator": "=",
412                        "left": {
413                          "type": "MemberExpression",
414                          "object": {
415                            "type": "ThisExpression",
416                            "loc": {
417                              "start": {
418                                "line": 24,
419                                "column": 9
420                              },
421                              "end": {
422                                "line": 24,
423                                "column": 13
424                              }
425                            }
426                          },
427                          "property": {
428                            "type": "Identifier",
429                            "name": "num",
430                            "decorators": [],
431                            "loc": {
432                              "start": {
433                                "line": 24,
434                                "column": 14
435                              },
436                              "end": {
437                                "line": 24,
438                                "column": 17
439                              }
440                            }
441                          },
442                          "computed": false,
443                          "optional": false,
444                          "loc": {
445                            "start": {
446                              "line": 24,
447                              "column": 9
448                            },
449                            "end": {
450                              "line": 24,
451                              "column": 17
452                            }
453                          }
454                        },
455                        "right": {
456                          "type": "NumberLiteral",
457                          "value": 10,
458                          "loc": {
459                            "start": {
460                              "line": 24,
461                              "column": 20
462                            },
463                            "end": {
464                              "line": 24,
465                              "column": 22
466                            }
467                          }
468                        },
469                        "loc": {
470                          "start": {
471                            "line": 24,
472                            "column": 9
473                          },
474                          "end": {
475                            "line": 24,
476                            "column": 22
477                          }
478                        }
479                      },
480                      "loc": {
481                        "start": {
482                          "line": 24,
483                          "column": 9
484                        },
485                        "end": {
486                          "line": 24,
487                          "column": 23
488                        }
489                      }
490                    },
491                    {
492                      "type": "ExpressionStatement",
493                      "expression": {
494                        "type": "AssignmentExpression",
495                        "operator": "=",
496                        "left": {
497                          "type": "MemberExpression",
498                          "object": {
499                            "type": "ThisExpression",
500                            "loc": {
501                              "start": {
502                                "line": 25,
503                                "column": 9
504                              },
505                              "end": {
506                                "line": 25,
507                                "column": 13
508                              }
509                            }
510                          },
511                          "property": {
512                            "type": "Identifier",
513                            "name": "data",
514                            "decorators": [],
515                            "loc": {
516                              "start": {
517                                "line": 25,
518                                "column": 14
519                              },
520                              "end": {
521                                "line": 25,
522                                "column": 18
523                              }
524                            }
525                          },
526                          "computed": false,
527                          "optional": false,
528                          "loc": {
529                            "start": {
530                              "line": 25,
531                              "column": 9
532                            },
533                            "end": {
534                              "line": 25,
535                              "column": 18
536                            }
537                          }
538                        },
539                        "right": {
540                          "type": "ETSNewArrayInstanceExpression",
541                          "typeReference": {
542                            "type": "ETSTypeReference",
543                            "part": {
544                              "type": "ETSTypeReferencePart",
545                              "name": {
546                                "type": "Identifier",
547                                "name": "T",
548                                "decorators": [],
549                                "loc": {
550                                  "start": {
551                                    "line": 25,
552                                    "column": 25
553                                  },
554                                  "end": {
555                                    "line": 25,
556                                    "column": 26
557                                  }
558                                }
559                              },
560                              "loc": {
561                                "start": {
562                                  "line": 25,
563                                  "column": 25
564                                },
565                                "end": {
566                                  "line": 25,
567                                  "column": 27
568                                }
569                              }
570                            },
571                            "loc": {
572                              "start": {
573                                "line": 25,
574                                "column": 25
575                              },
576                              "end": {
577                                "line": 25,
578                                "column": 27
579                              }
580                            }
581                          },
582                          "dimension": {
583                            "type": "MemberExpression",
584                            "object": {
585                              "type": "ThisExpression",
586                              "loc": {
587                                "start": {
588                                  "line": 25,
589                                  "column": 27
590                                },
591                                "end": {
592                                  "line": 25,
593                                  "column": 31
594                                }
595                              }
596                            },
597                            "property": {
598                              "type": "Identifier",
599                              "name": "num",
600                              "decorators": [],
601                              "loc": {
602                                "start": {
603                                  "line": 25,
604                                  "column": 32
605                                },
606                                "end": {
607                                  "line": 25,
608                                  "column": 35
609                                }
610                              }
611                            },
612                            "computed": false,
613                            "optional": false,
614                            "loc": {
615                              "start": {
616                                "line": 25,
617                                "column": 27
618                              },
619                              "end": {
620                                "line": 25,
621                                "column": 35
622                              }
623                            }
624                          },
625                          "loc": {
626                            "start": {
627                              "line": 25,
628                              "column": 21
629                            },
630                            "end": {
631                              "line": 25,
632                              "column": 36
633                            }
634                          }
635                        },
636                        "loc": {
637                          "start": {
638                            "line": 25,
639                            "column": 9
640                          },
641                          "end": {
642                            "line": 25,
643                            "column": 36
644                          }
645                        }
646                      },
647                      "loc": {
648                        "start": {
649                          "line": 25,
650                          "column": 9
651                        },
652                        "end": {
653                          "line": 25,
654                          "column": 37
655                        }
656                      }
657                    }
658                  ],
659                  "loc": {
660                    "start": {
661                      "line": 23,
662                      "column": 5
663                    },
664                    "end": {
665                      "line": 26,
666                      "column": 6
667                    }
668                  }
669                },
670                "loc": {
671                  "start": {
672                    "line": 22,
673                    "column": 16
674                  },
675                  "end": {
676                    "line": 26,
677                    "column": 6
678                  }
679                }
680              },
681              "loc": {
682                "start": {
683                  "line": 22,
684                  "column": 16
685                },
686                "end": {
687                  "line": 26,
688                  "column": 6
689                }
690              }
691            },
692            "overloads": [],
693            "decorators": [],
694            "loc": {
695              "start": {
696                "line": 22,
697                "column": 5
698              },
699              "end": {
700                "line": 26,
701                "column": 6
702              }
703            }
704          },
705          {
706            "type": "ClassProperty",
707            "key": {
708              "type": "Identifier",
709              "name": "data",
710              "decorators": [],
711              "loc": {
712                "start": {
713                  "line": 27,
714                  "column": 13
715                },
716                "end": {
717                  "line": 27,
718                  "column": 17
719                }
720              }
721            },
722            "accessibility": "private",
723            "static": false,
724            "readonly": false,
725            "declare": false,
726            "optional": false,
727            "computed": false,
728            "typeAnnotation": {
729              "type": "TSArrayType",
730              "elementType": {
731                "type": "ETSTypeReference",
732                "part": {
733                  "type": "ETSTypeReferencePart",
734                  "name": {
735                    "type": "Identifier",
736                    "name": "T",
737                    "decorators": [],
738                    "loc": {
739                      "start": {
740                        "line": 27,
741                        "column": 19
742                      },
743                      "end": {
744                        "line": 27,
745                        "column": 20
746                      }
747                    }
748                  },
749                  "loc": {
750                    "start": {
751                      "line": 27,
752                      "column": 19
753                    },
754                    "end": {
755                      "line": 27,
756                      "column": 21
757                    }
758                  }
759                },
760                "loc": {
761                  "start": {
762                    "line": 27,
763                    "column": 19
764                  },
765                  "end": {
766                    "line": 27,
767                    "column": 21
768                  }
769                }
770              },
771              "loc": {
772                "start": {
773                  "line": 27,
774                  "column": 22
775                },
776                "end": {
777                  "line": 27,
778                  "column": 23
779                }
780              }
781            },
782            "definite": false,
783            "decorators": [],
784            "loc": {
785              "start": {
786                "line": 27,
787                "column": 13
788              },
789              "end": {
790                "line": 27,
791                "column": 23
792              }
793            }
794          },
795          {
796            "type": "ClassProperty",
797            "key": {
798              "type": "Identifier",
799              "name": "num",
800              "decorators": [],
801              "loc": {
802                "start": {
803                  "line": 28,
804                  "column": 13
805                },
806                "end": {
807                  "line": 28,
808                  "column": 16
809                }
810              }
811            },
812            "accessibility": "private",
813            "static": false,
814            "readonly": false,
815            "declare": false,
816            "optional": false,
817            "computed": false,
818            "typeAnnotation": {
819              "type": "ETSPrimitiveType",
820              "loc": {
821                "start": {
822                  "line": 28,
823                  "column": 18
824                },
825                "end": {
826                  "line": 28,
827                  "column": 21
828                }
829              }
830            },
831            "definite": false,
832            "decorators": [],
833            "loc": {
834              "start": {
835                "line": 28,
836                "column": 13
837              },
838              "end": {
839                "line": 28,
840                "column": 21
841              }
842            }
843          }
844        ],
845        "loc": {
846          "start": {
847            "line": 21,
848            "column": 19
849          },
850          "end": {
851            "line": 29,
852            "column": 2
853          }
854        }
855      },
856      "loc": {
857        "start": {
858          "line": 21,
859          "column": 1
860        },
861        "end": {
862          "line": 29,
863          "column": 2
864        }
865      }
866    },
867    {
868      "type": "ClassDeclaration",
869      "definition": {
870        "id": {
871          "type": "Identifier",
872          "name": "ETSGLOBAL",
873          "decorators": [],
874          "loc": {
875            "start": {
876              "line": 1,
877              "column": 1
878            },
879            "end": {
880              "line": 1,
881              "column": 1
882            }
883          }
884        },
885        "superClass": null,
886        "implements": [],
887        "body": [
888          {
889            "type": "MethodDefinition",
890            "key": {
891              "type": "Identifier",
892              "name": "_$init$_",
893              "decorators": [],
894              "loc": {
895                "start": {
896                  "line": 1,
897                  "column": 1
898                },
899                "end": {
900                  "line": 1,
901                  "column": 1
902                }
903              }
904            },
905            "kind": "method",
906            "accessibility": "public",
907            "static": true,
908            "optional": false,
909            "computed": false,
910            "value": {
911              "type": "FunctionExpression",
912              "function": {
913                "type": "ScriptFunction",
914                "id": {
915                  "type": "Identifier",
916                  "name": "_$init$_",
917                  "decorators": [],
918                  "loc": {
919                    "start": {
920                      "line": 1,
921                      "column": 1
922                    },
923                    "end": {
924                      "line": 1,
925                      "column": 1
926                    }
927                  }
928                },
929                "generator": false,
930                "async": false,
931                "expression": false,
932                "params": [],
933                "body": {
934                  "type": "BlockStatement",
935                  "statements": [],
936                  "loc": {
937                    "start": {
938                      "line": 1,
939                      "column": 1
940                    },
941                    "end": {
942                      "line": 1,
943                      "column": 1
944                    }
945                  }
946                },
947                "loc": {
948                  "start": {
949                    "line": 1,
950                    "column": 1
951                  },
952                  "end": {
953                    "line": 1,
954                    "column": 1
955                  }
956                }
957              },
958              "loc": {
959                "start": {
960                  "line": 1,
961                  "column": 1
962                },
963                "end": {
964                  "line": 1,
965                  "column": 1
966                }
967              }
968            },
969            "overloads": [],
970            "decorators": [],
971            "loc": {
972              "start": {
973                "line": 1,
974                "column": 1
975              },
976              "end": {
977                "line": 1,
978                "column": 1
979              }
980            }
981          },
982          {
983            "type": "MethodDefinition",
984            "key": {
985              "type": "Identifier",
986              "name": "main",
987              "decorators": [],
988              "loc": {
989                "start": {
990                  "line": 31,
991                  "column": 10
992                },
993                "end": {
994                  "line": 31,
995                  "column": 14
996                }
997              }
998            },
999            "kind": "method",
1000            "accessibility": "public",
1001            "static": true,
1002            "optional": false,
1003            "computed": false,
1004            "value": {
1005              "type": "FunctionExpression",
1006              "function": {
1007                "type": "ScriptFunction",
1008                "id": {
1009                  "type": "Identifier",
1010                  "name": "main",
1011                  "decorators": [],
1012                  "loc": {
1013                    "start": {
1014                      "line": 31,
1015                      "column": 10
1016                    },
1017                    "end": {
1018                      "line": 31,
1019                      "column": 14
1020                    }
1021                  }
1022                },
1023                "generator": false,
1024                "async": false,
1025                "expression": false,
1026                "params": [],
1027                "returnType": {
1028                  "type": "ETSPrimitiveType",
1029                  "loc": {
1030                    "start": {
1031                      "line": 31,
1032                      "column": 18
1033                    },
1034                    "end": {
1035                      "line": 31,
1036                      "column": 22
1037                    }
1038                  }
1039                },
1040                "body": {
1041                  "type": "BlockStatement",
1042                  "statements": [
1043                    {
1044                      "type": "VariableDeclaration",
1045                      "declarations": [
1046                        {
1047                          "type": "VariableDeclarator",
1048                          "id": {
1049                            "type": "Identifier",
1050                            "name": "s",
1051                            "decorators": [],
1052                            "loc": {
1053                              "start": {
1054                                "line": 32,
1055                                "column": 9
1056                              },
1057                              "end": {
1058                                "line": 32,
1059                                "column": 10
1060                              }
1061                            }
1062                          },
1063                          "init": {
1064                            "type": "ETSNewArrayInstanceExpression",
1065                            "typeReference": {
1066                              "type": "ETSTypeReference",
1067                              "part": {
1068                                "type": "ETSTypeReferencePart",
1069                                "name": {
1070                                  "type": "Identifier",
1071                                  "name": "string",
1072                                  "decorators": [],
1073                                  "loc": {
1074                                    "start": {
1075                                      "line": 32,
1076                                      "column": 17
1077                                    },
1078                                    "end": {
1079                                      "line": 32,
1080                                      "column": 23
1081                                    }
1082                                  }
1083                                },
1084                                "loc": {
1085                                  "start": {
1086                                    "line": 32,
1087                                    "column": 17
1088                                  },
1089                                  "end": {
1090                                    "line": 32,
1091                                    "column": 24
1092                                  }
1093                                }
1094                              },
1095                              "loc": {
1096                                "start": {
1097                                  "line": 32,
1098                                  "column": 17
1099                                },
1100                                "end": {
1101                                  "line": 32,
1102                                  "column": 24
1103                                }
1104                              }
1105                            },
1106                            "dimension": {
1107                              "type": "NumberLiteral",
1108                              "value": 3,
1109                              "loc": {
1110                                "start": {
1111                                  "line": 32,
1112                                  "column": 24
1113                                },
1114                                "end": {
1115                                  "line": 32,
1116                                  "column": 25
1117                                }
1118                              }
1119                            },
1120                            "loc": {
1121                              "start": {
1122                                "line": 32,
1123                                "column": 13
1124                              },
1125                              "end": {
1126                                "line": 32,
1127                                "column": 26
1128                              }
1129                            }
1130                          },
1131                          "loc": {
1132                            "start": {
1133                              "line": 32,
1134                              "column": 9
1135                            },
1136                            "end": {
1137                              "line": 32,
1138                              "column": 26
1139                            }
1140                          }
1141                        }
1142                      ],
1143                      "kind": "let",
1144                      "loc": {
1145                        "start": {
1146                          "line": 32,
1147                          "column": 5
1148                        },
1149                        "end": {
1150                          "line": 32,
1151                          "column": 27
1152                        }
1153                      }
1154                    },
1155                    {
1156                      "type": "VariableDeclaration",
1157                      "declarations": [
1158                        {
1159                          "type": "VariableDeclarator",
1160                          "id": {
1161                            "type": "Identifier",
1162                            "name": "n",
1163                            "decorators": [],
1164                            "loc": {
1165                              "start": {
1166                                "line": 33,
1167                                "column": 9
1168                              },
1169                              "end": {
1170                                "line": 33,
1171                                "column": 10
1172                              }
1173                            }
1174                          },
1175                          "init": {
1176                            "type": "ETSNewArrayInstanceExpression",
1177                            "typeReference": {
1178                              "type": "ETSTypeReference",
1179                              "part": {
1180                                "type": "ETSTypeReferencePart",
1181                                "name": {
1182                                  "type": "Identifier",
1183                                  "name": "number",
1184                                  "decorators": [],
1185                                  "loc": {
1186                                    "start": {
1187                                      "line": 33,
1188                                      "column": 17
1189                                    },
1190                                    "end": {
1191                                      "line": 33,
1192                                      "column": 23
1193                                    }
1194                                  }
1195                                },
1196                                "loc": {
1197                                  "start": {
1198                                    "line": 33,
1199                                    "column": 17
1200                                  },
1201                                  "end": {
1202                                    "line": 33,
1203                                    "column": 24
1204                                  }
1205                                }
1206                              },
1207                              "loc": {
1208                                "start": {
1209                                  "line": 33,
1210                                  "column": 17
1211                                },
1212                                "end": {
1213                                  "line": 33,
1214                                  "column": 24
1215                                }
1216                              }
1217                            },
1218                            "dimension": {
1219                              "type": "NumberLiteral",
1220                              "value": 3,
1221                              "loc": {
1222                                "start": {
1223                                  "line": 33,
1224                                  "column": 24
1225                                },
1226                                "end": {
1227                                  "line": 33,
1228                                  "column": 25
1229                                }
1230                              }
1231                            },
1232                            "loc": {
1233                              "start": {
1234                                "line": 33,
1235                                "column": 13
1236                              },
1237                              "end": {
1238                                "line": 33,
1239                                "column": 26
1240                              }
1241                            }
1242                          },
1243                          "loc": {
1244                            "start": {
1245                              "line": 33,
1246                              "column": 9
1247                            },
1248                            "end": {
1249                              "line": 33,
1250                              "column": 26
1251                            }
1252                          }
1253                        }
1254                      ],
1255                      "kind": "let",
1256                      "loc": {
1257                        "start": {
1258                          "line": 33,
1259                          "column": 5
1260                        },
1261                        "end": {
1262                          "line": 33,
1263                          "column": 27
1264                        }
1265                      }
1266                    },
1267                    {
1268                      "type": "VariableDeclaration",
1269                      "declarations": [
1270                        {
1271                          "type": "VariableDeclarator",
1272                          "id": {
1273                            "type": "Identifier",
1274                            "name": "i",
1275                            "decorators": [],
1276                            "loc": {
1277                              "start": {
1278                                "line": 34,
1279                                "column": 9
1280                              },
1281                              "end": {
1282                                "line": 34,
1283                                "column": 10
1284                              }
1285                            }
1286                          },
1287                          "init": {
1288                            "type": "ETSNewArrayInstanceExpression",
1289                            "typeReference": {
1290                              "type": "ETSTypeReference",
1291                              "part": {
1292                                "type": "ETSTypeReferencePart",
1293                                "name": {
1294                                  "type": "Identifier",
1295                                  "name": "Int",
1296                                  "decorators": [],
1297                                  "loc": {
1298                                    "start": {
1299                                      "line": 34,
1300                                      "column": 17
1301                                    },
1302                                    "end": {
1303                                      "line": 34,
1304                                      "column": 20
1305                                    }
1306                                  }
1307                                },
1308                                "loc": {
1309                                  "start": {
1310                                    "line": 34,
1311                                    "column": 17
1312                                  },
1313                                  "end": {
1314                                    "line": 34,
1315                                    "column": 21
1316                                  }
1317                                }
1318                              },
1319                              "loc": {
1320                                "start": {
1321                                  "line": 34,
1322                                  "column": 17
1323                                },
1324                                "end": {
1325                                  "line": 34,
1326                                  "column": 21
1327                                }
1328                              }
1329                            },
1330                            "dimension": {
1331                              "type": "NumberLiteral",
1332                              "value": 3,
1333                              "loc": {
1334                                "start": {
1335                                  "line": 34,
1336                                  "column": 21
1337                                },
1338                                "end": {
1339                                  "line": 34,
1340                                  "column": 22
1341                                }
1342                              }
1343                            },
1344                            "loc": {
1345                              "start": {
1346                                "line": 34,
1347                                "column": 13
1348                              },
1349                              "end": {
1350                                "line": 34,
1351                                "column": 23
1352                              }
1353                            }
1354                          },
1355                          "loc": {
1356                            "start": {
1357                              "line": 34,
1358                              "column": 9
1359                            },
1360                            "end": {
1361                              "line": 34,
1362                              "column": 23
1363                            }
1364                          }
1365                        }
1366                      ],
1367                      "kind": "let",
1368                      "loc": {
1369                        "start": {
1370                          "line": 34,
1371                          "column": 5
1372                        },
1373                        "end": {
1374                          "line": 34,
1375                          "column": 24
1376                        }
1377                      }
1378                    },
1379                    {
1380                      "type": "VariableDeclaration",
1381                      "declarations": [
1382                        {
1383                          "type": "VariableDeclarator",
1384                          "id": {
1385                            "type": "Identifier",
1386                            "name": "x",
1387                            "decorators": [],
1388                            "loc": {
1389                              "start": {
1390                                "line": 35,
1391                                "column": 9
1392                              },
1393                              "end": {
1394                                "line": 35,
1395                                "column": 10
1396                              }
1397                            }
1398                          },
1399                          "init": {
1400                            "type": "ETSNewArrayInstanceExpression",
1401                            "typeReference": {
1402                              "type": "ETSTypeReference",
1403                              "part": {
1404                                "type": "ETSTypeReferencePart",
1405                                "name": {
1406                                  "type": "Identifier",
1407                                  "name": "Point",
1408                                  "decorators": [],
1409                                  "loc": {
1410                                    "start": {
1411                                      "line": 35,
1412                                      "column": 17
1413                                    },
1414                                    "end": {
1415                                      "line": 35,
1416                                      "column": 22
1417                                    }
1418                                  }
1419                                },
1420                                "loc": {
1421                                  "start": {
1422                                    "line": 35,
1423                                    "column": 17
1424                                  },
1425                                  "end": {
1426                                    "line": 35,
1427                                    "column": 23
1428                                  }
1429                                }
1430                              },
1431                              "loc": {
1432                                "start": {
1433                                  "line": 35,
1434                                  "column": 17
1435                                },
1436                                "end": {
1437                                  "line": 35,
1438                                  "column": 23
1439                                }
1440                              }
1441                            },
1442                            "dimension": {
1443                              "type": "NumberLiteral",
1444                              "value": 3,
1445                              "loc": {
1446                                "start": {
1447                                  "line": 35,
1448                                  "column": 23
1449                                },
1450                                "end": {
1451                                  "line": 35,
1452                                  "column": 24
1453                                }
1454                              }
1455                            },
1456                            "loc": {
1457                              "start": {
1458                                "line": 35,
1459                                "column": 13
1460                              },
1461                              "end": {
1462                                "line": 35,
1463                                "column": 25
1464                              }
1465                            }
1466                          },
1467                          "loc": {
1468                            "start": {
1469                              "line": 35,
1470                              "column": 9
1471                            },
1472                            "end": {
1473                              "line": 35,
1474                              "column": 25
1475                            }
1476                          }
1477                        }
1478                      ],
1479                      "kind": "let",
1480                      "loc": {
1481                        "start": {
1482                          "line": 35,
1483                          "column": 5
1484                        },
1485                        "end": {
1486                          "line": 35,
1487                          "column": 26
1488                        }
1489                      }
1490                    },
1491                    {
1492                      "type": "VariableDeclaration",
1493                      "declarations": [
1494                        {
1495                          "type": "VariableDeclarator",
1496                          "id": {
1497                            "type": "Identifier",
1498                            "name": "y",
1499                            "decorators": [],
1500                            "loc": {
1501                              "start": {
1502                                "line": 36,
1503                                "column": 9
1504                              },
1505                              "end": {
1506                                "line": 36,
1507                                "column": 10
1508                              }
1509                            }
1510                          },
1511                          "init": {
1512                            "type": "ETSNewArrayInstanceExpression",
1513                            "typeReference": {
1514                              "type": "ETSTypeReference",
1515                              "part": {
1516                                "type": "ETSTypeReferencePart",
1517                                "name": {
1518                                  "type": "Identifier",
1519                                  "name": "ListTest",
1520                                  "decorators": [],
1521                                  "loc": {
1522                                    "start": {
1523                                      "line": 36,
1524                                      "column": 17
1525                                    },
1526                                    "end": {
1527                                      "line": 36,
1528                                      "column": 25
1529                                    }
1530                                  }
1531                                },
1532                                "typeParams": {
1533                                  "type": "TSTypeParameterInstantiation",
1534                                  "params": [
1535                                    {
1536                                      "type": "ETSTypeReference",
1537                                      "part": {
1538                                        "type": "ETSTypeReferencePart",
1539                                        "name": {
1540                                          "type": "Identifier",
1541                                          "name": "Point",
1542                                          "decorators": [],
1543                                          "loc": {
1544                                            "start": {
1545                                              "line": 36,
1546                                              "column": 26
1547                                            },
1548                                            "end": {
1549                                              "line": 36,
1550                                              "column": 31
1551                                            }
1552                                          }
1553                                        },
1554                                        "loc": {
1555                                          "start": {
1556                                            "line": 36,
1557                                            "column": 26
1558                                          },
1559                                          "end": {
1560                                            "line": 36,
1561                                            "column": 32
1562                                          }
1563                                        }
1564                                      },
1565                                      "loc": {
1566                                        "start": {
1567                                          "line": 36,
1568                                          "column": 26
1569                                        },
1570                                        "end": {
1571                                          "line": 36,
1572                                          "column": 32
1573                                        }
1574                                      }
1575                                    }
1576                                  ],
1577                                  "loc": {
1578                                    "start": {
1579                                      "line": 36,
1580                                      "column": 25
1581                                    },
1582                                    "end": {
1583                                      "line": 36,
1584                                      "column": 32
1585                                    }
1586                                  }
1587                                },
1588                                "loc": {
1589                                  "start": {
1590                                    "line": 36,
1591                                    "column": 17
1592                                  },
1593                                  "end": {
1594                                    "line": 36,
1595                                    "column": 33
1596                                  }
1597                                }
1598                              },
1599                              "loc": {
1600                                "start": {
1601                                  "line": 36,
1602                                  "column": 17
1603                                },
1604                                "end": {
1605                                  "line": 36,
1606                                  "column": 33
1607                                }
1608                              }
1609                            },
1610                            "dimension": {
1611                              "type": "NumberLiteral",
1612                              "value": 3,
1613                              "loc": {
1614                                "start": {
1615                                  "line": 36,
1616                                  "column": 33
1617                                },
1618                                "end": {
1619                                  "line": 36,
1620                                  "column": 34
1621                                }
1622                              }
1623                            },
1624                            "loc": {
1625                              "start": {
1626                                "line": 36,
1627                                "column": 13
1628                              },
1629                              "end": {
1630                                "line": 36,
1631                                "column": 35
1632                              }
1633                            }
1634                          },
1635                          "loc": {
1636                            "start": {
1637                              "line": 36,
1638                              "column": 9
1639                            },
1640                            "end": {
1641                              "line": 36,
1642                              "column": 35
1643                            }
1644                          }
1645                        }
1646                      ],
1647                      "kind": "let",
1648                      "loc": {
1649                        "start": {
1650                          "line": 36,
1651                          "column": 5
1652                        },
1653                        "end": {
1654                          "line": 36,
1655                          "column": 36
1656                        }
1657                      }
1658                    }
1659                  ],
1660                  "loc": {
1661                    "start": {
1662                      "line": 31,
1663                      "column": 23
1664                    },
1665                    "end": {
1666                      "line": 37,
1667                      "column": 2
1668                    }
1669                  }
1670                },
1671                "loc": {
1672                  "start": {
1673                    "line": 31,
1674                    "column": 14
1675                  },
1676                  "end": {
1677                    "line": 37,
1678                    "column": 2
1679                  }
1680                }
1681              },
1682              "loc": {
1683                "start": {
1684                  "line": 31,
1685                  "column": 14
1686                },
1687                "end": {
1688                  "line": 37,
1689                  "column": 2
1690                }
1691              }
1692            },
1693            "overloads": [],
1694            "decorators": [],
1695            "loc": {
1696              "start": {
1697                "line": 31,
1698                "column": 1
1699              },
1700              "end": {
1701                "line": 37,
1702                "column": 2
1703              }
1704            }
1705          }
1706        ],
1707        "loc": {
1708          "start": {
1709            "line": 1,
1710            "column": 1
1711          },
1712          "end": {
1713            "line": 1,
1714            "column": 1
1715          }
1716        }
1717      },
1718      "loc": {
1719        "start": {
1720          "line": 1,
1721          "column": 1
1722        },
1723        "end": {
1724          "line": 1,
1725          "column": 1
1726        }
1727      }
1728    }
1729  ],
1730  "loc": {
1731    "start": {
1732      "line": 1,
1733      "column": 1
1734    },
1735    "end": {
1736      "line": 40,
1737      "column": 1
1738    }
1739  }
1740}
1741