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