• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "Foo",
10          "loc": {
11            "start": {
12              "line": 17,
13              "column": 7
14            },
15            "end": {
16              "line": 17,
17              "column": 10
18            }
19          }
20        },
21        "superClass": null,
22        "implements": [],
23        "constructor": {
24          "type": "MethodDefinition",
25          "key": {
26            "type": "Identifier",
27            "name": "constructor",
28            "loc": {
29              "start": {
30                "line": 1,
31                "column": 1
32              },
33              "end": {
34                "line": 1,
35                "column": 1
36              }
37            }
38          },
39          "kind": "constructor",
40          "static": false,
41          "optional": false,
42          "computed": false,
43          "value": {
44            "type": "FunctionExpression",
45            "function": {
46              "type": "ScriptFunction",
47              "id": null,
48              "generator": false,
49              "async": false,
50              "expression": false,
51              "params": [],
52              "body": {
53                "type": "BlockStatement",
54                "statements": [],
55                "loc": {
56                  "start": {
57                    "line": 1,
58                    "column": 1
59                  },
60                  "end": {
61                    "line": 1,
62                    "column": 1
63                  }
64                }
65              },
66              "loc": {
67                "start": {
68                  "line": 1,
69                  "column": 1
70                },
71                "end": {
72                  "line": 1,
73                  "column": 1
74                }
75              }
76            },
77            "loc": {
78              "start": {
79                "line": 1,
80                "column": 1
81              },
82              "end": {
83                "line": 1,
84                "column": 1
85              }
86            }
87          },
88          "overloads": [],
89          "decorators": [],
90          "loc": {
91            "start": {
92              "line": 17,
93              "column": 1
94            },
95            "end": {
96              "line": 32,
97              "column": 2
98            }
99          }
100        },
101        "body": [
102          {
103            "type": "MethodDefinition",
104            "key": {
105              "type": "Identifier",
106              "name": "a",
107              "loc": {
108                "start": {
109                  "line": 18,
110                  "column": 24
111                },
112                "end": {
113                  "line": 18,
114                  "column": 25
115                }
116              }
117            },
118            "kind": "get",
119            "accessibility": "private",
120            "static": true,
121            "optional": false,
122            "computed": false,
123            "value": {
124              "type": "FunctionExpression",
125              "function": {
126                "type": "ScriptFunction",
127                "id": null,
128                "generator": false,
129                "async": false,
130                "expression": false,
131                "params": [],
132                "body": {
133                  "type": "BlockStatement",
134                  "statements": [
135                    {
136                      "type": "ReturnStatement",
137                      "argument": null,
138                      "loc": {
139                        "start": {
140                          "line": 18,
141                          "column": 30
142                        },
143                        "end": {
144                          "line": 18,
145                          "column": 36
146                        }
147                      }
148                    }
149                  ],
150                  "loc": {
151                    "start": {
152                      "line": 18,
153                      "column": 28
154                    },
155                    "end": {
156                      "line": 18,
157                      "column": 38
158                    }
159                  }
160                },
161                "loc": {
162                  "start": {
163                    "line": 18,
164                    "column": 25
165                  },
166                  "end": {
167                    "line": 18,
168                    "column": 38
169                  }
170                }
171              },
172              "loc": {
173                "start": {
174                  "line": 18,
175                  "column": 25
176                },
177                "end": {
178                  "line": 18,
179                  "column": 38
180                }
181              }
182            },
183            "overloads": [],
184            "decorators": [],
185            "loc": {
186              "start": {
187                "line": 18,
188                "column": 5
189              },
190              "end": {
191                "line": 18,
192                "column": 38
193              }
194            }
195          },
196          {
197            "type": "MethodDefinition",
198            "key": {
199              "type": "Identifier",
200              "name": "g",
201              "loc": {
202                "start": {
203                  "line": 19,
204                  "column": 19
205                },
206                "end": {
207                  "line": 19,
208                  "column": 20
209                }
210              }
211            },
212            "kind": "method",
213            "accessibility": "public",
214            "static": false,
215            "optional": false,
216            "computed": false,
217            "value": {
218              "type": "FunctionExpression",
219              "function": {
220                "type": "ScriptFunction",
221                "id": null,
222                "generator": true,
223                "async": true,
224                "expression": false,
225                "params": [],
226                "body": {
227                  "type": "BlockStatement",
228                  "statements": [],
229                  "loc": {
230                    "start": {
231                      "line": 19,
232                      "column": 23
233                    },
234                    "end": {
235                      "line": 19,
236                      "column": 26
237                    }
238                  }
239                },
240                "loc": {
241                  "start": {
242                    "line": 19,
243                    "column": 20
244                  },
245                  "end": {
246                    "line": 19,
247                    "column": 26
248                  }
249                }
250              },
251              "loc": {
252                "start": {
253                  "line": 19,
254                  "column": 20
255                },
256                "end": {
257                  "line": 19,
258                  "column": 26
259                }
260              }
261            },
262            "overloads": [],
263            "decorators": [],
264            "loc": {
265              "start": {
266                "line": 19,
267                "column": 5
268              },
269              "end": {
270                "line": 19,
271                "column": 26
272              }
273            }
274          },
275          {
276            "type": "ClassProperty",
277            "key": {
278              "type": "NumberLiteral",
279              "value": 5,
280              "loc": {
281                "start": {
282                  "line": 20,
283                  "column": 30
284                },
285                "end": {
286                  "line": 20,
287                  "column": 31
288                }
289              }
290            },
291            "static": true,
292            "readonly": true,
293            "declare": true,
294            "optional": false,
295            "computed": true,
296            "decorators": [],
297            "loc": {
298              "start": {
299                "line": 20,
300                "column": 5
301              },
302              "end": {
303                "line": 20,
304                "column": 31
305              }
306            }
307          },
308          {
309            "type": "ClassProperty",
310            "key": {
311              "type": "StringLiteral",
312              "value": "b",
313              "loc": {
314                "start": {
315                  "line": 21,
316                  "column": 30
317                },
318                "end": {
319                  "line": 21,
320                  "column": 33
321                }
322              }
323            },
324            "static": true,
325            "readonly": true,
326            "declare": true,
327            "optional": false,
328            "computed": true,
329            "decorators": [],
330            "loc": {
331              "start": {
332                "line": 21,
333                "column": 5
334              },
335              "end": {
336                "line": 21,
337                "column": 33
338              }
339            }
340          },
341          {
342            "type": "ClassProperty",
343            "key": {
344              "type": "NumberLiteral",
345              "value": 67,
346              "loc": {
347                "start": {
348                  "line": 22,
349                  "column": 29
350                },
351                "end": {
352                  "line": 22,
353                  "column": 31
354                }
355              }
356            },
357            "static": true,
358            "readonly": true,
359            "declare": true,
360            "optional": false,
361            "computed": false,
362            "decorators": [],
363            "loc": {
364              "start": {
365                "line": 22,
366                "column": 5
367              },
368              "end": {
369                "line": 22,
370                "column": 31
371              }
372            }
373          },
374          {
375            "type": "ClassProperty",
376            "key": {
377              "type": "Identifier",
378              "name": "j",
379              "loc": {
380                "start": {
381                  "line": 23,
382                  "column": 29
383                },
384                "end": {
385                  "line": 23,
386                  "column": 30
387                }
388              }
389            },
390            "static": true,
391            "readonly": true,
392            "declare": true,
393            "optional": false,
394            "computed": false,
395            "decorators": [],
396            "loc": {
397              "start": {
398                "line": 23,
399                "column": 5
400              },
401              "end": {
402                "line": 23,
403                "column": 30
404              }
405            }
406          },
407          {
408            "type": "ClassProperty",
409            "key": {
410              "type": "Identifier",
411              "name": "private",
412              "loc": {
413                "start": {
414                  "line": 24,
415                  "column": 5
416                },
417                "end": {
418                  "line": 24,
419                  "column": 12
420                }
421              }
422            },
423            "static": false,
424            "readonly": false,
425            "declare": false,
426            "optional": false,
427            "computed": false,
428            "decorators": [],
429            "loc": {
430              "start": {
431                "line": 24,
432                "column": 5
433              },
434              "end": {
435                "line": 24,
436                "column": 12
437              }
438            }
439          },
440          {
441            "type": "MethodDefinition",
442            "key": {
443              "type": "NumberLiteral",
444              "value": 1,
445              "loc": {
446                "start": {
447                  "line": 25,
448                  "column": 17
449                },
450                "end": {
451                  "line": 25,
452                  "column": 18
453                }
454              }
455            },
456            "kind": "method",
457            "accessibility": "protected",
458            "static": false,
459            "optional": false,
460            "computed": true,
461            "value": {
462              "type": "FunctionExpression",
463              "function": {
464                "type": "ScriptFunction",
465                "id": null,
466                "generator": true,
467                "async": false,
468                "expression": false,
469                "params": [],
470                "body": {
471                  "type": "BlockStatement",
472                  "statements": [],
473                  "loc": {
474                    "start": {
475                      "line": 25,
476                      "column": 22
477                    },
478                    "end": {
479                      "line": 25,
480                      "column": 25
481                    }
482                  }
483                },
484                "loc": {
485                  "start": {
486                    "line": 25,
487                    "column": 19
488                  },
489                  "end": {
490                    "line": 25,
491                    "column": 25
492                  }
493                }
494              },
495              "loc": {
496                "start": {
497                  "line": 25,
498                  "column": 19
499                },
500                "end": {
501                  "line": 25,
502                  "column": 25
503                }
504              }
505            },
506            "overloads": [],
507            "decorators": [],
508            "loc": {
509              "start": {
510                "line": 25,
511                "column": 5
512              },
513              "end": {
514                "line": 25,
515                "column": 25
516              }
517            }
518          },
519          {
520            "type": "ClassProperty",
521            "key": {
522              "type": "Identifier",
523              "name": "k",
524              "loc": {
525                "start": {
526                  "line": 26,
527                  "column": 19
528                },
529                "end": {
530                  "line": 26,
531                  "column": 20
532                }
533              }
534            },
535            "value": {
536              "type": "StringLiteral",
537              "value": "bar",
538              "loc": {
539                "start": {
540                  "line": 26,
541                  "column": 23
542                },
543                "end": {
544                  "line": 26,
545                  "column": 28
546                }
547              }
548            },
549            "accessibility": "public",
550            "static": true,
551            "readonly": false,
552            "declare": false,
553            "optional": false,
554            "computed": false,
555            "decorators": [],
556            "loc": {
557              "start": {
558                "line": 26,
559                "column": 5
560              },
561              "end": {
562                "line": 26,
563                "column": 28
564              }
565            }
566          },
567          {
568            "type": "ClassProperty",
569            "key": {
570              "type": "TSPrivateIdentifier",
571              "key": {
572                "type": "Identifier",
573                "name": "o",
574                "loc": {
575                  "start": {
576                    "line": 27,
577                    "column": 6
578                  },
579                  "end": {
580                    "line": 27,
581                    "column": 7
582                  }
583                }
584              },
585              "value": {
586                "type": "NumberLiteral",
587                "value": 4,
588                "loc": {
589                  "start": {
590                    "line": 27,
591                    "column": 10
592                  },
593                  "end": {
594                    "line": 27,
595                    "column": 11
596                  }
597                }
598              },
599              "loc": {
600                "start": {
601                  "line": 27,
602                  "column": 5
603                },
604                "end": {
605                  "line": 27,
606                  "column": 7
607                }
608              }
609            },
610            "value": {
611              "type": "NumberLiteral",
612              "value": 4,
613              "loc": {
614                "start": {
615                  "line": 27,
616                  "column": 10
617                },
618                "end": {
619                  "line": 27,
620                  "column": 11
621                }
622              }
623            },
624            "static": false,
625            "readonly": false,
626            "declare": false,
627            "optional": false,
628            "computed": false,
629            "decorators": [],
630            "loc": {
631              "start": {
632                "line": 27,
633                "column": 5
634              },
635              "end": {
636                "line": 27,
637                "column": 11
638              }
639            }
640          },
641          {
642            "type": "MethodDefinition",
643            "key": {
644              "type": "Identifier",
645              "name": "l",
646              "loc": {
647                "start": {
648                  "line": 28,
649                  "column": 9
650                },
651                "end": {
652                  "line": 28,
653                  "column": 10
654                }
655              }
656            },
657            "kind": "set",
658            "static": false,
659            "optional": false,
660            "computed": false,
661            "value": {
662              "type": "FunctionExpression",
663              "function": {
664                "type": "ScriptFunction",
665                "id": null,
666                "generator": false,
667                "async": false,
668                "expression": false,
669                "params": [
670                  {
671                    "type": "Identifier",
672                    "name": "b",
673                    "typeAnnotation": {
674                      "type": "TSNumberKeyword",
675                      "loc": {
676                        "start": {
677                          "line": 28,
678                          "column": 14
679                        },
680                        "end": {
681                          "line": 28,
682                          "column": 20
683                        }
684                      }
685                    },
686                    "loc": {
687                      "start": {
688                        "line": 28,
689                        "column": 11
690                      },
691                      "end": {
692                        "line": 28,
693                        "column": 12
694                      }
695                    }
696                  }
697                ],
698                "body": {
699                  "type": "BlockStatement",
700                  "statements": [],
701                  "loc": {
702                    "start": {
703                      "line": 28,
704                      "column": 22
705                    },
706                    "end": {
707                      "line": 28,
708                      "column": 25
709                    }
710                  }
711                },
712                "loc": {
713                  "start": {
714                    "line": 28,
715                    "column": 10
716                  },
717                  "end": {
718                    "line": 28,
719                    "column": 25
720                  }
721                }
722              },
723              "loc": {
724                "start": {
725                  "line": 28,
726                  "column": 10
727                },
728                "end": {
729                  "line": 28,
730                  "column": 25
731                }
732              }
733            },
734            "overloads": [],
735            "decorators": [],
736            "loc": {
737              "start": {
738                "line": 28,
739                "column": 5
740              },
741              "end": {
742                "line": 28,
743                "column": 25
744              }
745            }
746          },
747          {
748            "type": "MethodDefinition",
749            "key": {
750              "type": "Identifier",
751              "name": "l",
752              "loc": {
753                "start": {
754                  "line": 29,
755                  "column": 16
756                },
757                "end": {
758                  "line": 29,
759                  "column": 17
760                }
761              }
762            },
763            "kind": "get",
764            "accessibility": "public",
765            "static": false,
766            "optional": false,
767            "computed": false,
768            "value": {
769              "type": "FunctionExpression",
770              "function": {
771                "type": "ScriptFunction",
772                "id": null,
773                "generator": false,
774                "async": false,
775                "expression": false,
776                "params": [],
777                "body": {
778                  "type": "BlockStatement",
779                  "statements": [
780                    {
781                      "type": "ReturnStatement",
782                      "argument": {
783                        "type": "NumberLiteral",
784                        "value": 2,
785                        "loc": {
786                          "start": {
787                            "line": 29,
788                            "column": 29
789                          },
790                          "end": {
791                            "line": 29,
792                            "column": 30
793                          }
794                        }
795                      },
796                      "loc": {
797                        "start": {
798                          "line": 29,
799                          "column": 22
800                        },
801                        "end": {
802                          "line": 29,
803                          "column": 30
804                        }
805                      }
806                    }
807                  ],
808                  "loc": {
809                    "start": {
810                      "line": 29,
811                      "column": 20
812                    },
813                    "end": {
814                      "line": 29,
815                      "column": 32
816                    }
817                  }
818                },
819                "loc": {
820                  "start": {
821                    "line": 29,
822                    "column": 17
823                  },
824                  "end": {
825                    "line": 29,
826                    "column": 32
827                  }
828                }
829              },
830              "loc": {
831                "start": {
832                  "line": 29,
833                  "column": 17
834                },
835                "end": {
836                  "line": 29,
837                  "column": 32
838                }
839              }
840            },
841            "overloads": [],
842            "decorators": [],
843            "loc": {
844              "start": {
845                "line": 29,
846                "column": 5
847              },
848              "end": {
849                "line": 29,
850                "column": 32
851              }
852            }
853          },
854          {
855            "type": "MethodDefinition",
856            "key": {
857              "type": "Identifier",
858              "name": "m",
859              "loc": {
860                "start": {
861                  "line": 30,
862                  "column": 16
863                },
864                "end": {
865                  "line": 30,
866                  "column": 17
867                }
868              }
869            },
870            "kind": "get",
871            "accessibility": "public",
872            "static": false,
873            "optional": false,
874            "computed": false,
875            "value": {
876              "type": "FunctionExpression",
877              "function": {
878                "type": "ScriptFunction",
879                "id": null,
880                "generator": false,
881                "async": false,
882                "expression": false,
883                "params": [],
884                "body": {
885                  "type": "BlockStatement",
886                  "statements": [
887                    {
888                      "type": "ReturnStatement",
889                      "argument": {
890                        "type": "NumberLiteral",
891                        "value": 2,
892                        "loc": {
893                          "start": {
894                            "line": 30,
895                            "column": 29
896                          },
897                          "end": {
898                            "line": 30,
899                            "column": 30
900                          }
901                        }
902                      },
903                      "loc": {
904                        "start": {
905                          "line": 30,
906                          "column": 22
907                        },
908                        "end": {
909                          "line": 30,
910                          "column": 30
911                        }
912                      }
913                    }
914                  ],
915                  "loc": {
916                    "start": {
917                      "line": 30,
918                      "column": 20
919                    },
920                    "end": {
921                      "line": 30,
922                      "column": 32
923                    }
924                  }
925                },
926                "loc": {
927                  "start": {
928                    "line": 30,
929                    "column": 17
930                  },
931                  "end": {
932                    "line": 30,
933                    "column": 32
934                  }
935                }
936              },
937              "loc": {
938                "start": {
939                  "line": 30,
940                  "column": 17
941                },
942                "end": {
943                  "line": 30,
944                  "column": 32
945                }
946              }
947            },
948            "overloads": [],
949            "decorators": [],
950            "loc": {
951              "start": {
952                "line": 30,
953                "column": 5
954              },
955              "end": {
956                "line": 30,
957                "column": 32
958              }
959            }
960          },
961          {
962            "type": "MethodDefinition",
963            "key": {
964              "type": "Identifier",
965              "name": "m",
966              "loc": {
967                "start": {
968                  "line": 31,
969                  "column": 19
970                },
971                "end": {
972                  "line": 31,
973                  "column": 20
974                }
975              }
976            },
977            "kind": "set",
978            "accessibility": "protected",
979            "static": false,
980            "optional": false,
981            "computed": false,
982            "value": {
983              "type": "FunctionExpression",
984              "function": {
985                "type": "ScriptFunction",
986                "id": null,
987                "generator": false,
988                "async": false,
989                "expression": false,
990                "params": [
991                  {
992                    "type": "Identifier",
993                    "name": "b",
994                    "typeAnnotation": {
995                      "type": "TSNumberKeyword",
996                      "loc": {
997                        "start": {
998                          "line": 31,
999                          "column": 24
1000                        },
1001                        "end": {
1002                          "line": 31,
1003                          "column": 30
1004                        }
1005                      }
1006                    },
1007                    "loc": {
1008                      "start": {
1009                        "line": 31,
1010                        "column": 21
1011                      },
1012                      "end": {
1013                        "line": 31,
1014                        "column": 22
1015                      }
1016                    }
1017                  }
1018                ],
1019                "body": {
1020                  "type": "BlockStatement",
1021                  "statements": [],
1022                  "loc": {
1023                    "start": {
1024                      "line": 31,
1025                      "column": 32
1026                    },
1027                    "end": {
1028                      "line": 31,
1029                      "column": 35
1030                    }
1031                  }
1032                },
1033                "loc": {
1034                  "start": {
1035                    "line": 31,
1036                    "column": 20
1037                  },
1038                  "end": {
1039                    "line": 31,
1040                    "column": 35
1041                  }
1042                }
1043              },
1044              "loc": {
1045                "start": {
1046                  "line": 31,
1047                  "column": 20
1048                },
1049                "end": {
1050                  "line": 31,
1051                  "column": 35
1052                }
1053              }
1054            },
1055            "overloads": [],
1056            "decorators": [],
1057            "loc": {
1058              "start": {
1059                "line": 31,
1060                "column": 5
1061              },
1062              "end": {
1063                "line": 31,
1064                "column": 35
1065              }
1066            }
1067          }
1068        ],
1069        "indexSignatures": [],
1070        "loc": {
1071          "start": {
1072            "line": 17,
1073            "column": 11
1074          },
1075          "end": {
1076            "line": 32,
1077            "column": 2
1078          }
1079        }
1080      },
1081      "decorators": [],
1082      "loc": {
1083        "start": {
1084          "line": 17,
1085          "column": 1
1086        },
1087        "end": {
1088          "line": 32,
1089          "column": 2
1090        }
1091      }
1092    },
1093    {
1094      "type": "ClassDeclaration",
1095      "definition": {
1096        "id": {
1097          "type": "Identifier",
1098          "name": "Bar",
1099          "loc": {
1100            "start": {
1101              "line": 34,
1102              "column": 7
1103            },
1104            "end": {
1105              "line": 34,
1106              "column": 10
1107            }
1108          }
1109        },
1110        "superClass": null,
1111        "implements": [],
1112        "constructor": {
1113          "type": "MethodDefinition",
1114          "key": {
1115            "type": "Identifier",
1116            "name": "constructor",
1117            "loc": {
1118              "start": {
1119                "line": 1,
1120                "column": 1
1121              },
1122              "end": {
1123                "line": 1,
1124                "column": 1
1125              }
1126            }
1127          },
1128          "kind": "constructor",
1129          "static": false,
1130          "optional": false,
1131          "computed": false,
1132          "value": {
1133            "type": "FunctionExpression",
1134            "function": {
1135              "type": "ScriptFunction",
1136              "id": null,
1137              "generator": false,
1138              "async": false,
1139              "expression": false,
1140              "params": [],
1141              "body": {
1142                "type": "BlockStatement",
1143                "statements": [],
1144                "loc": {
1145                  "start": {
1146                    "line": 1,
1147                    "column": 1
1148                  },
1149                  "end": {
1150                    "line": 1,
1151                    "column": 1
1152                  }
1153                }
1154              },
1155              "loc": {
1156                "start": {
1157                  "line": 1,
1158                  "column": 1
1159                },
1160                "end": {
1161                  "line": 1,
1162                  "column": 1
1163                }
1164              }
1165            },
1166            "loc": {
1167              "start": {
1168                "line": 1,
1169                "column": 1
1170              },
1171              "end": {
1172                "line": 1,
1173                "column": 1
1174              }
1175            }
1176          },
1177          "overloads": [],
1178          "decorators": [],
1179          "loc": {
1180            "start": {
1181              "line": 34,
1182              "column": 1
1183            },
1184            "end": {
1185              "line": 34,
1186              "column": 66
1187            }
1188          }
1189        },
1190        "body": [
1191          {
1192            "type": "ClassProperty",
1193            "key": {
1194              "type": "Identifier",
1195              "name": "c",
1196              "loc": {
1197                "start": {
1198                  "line": 34,
1199                  "column": 13
1200                },
1201                "end": {
1202                  "line": 34,
1203                  "column": 14
1204                }
1205              }
1206            },
1207            "static": false,
1208            "readonly": false,
1209            "declare": false,
1210            "optional": false,
1211            "computed": false,
1212            "decorators": [],
1213            "loc": {
1214              "start": {
1215                "line": 34,
1216                "column": 13
1217              },
1218              "end": {
1219                "line": 34,
1220                "column": 14
1221              }
1222            }
1223          },
1224          {
1225            "type": "MethodDefinition",
1226            "key": {
1227              "type": "Identifier",
1228              "name": "d",
1229              "loc": {
1230                "start": {
1231                  "line": 34,
1232                  "column": 16
1233                },
1234                "end": {
1235                  "line": 34,
1236                  "column": 17
1237                }
1238              }
1239            },
1240            "kind": "method",
1241            "static": false,
1242            "optional": false,
1243            "computed": false,
1244            "value": {
1245              "type": "FunctionExpression",
1246              "function": {
1247                "type": "ScriptFunction",
1248                "id": null,
1249                "generator": false,
1250                "async": false,
1251                "expression": false,
1252                "params": [],
1253                "body": {
1254                  "type": "BlockStatement",
1255                  "statements": [],
1256                  "loc": {
1257                    "start": {
1258                      "line": 34,
1259                      "column": 20
1260                    },
1261                    "end": {
1262                      "line": 34,
1263                      "column": 23
1264                    }
1265                  }
1266                },
1267                "loc": {
1268                  "start": {
1269                    "line": 34,
1270                    "column": 17
1271                  },
1272                  "end": {
1273                    "line": 34,
1274                    "column": 23
1275                  }
1276                }
1277              },
1278              "loc": {
1279                "start": {
1280                  "line": 34,
1281                  "column": 17
1282                },
1283                "end": {
1284                  "line": 34,
1285                  "column": 23
1286                }
1287              }
1288            },
1289            "overloads": [],
1290            "decorators": [],
1291            "loc": {
1292              "start": {
1293                "line": 34,
1294                "column": 16
1295              },
1296              "end": {
1297                "line": 34,
1298                "column": 23
1299              }
1300            }
1301          },
1302          {
1303            "type": "ClassProperty",
1304            "key": {
1305              "type": "Identifier",
1306              "name": "e",
1307              "loc": {
1308                "start": {
1309                  "line": 34,
1310                  "column": 24
1311                },
1312                "end": {
1313                  "line": 34,
1314                  "column": 25
1315                }
1316              }
1317            },
1318            "static": false,
1319            "readonly": false,
1320            "declare": false,
1321            "optional": false,
1322            "computed": false,
1323            "decorators": [],
1324            "loc": {
1325              "start": {
1326                "line": 34,
1327                "column": 24
1328              },
1329              "end": {
1330                "line": 34,
1331                "column": 25
1332              }
1333            }
1334          },
1335          {
1336            "type": "ClassProperty",
1337            "key": {
1338              "type": "Identifier",
1339              "name": "let",
1340              "loc": {
1341                "start": {
1342                  "line": 34,
1343                  "column": 27
1344                },
1345                "end": {
1346                  "line": 34,
1347                  "column": 30
1348                }
1349              }
1350            },
1351            "static": false,
1352            "readonly": false,
1353            "declare": false,
1354            "optional": false,
1355            "computed": false,
1356            "decorators": [],
1357            "loc": {
1358              "start": {
1359                "line": 34,
1360                "column": 27
1361              },
1362              "end": {
1363                "line": 34,
1364                "column": 30
1365              }
1366            }
1367          },
1368          {
1369            "type": "ClassProperty",
1370            "key": {
1371              "type": "Identifier",
1372              "name": "var",
1373              "loc": {
1374                "start": {
1375                  "line": 34,
1376                  "column": 32
1377                },
1378                "end": {
1379                  "line": 34,
1380                  "column": 35
1381                }
1382              }
1383            },
1384            "static": false,
1385            "readonly": false,
1386            "declare": false,
1387            "optional": false,
1388            "computed": false,
1389            "decorators": [],
1390            "loc": {
1391              "start": {
1392                "line": 34,
1393                "column": 32
1394              },
1395              "end": {
1396                "line": 34,
1397                "column": 35
1398              }
1399            }
1400          },
1401          {
1402            "type": "ClassProperty",
1403            "key": {
1404              "type": "Identifier",
1405              "name": "const",
1406              "loc": {
1407                "start": {
1408                  "line": 34,
1409                  "column": 37
1410                },
1411                "end": {
1412                  "line": 34,
1413                  "column": 42
1414                }
1415              }
1416            },
1417            "static": false,
1418            "readonly": false,
1419            "declare": false,
1420            "optional": false,
1421            "computed": false,
1422            "decorators": [],
1423            "loc": {
1424              "start": {
1425                "line": 34,
1426                "column": 37
1427              },
1428              "end": {
1429                "line": 34,
1430                "column": 42
1431              }
1432            }
1433          },
1434          {
1435            "type": "ClassProperty",
1436            "key": {
1437              "type": "Identifier",
1438              "name": "function",
1439              "loc": {
1440                "start": {
1441                  "line": 34,
1442                  "column": 44
1443                },
1444                "end": {
1445                  "line": 34,
1446                  "column": 52
1447                }
1448              }
1449            },
1450            "static": false,
1451            "readonly": false,
1452            "declare": false,
1453            "optional": false,
1454            "computed": false,
1455            "decorators": [],
1456            "loc": {
1457              "start": {
1458                "line": 34,
1459                "column": 44
1460              },
1461              "end": {
1462                "line": 34,
1463                "column": 52
1464              }
1465            }
1466          },
1467          {
1468            "type": "ClassProperty",
1469            "key": {
1470              "type": "Identifier",
1471              "name": "f",
1472              "loc": {
1473                "start": {
1474                  "line": 34,
1475                  "column": 54
1476                },
1477                "end": {
1478                  "line": 34,
1479                  "column": 55
1480                }
1481              }
1482            },
1483            "static": false,
1484            "readonly": false,
1485            "declare": false,
1486            "optional": false,
1487            "computed": false,
1488            "typeAnnotation": {
1489              "type": "TSNumberKeyword",
1490              "loc": {
1491                "start": {
1492                  "line": 34,
1493                  "column": 58
1494                },
1495                "end": {
1496                  "line": 34,
1497                  "column": 64
1498                }
1499              }
1500            },
1501            "definite": true,
1502            "decorators": [],
1503            "loc": {
1504              "start": {
1505                "line": 34,
1506                "column": 54
1507              },
1508              "end": {
1509                "line": 34,
1510                "column": 55
1511              }
1512            }
1513          }
1514        ],
1515        "indexSignatures": [],
1516        "loc": {
1517          "start": {
1518            "line": 34,
1519            "column": 11
1520          },
1521          "end": {
1522            "line": 34,
1523            "column": 66
1524          }
1525        }
1526      },
1527      "decorators": [],
1528      "loc": {
1529        "start": {
1530          "line": 34,
1531          "column": 1
1532        },
1533        "end": {
1534          "line": 34,
1535          "column": 66
1536        }
1537      }
1538    },
1539    {
1540      "type": "ClassDeclaration",
1541      "definition": {
1542        "id": {
1543          "type": "Identifier",
1544          "name": "Baz",
1545          "loc": {
1546            "start": {
1547              "line": 36,
1548              "column": 7
1549            },
1550            "end": {
1551              "line": 36,
1552              "column": 10
1553            }
1554          }
1555        },
1556        "superClass": null,
1557        "implements": [],
1558        "constructor": {
1559          "type": "MethodDefinition",
1560          "key": {
1561            "type": "Identifier",
1562            "name": "constructor",
1563            "loc": {
1564              "start": {
1565                "line": 38,
1566                "column": 5
1567              },
1568              "end": {
1569                "line": 38,
1570                "column": 16
1571              }
1572            }
1573          },
1574          "kind": "constructor",
1575          "static": false,
1576          "optional": false,
1577          "computed": false,
1578          "value": {
1579            "type": "FunctionExpression",
1580            "function": {
1581              "type": "ScriptFunction",
1582              "id": null,
1583              "generator": false,
1584              "async": false,
1585              "expression": false,
1586              "params": [
1587                {
1588                  "type": "Identifier",
1589                  "name": "name",
1590                  "typeAnnotation": {
1591                    "type": "TSStringKeyword",
1592                    "loc": {
1593                      "start": {
1594                        "line": 38,
1595                        "column": 23
1596                      },
1597                      "end": {
1598                        "line": 38,
1599                        "column": 29
1600                      }
1601                    }
1602                  },
1603                  "loc": {
1604                    "start": {
1605                      "line": 38,
1606                      "column": 17
1607                    },
1608                    "end": {
1609                      "line": 38,
1610                      "column": 21
1611                    }
1612                  }
1613                }
1614              ],
1615              "body": {
1616                "type": "BlockStatement",
1617                "statements": [
1618                  {
1619                    "type": "ExpressionStatement",
1620                    "expression": {
1621                      "type": "AssignmentExpression",
1622                      "operator": "=",
1623                      "left": {
1624                        "type": "MemberExpression",
1625                        "object": {
1626                          "type": "ThisExpression",
1627                          "loc": {
1628                            "start": {
1629                              "line": 39,
1630                              "column": 9
1631                            },
1632                            "end": {
1633                              "line": 39,
1634                              "column": 13
1635                            }
1636                          }
1637                        },
1638                        "property": {
1639                          "type": "TSPrivateIdentifier",
1640                          "key": {
1641                            "type": "Identifier",
1642                            "name": "name",
1643                            "loc": {
1644                              "start": {
1645                                "line": 39,
1646                                "column": 15
1647                              },
1648                              "end": {
1649                                "line": 39,
1650                                "column": 19
1651                              }
1652                            }
1653                          },
1654                          "loc": {
1655                            "start": {
1656                              "line": 39,
1657                              "column": 14
1658                            },
1659                            "end": {
1660                              "line": 39,
1661                              "column": 19
1662                            }
1663                          }
1664                        },
1665                        "computed": false,
1666                        "optional": false,
1667                        "loc": {
1668                          "start": {
1669                            "line": 39,
1670                            "column": 9
1671                          },
1672                          "end": {
1673                            "line": 39,
1674                            "column": 19
1675                          }
1676                        }
1677                      },
1678                      "right": {
1679                        "type": "Identifier",
1680                        "name": "name",
1681                        "loc": {
1682                          "start": {
1683                            "line": 39,
1684                            "column": 22
1685                          },
1686                          "end": {
1687                            "line": 39,
1688                            "column": 26
1689                          }
1690                        }
1691                      },
1692                      "loc": {
1693                        "start": {
1694                          "line": 39,
1695                          "column": 9
1696                        },
1697                        "end": {
1698                          "line": 39,
1699                          "column": 26
1700                        }
1701                      }
1702                    },
1703                    "loc": {
1704                      "start": {
1705                        "line": 39,
1706                        "column": 9
1707                      },
1708                      "end": {
1709                        "line": 39,
1710                        "column": 27
1711                      }
1712                    }
1713                  }
1714                ],
1715                "loc": {
1716                  "start": {
1717                    "line": 38,
1718                    "column": 31
1719                  },
1720                  "end": {
1721                    "line": 40,
1722                    "column": 6
1723                  }
1724                }
1725              },
1726              "loc": {
1727                "start": {
1728                  "line": 38,
1729                  "column": 16
1730                },
1731                "end": {
1732                  "line": 40,
1733                  "column": 6
1734                }
1735              }
1736            },
1737            "loc": {
1738              "start": {
1739                "line": 38,
1740                "column": 16
1741              },
1742              "end": {
1743                "line": 40,
1744                "column": 6
1745              }
1746            }
1747          },
1748          "overloads": [],
1749          "decorators": [],
1750          "loc": {
1751            "start": {
1752              "line": 38,
1753              "column": 5
1754            },
1755            "end": {
1756              "line": 40,
1757              "column": 6
1758            }
1759          }
1760        },
1761        "body": [
1762          {
1763            "type": "ClassProperty",
1764            "key": {
1765              "type": "TSPrivateIdentifier",
1766              "key": {
1767                "type": "Identifier",
1768                "name": "name",
1769                "loc": {
1770                  "start": {
1771                    "line": 37,
1772                    "column": 6
1773                  },
1774                  "end": {
1775                    "line": 37,
1776                    "column": 10
1777                  }
1778                }
1779              },
1780              "typeAnnotation": {
1781                "type": "TSStringKeyword",
1782                "loc": {
1783                  "start": {
1784                    "line": 37,
1785                    "column": 12
1786                  },
1787                  "end": {
1788                    "line": 37,
1789                    "column": 18
1790                  }
1791                }
1792              },
1793              "loc": {
1794                "start": {
1795                  "line": 37,
1796                  "column": 5
1797                },
1798                "end": {
1799                  "line": 37,
1800                  "column": 10
1801                }
1802              }
1803            },
1804            "static": false,
1805            "readonly": false,
1806            "declare": false,
1807            "optional": false,
1808            "computed": false,
1809            "typeAnnotation": {
1810              "type": "TSStringKeyword",
1811              "loc": {
1812                "start": {
1813                  "line": 37,
1814                  "column": 12
1815                },
1816                "end": {
1817                  "line": 37,
1818                  "column": 18
1819                }
1820              }
1821            },
1822            "decorators": [],
1823            "loc": {
1824              "start": {
1825                "line": 37,
1826                "column": 5
1827              },
1828              "end": {
1829                "line": 37,
1830                "column": 10
1831              }
1832            }
1833          },
1834          {
1835            "type": "MethodDefinition",
1836            "key": {
1837              "type": "Identifier",
1838              "name": "bar",
1839              "loc": {
1840                "start": {
1841                  "line": 41,
1842                  "column": 5
1843                },
1844                "end": {
1845                  "line": 41,
1846                  "column": 8
1847                }
1848              }
1849            },
1850            "kind": "method",
1851            "static": false,
1852            "optional": false,
1853            "computed": false,
1854            "value": {
1855              "type": "FunctionExpression",
1856              "function": {
1857                "type": "ScriptFunction",
1858                "id": null,
1859                "generator": false,
1860                "async": false,
1861                "expression": false,
1862                "params": [],
1863                "body": {
1864                  "type": "BlockStatement",
1865                  "statements": [
1866                    {
1867                      "type": "ReturnStatement",
1868                      "argument": {
1869                        "type": "MemberExpression",
1870                        "object": {
1871                          "type": "ThisExpression",
1872                          "loc": {
1873                            "start": {
1874                              "line": 41,
1875                              "column": 20
1876                            },
1877                            "end": {
1878                              "line": 41,
1879                              "column": 24
1880                            }
1881                          }
1882                        },
1883                        "property": {
1884                          "type": "TSPrivateIdentifier",
1885                          "key": {
1886                            "type": "Identifier",
1887                            "name": "name",
1888                            "loc": {
1889                              "start": {
1890                                "line": 41,
1891                                "column": 26
1892                              },
1893                              "end": {
1894                                "line": 41,
1895                                "column": 30
1896                              }
1897                            }
1898                          },
1899                          "loc": {
1900                            "start": {
1901                              "line": 41,
1902                              "column": 25
1903                            },
1904                            "end": {
1905                              "line": 41,
1906                              "column": 30
1907                            }
1908                          }
1909                        },
1910                        "computed": false,
1911                        "optional": false,
1912                        "loc": {
1913                          "start": {
1914                            "line": 41,
1915                            "column": 20
1916                          },
1917                          "end": {
1918                            "line": 41,
1919                            "column": 30
1920                          }
1921                        }
1922                      },
1923                      "loc": {
1924                        "start": {
1925                          "line": 41,
1926                          "column": 13
1927                        },
1928                        "end": {
1929                          "line": 41,
1930                          "column": 30
1931                        }
1932                      }
1933                    }
1934                  ],
1935                  "loc": {
1936                    "start": {
1937                      "line": 41,
1938                      "column": 11
1939                    },
1940                    "end": {
1941                      "line": 41,
1942                      "column": 32
1943                    }
1944                  }
1945                },
1946                "loc": {
1947                  "start": {
1948                    "line": 41,
1949                    "column": 8
1950                  },
1951                  "end": {
1952                    "line": 41,
1953                    "column": 32
1954                  }
1955                }
1956              },
1957              "loc": {
1958                "start": {
1959                  "line": 41,
1960                  "column": 8
1961                },
1962                "end": {
1963                  "line": 41,
1964                  "column": 32
1965                }
1966              }
1967            },
1968            "overloads": [],
1969            "decorators": [],
1970            "loc": {
1971              "start": {
1972                "line": 41,
1973                "column": 5
1974              },
1975              "end": {
1976                "line": 41,
1977                "column": 32
1978              }
1979            }
1980          }
1981        ],
1982        "indexSignatures": [],
1983        "loc": {
1984          "start": {
1985            "line": 36,
1986            "column": 11
1987          },
1988          "end": {
1989            "line": 42,
1990            "column": 2
1991          }
1992        }
1993      },
1994      "decorators": [],
1995      "loc": {
1996        "start": {
1997          "line": 36,
1998          "column": 1
1999        },
2000        "end": {
2001          "line": 42,
2002          "column": 2
2003        }
2004      }
2005    },
2006    {
2007      "type": "ClassDeclaration",
2008      "definition": {
2009        "id": {
2010          "type": "Identifier",
2011          "name": "Inga",
2012          "loc": {
2013            "start": {
2014              "line": 44,
2015              "column": 16
2016            },
2017            "end": {
2018              "line": 44,
2019              "column": 20
2020            }
2021          }
2022        },
2023        "superClass": null,
2024        "implements": [],
2025        "constructor": {
2026          "type": "MethodDefinition",
2027          "key": {
2028            "type": "Identifier",
2029            "name": "constructor",
2030            "loc": {
2031              "start": {
2032                "line": 1,
2033                "column": 1
2034              },
2035              "end": {
2036                "line": 1,
2037                "column": 1
2038              }
2039            }
2040          },
2041          "kind": "constructor",
2042          "static": false,
2043          "optional": false,
2044          "computed": false,
2045          "value": {
2046            "type": "FunctionExpression",
2047            "function": {
2048              "type": "ScriptFunction",
2049              "id": null,
2050              "generator": false,
2051              "async": false,
2052              "expression": false,
2053              "params": [],
2054              "body": {
2055                "type": "BlockStatement",
2056                "statements": [],
2057                "loc": {
2058                  "start": {
2059                    "line": 1,
2060                    "column": 1
2061                  },
2062                  "end": {
2063                    "line": 1,
2064                    "column": 1
2065                  }
2066                }
2067              },
2068              "loc": {
2069                "start": {
2070                  "line": 1,
2071                  "column": 1
2072                },
2073                "end": {
2074                  "line": 1,
2075                  "column": 1
2076                }
2077              }
2078            },
2079            "loc": {
2080              "start": {
2081                "line": 1,
2082                "column": 1
2083              },
2084              "end": {
2085                "line": 1,
2086                "column": 1
2087              }
2088            }
2089          },
2090          "overloads": [],
2091          "decorators": [],
2092          "loc": {
2093            "start": {
2094              "line": 44,
2095              "column": 10
2096            },
2097            "end": {
2098              "line": 47,
2099              "column": 2
2100            }
2101          }
2102        },
2103        "body": [
2104          {
2105            "type": "MethodDefinition",
2106            "key": {
2107              "type": "Identifier",
2108              "name": "a",
2109              "loc": {
2110                "start": {
2111                  "line": 45,
2112                  "column": 14
2113                },
2114                "end": {
2115                  "line": 45,
2116                  "column": 15
2117                }
2118              }
2119            },
2120            "kind": "method",
2121            "abstract": true,
2122            "static": false,
2123            "optional": false,
2124            "computed": false,
2125            "value": {
2126              "type": "FunctionExpression",
2127              "function": {
2128                "type": "ScriptFunction",
2129                "id": null,
2130                "generator": false,
2131                "async": false,
2132                "expression": false,
2133                "params": [],
2134                "loc": {
2135                  "start": {
2136                    "line": 45,
2137                    "column": 15
2138                  },
2139                  "end": {
2140                    "line": 45,
2141                    "column": 18
2142                  }
2143                }
2144              },
2145              "loc": {
2146                "start": {
2147                  "line": 45,
2148                  "column": 15
2149                },
2150                "end": {
2151                  "line": 45,
2152                  "column": 18
2153                }
2154              }
2155            },
2156            "overloads": [],
2157            "decorators": [],
2158            "loc": {
2159              "start": {
2160                "line": 45,
2161                "column": 5
2162              },
2163              "end": {
2164                "line": 45,
2165                "column": 18
2166              }
2167            }
2168          },
2169          {
2170            "type": "MethodDefinition",
2171            "key": {
2172              "type": "Identifier",
2173              "name": "aa",
2174              "loc": {
2175                "start": {
2176                  "line": 46,
2177                  "column": 5
2178                },
2179                "end": {
2180                  "line": 46,
2181                  "column": 7
2182                }
2183              }
2184            },
2185            "kind": "method",
2186            "static": false,
2187            "optional": false,
2188            "computed": false,
2189            "value": {
2190              "type": "FunctionExpression",
2191              "function": {
2192                "type": "ScriptFunction",
2193                "id": null,
2194                "generator": false,
2195                "async": false,
2196                "expression": false,
2197                "params": [],
2198                "body": {
2199                  "type": "BlockStatement",
2200                  "statements": [],
2201                  "loc": {
2202                    "start": {
2203                      "line": 46,
2204                      "column": 10
2205                    },
2206                    "end": {
2207                      "line": 46,
2208                      "column": 13
2209                    }
2210                  }
2211                },
2212                "loc": {
2213                  "start": {
2214                    "line": 46,
2215                    "column": 7
2216                  },
2217                  "end": {
2218                    "line": 46,
2219                    "column": 13
2220                  }
2221                }
2222              },
2223              "loc": {
2224                "start": {
2225                  "line": 46,
2226                  "column": 7
2227                },
2228                "end": {
2229                  "line": 46,
2230                  "column": 13
2231                }
2232              }
2233            },
2234            "overloads": [],
2235            "decorators": [],
2236            "loc": {
2237              "start": {
2238                "line": 46,
2239                "column": 5
2240              },
2241              "end": {
2242                "line": 46,
2243                "column": 13
2244              }
2245            }
2246          }
2247        ],
2248        "indexSignatures": [],
2249        "loc": {
2250          "start": {
2251            "line": 44,
2252            "column": 21
2253          },
2254          "end": {
2255            "line": 47,
2256            "column": 2
2257          }
2258        }
2259      },
2260      "decorators": [],
2261      "loc": {
2262        "start": {
2263          "line": 44,
2264          "column": 10
2265        },
2266        "end": {
2267          "line": 47,
2268          "column": 2
2269        }
2270      }
2271    }
2272  ],
2273  "loc": {
2274    "start": {
2275      "line": 1,
2276      "column": 1
2277    },
2278    "end": {
2279      "line": 48,
2280      "column": 1
2281    }
2282  }
2283}
2284