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