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