1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "MethodDefinition",
11            "key": {
12              "type": "Identifier",
13              "name": "foo",
14              "decorators": [],
15              "loc": {
16                "start": {
17                  "line": 17,
18                  "column": 5
19                },
20                "end": {
21                  "line": 17,
22                  "column": 8
23                }
24              }
25            },
26            "kind": "method",
27            "accessibility": "public",
28            "static": false,
29            "optional": false,
30            "computed": false,
31            "value": {
32              "type": "FunctionExpression",
33              "function": {
34                "type": "ScriptFunction",
35                "id": {
36                  "type": "Identifier",
37                  "name": "foo",
38                  "decorators": [],
39                  "loc": {
40                    "start": {
41                      "line": 17,
42                      "column": 5
43                    },
44                    "end": {
45                      "line": 17,
46                      "column": 8
47                    }
48                  }
49                },
50                "generator": false,
51                "async": false,
52                "expression": false,
53                "params": [],
54                "returnType": {
55                  "type": "ETSTypeReference",
56                  "part": {
57                    "type": "ETSTypeReferencePart",
58                    "name": {
59                      "type": "Identifier",
60                      "name": "MyList",
61                      "decorators": [],
62                      "loc": {
63                        "start": {
64                          "line": 17,
65                          "column": 12
66                        },
67                        "end": {
68                          "line": 17,
69                          "column": 18
70                        }
71                      }
72                    },
73                    "typeParams": {
74                      "type": "TSTypeParameterInstantiation",
75                      "params": [
76                        {
77                          "type": "ETSTypeReference",
78                          "part": {
79                            "type": "ETSTypeReferencePart",
80                            "name": {
81                              "type": "Identifier",
82                              "name": "T",
83                              "decorators": [],
84                              "loc": {
85                                "start": {
86                                  "line": 17,
87                                  "column": 19
88                                },
89                                "end": {
90                                  "line": 17,
91                                  "column": 20
92                                }
93                              }
94                            },
95                            "loc": {
96                              "start": {
97                                "line": 17,
98                                "column": 19
99                              },
100                              "end": {
101                                "line": 17,
102                                "column": 21
103                              }
104                            }
105                          },
106                          "loc": {
107                            "start": {
108                              "line": 17,
109                              "column": 19
110                            },
111                            "end": {
112                              "line": 17,
113                              "column": 21
114                            }
115                          }
116                        }
117                      ],
118                      "loc": {
119                        "start": {
120                          "line": 17,
121                          "column": 18
122                        },
123                        "end": {
124                          "line": 17,
125                          "column": 21
126                        }
127                      }
128                    },
129                    "loc": {
130                      "start": {
131                        "line": 17,
132                        "column": 12
133                      },
134                      "end": {
135                        "line": 17,
136                        "column": 22
137                      }
138                    }
139                  },
140                  "loc": {
141                    "start": {
142                      "line": 17,
143                      "column": 12
144                    },
145                    "end": {
146                      "line": 17,
147                      "column": 22
148                    }
149                  }
150                },
151                "declare": true,
152                "loc": {
153                  "start": {
154                    "line": 17,
155                    "column": 8
156                  },
157                  "end": {
158                    "line": 17,
159                    "column": 22
160                  }
161                }
162              },
163              "loc": {
164                "start": {
165                  "line": 17,
166                  "column": 8
167                },
168                "end": {
169                  "line": 17,
170                  "column": 22
171                }
172              }
173            },
174            "overloads": [],
175            "decorators": [],
176            "loc": {
177              "start": {
178                "line": 17,
179                "column": 5
180              },
181              "end": {
182                "line": 17,
183                "column": 22
184              }
185            }
186          },
187          {
188            "type": "MethodDefinition",
189            "key": {
190              "type": "Identifier",
191              "name": "bar",
192              "decorators": [],
193              "loc": {
194                "start": {
195                  "line": 18,
196                  "column": 5
197                },
198                "end": {
199                  "line": 18,
200                  "column": 8
201                }
202              }
203            },
204            "kind": "method",
205            "accessibility": "public",
206            "static": false,
207            "optional": false,
208            "computed": false,
209            "value": {
210              "type": "FunctionExpression",
211              "function": {
212                "type": "ScriptFunction",
213                "id": {
214                  "type": "Identifier",
215                  "name": "bar",
216                  "decorators": [],
217                  "loc": {
218                    "start": {
219                      "line": 18,
220                      "column": 5
221                    },
222                    "end": {
223                      "line": 18,
224                      "column": 8
225                    }
226                  }
227                },
228                "generator": false,
229                "async": false,
230                "expression": false,
231                "params": [],
232                "returnType": {
233                  "type": "ETSTypeReference",
234                  "part": {
235                    "type": "ETSTypeReferencePart",
236                    "name": {
237                      "type": "Identifier",
238                      "name": "MyList",
239                      "decorators": [],
240                      "loc": {
241                        "start": {
242                          "line": 18,
243                          "column": 12
244                        },
245                        "end": {
246                          "line": 18,
247                          "column": 18
248                        }
249                      }
250                    },
251                    "typeParams": {
252                      "type": "TSTypeParameterInstantiation",
253                      "params": [
254                        {
255                          "type": "ETSTypeReference",
256                          "part": {
257                            "type": "ETSTypeReferencePart",
258                            "name": {
259                              "type": "Identifier",
260                              "name": "T",
261                              "decorators": [],
262                              "loc": {
263                                "start": {
264                                  "line": 18,
265                                  "column": 19
266                                },
267                                "end": {
268                                  "line": 18,
269                                  "column": 20
270                                }
271                              }
272                            },
273                            "loc": {
274                              "start": {
275                                "line": 18,
276                                "column": 19
277                              },
278                              "end": {
279                                "line": 18,
280                                "column": 21
281                              }
282                            }
283                          },
284                          "loc": {
285                            "start": {
286                              "line": 18,
287                              "column": 19
288                            },
289                            "end": {
290                              "line": 18,
291                              "column": 21
292                            }
293                          }
294                        }
295                      ],
296                      "loc": {
297                        "start": {
298                          "line": 18,
299                          "column": 18
300                        },
301                        "end": {
302                          "line": 18,
303                          "column": 21
304                        }
305                      }
306                    },
307                    "loc": {
308                      "start": {
309                        "line": 18,
310                        "column": 12
311                      },
312                      "end": {
313                        "line": 18,
314                        "column": 22
315                      }
316                    }
317                  },
318                  "loc": {
319                    "start": {
320                      "line": 18,
321                      "column": 12
322                    },
323                    "end": {
324                      "line": 18,
325                      "column": 22
326                    }
327                  }
328                },
329                "declare": true,
330                "loc": {
331                  "start": {
332                    "line": 18,
333                    "column": 8
334                  },
335                  "end": {
336                    "line": 18,
337                    "column": 22
338                  }
339                }
340              },
341              "loc": {
342                "start": {
343                  "line": 18,
344                  "column": 8
345                },
346                "end": {
347                  "line": 18,
348                  "column": 22
349                }
350              }
351            },
352            "overloads": [],
353            "decorators": [],
354            "loc": {
355              "start": {
356                "line": 18,
357                "column": 5
358              },
359              "end": {
360                "line": 18,
361                "column": 22
362              }
363            }
364          }
365        ],
366        "loc": {
367          "start": {
368            "line": 16,
369            "column": 21
370          },
371          "end": {
372            "line": 19,
373            "column": 2
374          }
375        }
376      },
377      "id": {
378        "type": "Identifier",
379        "name": "MyList",
380        "decorators": [],
381        "loc": {
382          "start": {
383            "line": 16,
384            "column": 11
385          },
386          "end": {
387            "line": 16,
388            "column": 17
389          }
390        }
391      },
392      "extends": [],
393      "typeParameters": {
394        "type": "TSTypeParameterDeclaration",
395        "params": [
396          {
397            "type": "TSTypeParameter",
398            "name": {
399              "type": "Identifier",
400              "name": "T",
401              "decorators": [],
402              "loc": {
403                "start": {
404                  "line": 16,
405                  "column": 18
406                },
407                "end": {
408                  "line": 16,
409                  "column": 19
410                }
411              }
412            },
413            "loc": {
414              "start": {
415                "line": 16,
416                "column": 18
417              },
418              "end": {
419                "line": 16,
420                "column": 20
421              }
422            }
423          }
424        ],
425        "loc": {
426          "start": {
427            "line": 16,
428            "column": 17
429          },
430          "end": {
431            "line": 16,
432            "column": 20
433          }
434        }
435      },
436      "loc": {
437        "start": {
438          "line": 16,
439          "column": 1
440        },
441        "end": {
442          "line": 21,
443          "column": 6
444        }
445      }
446    },
447    {
448      "type": "ClassDeclaration",
449      "definition": {
450        "id": {
451          "type": "Identifier",
452          "name": "MyListImpl",
453          "decorators": [],
454          "loc": {
455            "start": {
456              "line": 21,
457              "column": 7
458            },
459            "end": {
460              "line": 21,
461              "column": 17
462            }
463          }
464        },
465        "typeParameters": {
466          "type": "TSTypeParameterDeclaration",
467          "params": [
468            {
469              "type": "TSTypeParameter",
470              "name": {
471                "type": "Identifier",
472                "name": "T",
473                "decorators": [],
474                "loc": {
475                  "start": {
476                    "line": 21,
477                    "column": 18
478                  },
479                  "end": {
480                    "line": 21,
481                    "column": 19
482                  }
483                }
484              },
485              "loc": {
486                "start": {
487                  "line": 21,
488                  "column": 18
489                },
490                "end": {
491                  "line": 21,
492                  "column": 20
493                }
494              }
495            }
496          ],
497          "loc": {
498            "start": {
499              "line": 21,
500              "column": 17
501            },
502            "end": {
503              "line": 21,
504              "column": 20
505            }
506          }
507        },
508        "superClass": null,
509        "implements": [
510          {
511            "type": "TSClassImplements",
512            "expression": {
513              "type": "ETSTypeReference",
514              "part": {
515                "type": "ETSTypeReferencePart",
516                "name": {
517                  "type": "Identifier",
518                  "name": "MyList",
519                  "decorators": [],
520                  "loc": {
521                    "start": {
522                      "line": 21,
523                      "column": 32
524                    },
525                    "end": {
526                      "line": 21,
527                      "column": 38
528                    }
529                  }
530                },
531                "typeParams": {
532                  "type": "TSTypeParameterInstantiation",
533                  "params": [
534                    {
535                      "type": "ETSTypeReference",
536                      "part": {
537                        "type": "ETSTypeReferencePart",
538                        "name": {
539                          "type": "Identifier",
540                          "name": "T",
541                          "decorators": [],
542                          "loc": {
543                            "start": {
544                              "line": 21,
545                              "column": 39
546                            },
547                            "end": {
548                              "line": 21,
549                              "column": 40
550                            }
551                          }
552                        },
553                        "loc": {
554                          "start": {
555                            "line": 21,
556                            "column": 39
557                          },
558                          "end": {
559                            "line": 21,
560                            "column": 41
561                          }
562                        }
563                      },
564                      "loc": {
565                        "start": {
566                          "line": 21,
567                          "column": 39
568                        },
569                        "end": {
570                          "line": 21,
571                          "column": 41
572                        }
573                      }
574                    }
575                  ],
576                  "loc": {
577                    "start": {
578                      "line": 21,
579                      "column": 38
580                    },
581                    "end": {
582                      "line": 21,
583                      "column": 41
584                    }
585                  }
586                },
587                "loc": {
588                  "start": {
589                    "line": 21,
590                    "column": 32
591                  },
592                  "end": {
593                    "line": 21,
594                    "column": 43
595                  }
596                }
597              },
598              "loc": {
599                "start": {
600                  "line": 21,
601                  "column": 32
602                },
603                "end": {
604                  "line": 21,
605                  "column": 43
606                }
607              }
608            },
609            "loc": {
610              "start": {
611                "line": 21,
612                "column": 32
613              },
614              "end": {
615                "line": 21,
616                "column": 43
617              }
618            }
619          }
620        ],
621        "body": [
622          {
623            "type": "MethodDefinition",
624            "key": {
625              "type": "Identifier",
626              "name": "foo",
627              "decorators": [],
628              "loc": {
629                "start": {
630                  "line": 22,
631                  "column": 14
632                },
633                "end": {
634                  "line": 22,
635                  "column": 17
636                }
637              }
638            },
639            "kind": "method",
640            "accessibility": "public",
641            "static": false,
642            "optional": false,
643            "computed": false,
644            "value": {
645              "type": "FunctionExpression",
646              "function": {
647                "type": "ScriptFunction",
648                "id": {
649                  "type": "Identifier",
650                  "name": "foo",
651                  "decorators": [],
652                  "loc": {
653                    "start": {
654                      "line": 22,
655                      "column": 14
656                    },
657                    "end": {
658                      "line": 22,
659                      "column": 17
660                    }
661                  }
662                },
663                "generator": false,
664                "async": false,
665                "expression": false,
666                "params": [],
667                "returnType": {
668                  "type": "ETSTypeReference",
669                  "part": {
670                    "type": "ETSTypeReferencePart",
671                    "name": {
672                      "type": "Identifier",
673                      "name": "MyList",
674                      "decorators": [],
675                      "loc": {
676                        "start": {
677                          "line": 22,
678                          "column": 21
679                        },
680                        "end": {
681                          "line": 22,
682                          "column": 27
683                        }
684                      }
685                    },
686                    "typeParams": {
687                      "type": "TSTypeParameterInstantiation",
688                      "params": [
689                        {
690                          "type": "ETSTypeReference",
691                          "part": {
692                            "type": "ETSTypeReferencePart",
693                            "name": {
694                              "type": "Identifier",
695                              "name": "T",
696                              "decorators": [],
697                              "loc": {
698                                "start": {
699                                  "line": 22,
700                                  "column": 28
701                                },
702                                "end": {
703                                  "line": 22,
704                                  "column": 29
705                                }
706                              }
707                            },
708                            "loc": {
709                              "start": {
710                                "line": 22,
711                                "column": 28
712                              },
713                              "end": {
714                                "line": 22,
715                                "column": 30
716                              }
717                            }
718                          },
719                          "loc": {
720                            "start": {
721                              "line": 22,
722                              "column": 28
723                            },
724                            "end": {
725                              "line": 22,
726                              "column": 30
727                            }
728                          }
729                        }
730                      ],
731                      "loc": {
732                        "start": {
733                          "line": 22,
734                          "column": 27
735                        },
736                        "end": {
737                          "line": 22,
738                          "column": 30
739                        }
740                      }
741                    },
742                    "loc": {
743                      "start": {
744                        "line": 22,
745                        "column": 21
746                      },
747                      "end": {
748                        "line": 22,
749                        "column": 32
750                      }
751                    }
752                  },
753                  "loc": {
754                    "start": {
755                      "line": 22,
756                      "column": 21
757                    },
758                    "end": {
759                      "line": 22,
760                      "column": 32
761                    }
762                  }
763                },
764                "body": {
765                  "type": "BlockStatement",
766                  "statements": [
767                    {
768                      "type": "ReturnStatement",
769                      "argument": {
770                        "type": "ThisExpression",
771                        "loc": {
772                          "start": {
773                            "line": 23,
774                            "column": 16
775                          },
776                          "end": {
777                            "line": 23,
778                            "column": 20
779                          }
780                        }
781                      },
782                      "loc": {
783                        "start": {
784                          "line": 23,
785                          "column": 9
786                        },
787                        "end": {
788                          "line": 23,
789                          "column": 21
790                        }
791                      }
792                    }
793                  ],
794                  "loc": {
795                    "start": {
796                      "line": 22,
797                      "column": 31
798                    },
799                    "end": {
800                      "line": 24,
801                      "column": 6
802                    }
803                  }
804                },
805                "loc": {
806                  "start": {
807                    "line": 22,
808                    "column": 17
809                  },
810                  "end": {
811                    "line": 24,
812                    "column": 6
813                  }
814                }
815              },
816              "loc": {
817                "start": {
818                  "line": 22,
819                  "column": 17
820                },
821                "end": {
822                  "line": 24,
823                  "column": 6
824                }
825              }
826            },
827            "overloads": [],
828            "decorators": [],
829            "loc": {
830              "start": {
831                "line": 22,
832                "column": 5
833              },
834              "end": {
835                "line": 24,
836                "column": 6
837              }
838            }
839          },
840          {
841            "type": "MethodDefinition",
842            "key": {
843              "type": "Identifier",
844              "name": "bar",
845              "decorators": [],
846              "loc": {
847                "start": {
848                  "line": 25,
849                  "column": 14
850                },
851                "end": {
852                  "line": 25,
853                  "column": 17
854                }
855              }
856            },
857            "kind": "method",
858            "accessibility": "public",
859            "static": false,
860            "optional": false,
861            "computed": false,
862            "value": {
863              "type": "FunctionExpression",
864              "function": {
865                "type": "ScriptFunction",
866                "id": {
867                  "type": "Identifier",
868                  "name": "bar",
869                  "decorators": [],
870                  "loc": {
871                    "start": {
872                      "line": 25,
873                      "column": 14
874                    },
875                    "end": {
876                      "line": 25,
877                      "column": 17
878                    }
879                  }
880                },
881                "generator": false,
882                "async": false,
883                "expression": false,
884                "params": [],
885                "returnType": {
886                  "type": "ETSTypeReference",
887                  "part": {
888                    "type": "ETSTypeReferencePart",
889                    "name": {
890                      "type": "Identifier",
891                      "name": "MyList",
892                      "decorators": [],
893                      "loc": {
894                        "start": {
895                          "line": 25,
896                          "column": 21
897                        },
898                        "end": {
899                          "line": 25,
900                          "column": 27
901                        }
902                      }
903                    },
904                    "typeParams": {
905                      "type": "TSTypeParameterInstantiation",
906                      "params": [
907                        {
908                          "type": "ETSTypeReference",
909                          "part": {
910                            "type": "ETSTypeReferencePart",
911                            "name": {
912                              "type": "Identifier",
913                              "name": "T",
914                              "decorators": [],
915                              "loc": {
916                                "start": {
917                                  "line": 25,
918                                  "column": 28
919                                },
920                                "end": {
921                                  "line": 25,
922                                  "column": 29
923                                }
924                              }
925                            },
926                            "loc": {
927                              "start": {
928                                "line": 25,
929                                "column": 28
930                              },
931                              "end": {
932                                "line": 25,
933                                "column": 30
934                              }
935                            }
936                          },
937                          "loc": {
938                            "start": {
939                              "line": 25,
940                              "column": 28
941                            },
942                            "end": {
943                              "line": 25,
944                              "column": 30
945                            }
946                          }
947                        }
948                      ],
949                      "loc": {
950                        "start": {
951                          "line": 25,
952                          "column": 27
953                        },
954                        "end": {
955                          "line": 25,
956                          "column": 30
957                        }
958                      }
959                    },
960                    "loc": {
961                      "start": {
962                        "line": 25,
963                        "column": 21
964                      },
965                      "end": {
966                        "line": 25,
967                        "column": 32
968                      }
969                    }
970                  },
971                  "loc": {
972                    "start": {
973                      "line": 25,
974                      "column": 21
975                    },
976                    "end": {
977                      "line": 25,
978                      "column": 32
979                    }
980                  }
981                },
982                "body": {
983                  "type": "BlockStatement",
984                  "statements": [
985                    {
986                      "type": "ReturnStatement",
987                      "argument": {
988                        "type": "TSAsExpression",
989                        "expression": {
990                          "type": "ThisExpression",
991                          "loc": {
992                            "start": {
993                              "line": 26,
994                              "column": 16
995                            },
996                            "end": {
997                              "line": 26,
998                              "column": 20
999                            }
1000                          }
1001                        },
1002                        "typeAnnotation": {
1003                          "type": "ETSTypeReference",
1004                          "part": {
1005                            "type": "ETSTypeReferencePart",
1006                            "name": {
1007                              "type": "Identifier",
1008                              "name": "MyList",
1009                              "decorators": [],
1010                              "loc": {
1011                                "start": {
1012                                  "line": 26,
1013                                  "column": 24
1014                                },
1015                                "end": {
1016                                  "line": 26,
1017                                  "column": 30
1018                                }
1019                              }
1020                            },
1021                            "typeParams": {
1022                              "type": "TSTypeParameterInstantiation",
1023                              "params": [
1024                                {
1025                                  "type": "ETSTypeReference",
1026                                  "part": {
1027                                    "type": "ETSTypeReferencePart",
1028                                    "name": {
1029                                      "type": "Identifier",
1030                                      "name": "T",
1031                                      "decorators": [],
1032                                      "loc": {
1033                                        "start": {
1034                                          "line": 26,
1035                                          "column": 31
1036                                        },
1037                                        "end": {
1038                                          "line": 26,
1039                                          "column": 32
1040                                        }
1041                                      }
1042                                    },
1043                                    "loc": {
1044                                      "start": {
1045                                        "line": 26,
1046                                        "column": 31
1047                                      },
1048                                      "end": {
1049                                        "line": 26,
1050                                        "column": 33
1051                                      }
1052                                    }
1053                                  },
1054                                  "loc": {
1055                                    "start": {
1056                                      "line": 26,
1057                                      "column": 31
1058                                    },
1059                                    "end": {
1060                                      "line": 26,
1061                                      "column": 33
1062                                    }
1063                                  }
1064                                }
1065                              ],
1066                              "loc": {
1067                                "start": {
1068                                  "line": 26,
1069                                  "column": 30
1070                                },
1071                                "end": {
1072                                  "line": 26,
1073                                  "column": 33
1074                                }
1075                              }
1076                            },
1077                            "loc": {
1078                              "start": {
1079                                "line": 26,
1080                                "column": 24
1081                              },
1082                              "end": {
1083                                "line": 26,
1084                                "column": 34
1085                              }
1086                            }
1087                          },
1088                          "loc": {
1089                            "start": {
1090                              "line": 26,
1091                              "column": 24
1092                            },
1093                            "end": {
1094                              "line": 26,
1095                              "column": 34
1096                            }
1097                          }
1098                        },
1099                        "loc": {
1100                          "start": {
1101                            "line": 26,
1102                            "column": 16
1103                          },
1104                          "end": {
1105                            "line": 26,
1106                            "column": 20
1107                          }
1108                        }
1109                      },
1110                      "loc": {
1111                        "start": {
1112                          "line": 26,
1113                          "column": 9
1114                        },
1115                        "end": {
1116                          "line": 26,
1117                          "column": 34
1118                        }
1119                      }
1120                    }
1121                  ],
1122                  "loc": {
1123                    "start": {
1124                      "line": 25,
1125                      "column": 31
1126                    },
1127                    "end": {
1128                      "line": 27,
1129                      "column": 6
1130                    }
1131                  }
1132                },
1133                "loc": {
1134                  "start": {
1135                    "line": 25,
1136                    "column": 17
1137                  },
1138                  "end": {
1139                    "line": 27,
1140                    "column": 6
1141                  }
1142                }
1143              },
1144              "loc": {
1145                "start": {
1146                  "line": 25,
1147                  "column": 17
1148                },
1149                "end": {
1150                  "line": 27,
1151                  "column": 6
1152                }
1153              }
1154            },
1155            "overloads": [],
1156            "decorators": [],
1157            "loc": {
1158              "start": {
1159                "line": 25,
1160                "column": 5
1161              },
1162              "end": {
1163                "line": 27,
1164                "column": 6
1165              }
1166            }
1167          },
1168          {
1169            "type": "MethodDefinition",
1170            "key": {
1171              "type": "Identifier",
1172              "name": "constructor",
1173              "decorators": [],
1174              "loc": {
1175                "start": {
1176                  "line": 1,
1177                  "column": 1
1178                },
1179                "end": {
1180                  "line": 1,
1181                  "column": 1
1182                }
1183              }
1184            },
1185            "kind": "constructor",
1186            "static": false,
1187            "optional": false,
1188            "computed": false,
1189            "value": {
1190              "type": "FunctionExpression",
1191              "function": {
1192                "type": "ScriptFunction",
1193                "id": {
1194                  "type": "Identifier",
1195                  "name": "constructor",
1196                  "decorators": [],
1197                  "loc": {
1198                    "start": {
1199                      "line": 1,
1200                      "column": 1
1201                    },
1202                    "end": {
1203                      "line": 1,
1204                      "column": 1
1205                    }
1206                  }
1207                },
1208                "generator": false,
1209                "async": false,
1210                "expression": false,
1211                "params": [],
1212                "body": {
1213                  "type": "BlockStatement",
1214                  "statements": [],
1215                  "loc": {
1216                    "start": {
1217                      "line": 1,
1218                      "column": 1
1219                    },
1220                    "end": {
1221                      "line": 1,
1222                      "column": 1
1223                    }
1224                  }
1225                },
1226                "loc": {
1227                  "start": {
1228                    "line": 1,
1229                    "column": 1
1230                  },
1231                  "end": {
1232                    "line": 1,
1233                    "column": 1
1234                  }
1235                }
1236              },
1237              "loc": {
1238                "start": {
1239                  "line": 1,
1240                  "column": 1
1241                },
1242                "end": {
1243                  "line": 1,
1244                  "column": 1
1245                }
1246              }
1247            },
1248            "overloads": [],
1249            "decorators": [],
1250            "loc": {
1251              "start": {
1252                "line": 28,
1253                "column": 2
1254              },
1255              "end": {
1256                "line": 28,
1257                "column": 2
1258              }
1259            }
1260          }
1261        ],
1262        "loc": {
1263          "start": {
1264            "line": 21,
1265            "column": 42
1266          },
1267          "end": {
1268            "line": 28,
1269            "column": 2
1270          }
1271        }
1272      },
1273      "loc": {
1274        "start": {
1275          "line": 21,
1276          "column": 1
1277        },
1278        "end": {
1279          "line": 28,
1280          "column": 2
1281        }
1282      }
1283    },
1284    {
1285      "type": "ClassDeclaration",
1286      "definition": {
1287        "id": {
1288          "type": "Identifier",
1289          "name": "ETSGLOBAL",
1290          "decorators": [],
1291          "loc": {
1292            "start": {
1293              "line": 1,
1294              "column": 1
1295            },
1296            "end": {
1297              "line": 1,
1298              "column": 1
1299            }
1300          }
1301        },
1302        "superClass": null,
1303        "implements": [],
1304        "body": [
1305          {
1306            "type": "MethodDefinition",
1307            "key": {
1308              "type": "Identifier",
1309              "name": "_$init$_",
1310              "decorators": [],
1311              "loc": {
1312                "start": {
1313                  "line": 1,
1314                  "column": 1
1315                },
1316                "end": {
1317                  "line": 1,
1318                  "column": 1
1319                }
1320              }
1321            },
1322            "kind": "method",
1323            "accessibility": "public",
1324            "static": true,
1325            "optional": false,
1326            "computed": false,
1327            "value": {
1328              "type": "FunctionExpression",
1329              "function": {
1330                "type": "ScriptFunction",
1331                "id": {
1332                  "type": "Identifier",
1333                  "name": "_$init$_",
1334                  "decorators": [],
1335                  "loc": {
1336                    "start": {
1337                      "line": 1,
1338                      "column": 1
1339                    },
1340                    "end": {
1341                      "line": 1,
1342                      "column": 1
1343                    }
1344                  }
1345                },
1346                "generator": false,
1347                "async": false,
1348                "expression": false,
1349                "params": [],
1350                "body": {
1351                  "type": "BlockStatement",
1352                  "statements": [],
1353                  "loc": {
1354                    "start": {
1355                      "line": 1,
1356                      "column": 1
1357                    },
1358                    "end": {
1359                      "line": 1,
1360                      "column": 1
1361                    }
1362                  }
1363                },
1364                "loc": {
1365                  "start": {
1366                    "line": 1,
1367                    "column": 1
1368                  },
1369                  "end": {
1370                    "line": 1,
1371                    "column": 1
1372                  }
1373                }
1374              },
1375              "loc": {
1376                "start": {
1377                  "line": 1,
1378                  "column": 1
1379                },
1380                "end": {
1381                  "line": 1,
1382                  "column": 1
1383                }
1384              }
1385            },
1386            "overloads": [],
1387            "decorators": [],
1388            "loc": {
1389              "start": {
1390                "line": 1,
1391                "column": 1
1392              },
1393              "end": {
1394                "line": 1,
1395                "column": 1
1396              }
1397            }
1398          }
1399        ],
1400        "loc": {
1401          "start": {
1402            "line": 1,
1403            "column": 1
1404          },
1405          "end": {
1406            "line": 1,
1407            "column": 1
1408          }
1409        }
1410      },
1411      "loc": {
1412        "start": {
1413          "line": 1,
1414          "column": 1
1415        },
1416        "end": {
1417          "line": 1,
1418          "column": 1
1419        }
1420      }
1421    }
1422  ],
1423  "loc": {
1424    "start": {
1425      "line": 1,
1426      "column": 1
1427    },
1428    "end": {
1429      "line": 29,
1430      "column": 1
1431    }
1432  }
1433}
1434