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