• 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": "PrivateIdentifier",
571              "prefix": "#",
572              "name": "o",
573              "loc": {
574                "start": {
575                  "line": 27,
576                  "column": 5
577                },
578                "end": {
579                  "line": 27,
580                  "column": 7
581                }
582              }
583            },
584            "value": {
585              "type": "NumberLiteral",
586              "value": 4,
587              "loc": {
588                "start": {
589                  "line": 27,
590                  "column": 10
591                },
592                "end": {
593                  "line": 27,
594                  "column": 11
595                }
596              }
597            },
598            "static": false,
599            "readonly": false,
600            "declare": false,
601            "optional": false,
602            "computed": false,
603            "decorators": [],
604            "loc": {
605              "start": {
606                "line": 27,
607                "column": 5
608              },
609              "end": {
610                "line": 27,
611                "column": 11
612              }
613            }
614          },
615          {
616            "type": "MethodDefinition",
617            "key": {
618              "type": "Identifier",
619              "name": "l",
620              "loc": {
621                "start": {
622                  "line": 28,
623                  "column": 9
624                },
625                "end": {
626                  "line": 28,
627                  "column": 10
628                }
629              }
630            },
631            "kind": "set",
632            "static": false,
633            "optional": false,
634            "computed": false,
635            "value": {
636              "type": "FunctionExpression",
637              "function": {
638                "type": "ScriptFunction",
639                "id": null,
640                "generator": false,
641                "async": false,
642                "expression": false,
643                "params": [
644                  {
645                    "type": "Identifier",
646                    "name": "b",
647                    "typeAnnotation": {
648                      "type": "TSNumberKeyword",
649                      "loc": {
650                        "start": {
651                          "line": 28,
652                          "column": 14
653                        },
654                        "end": {
655                          "line": 28,
656                          "column": 20
657                        }
658                      }
659                    },
660                    "loc": {
661                      "start": {
662                        "line": 28,
663                        "column": 11
664                      },
665                      "end": {
666                        "line": 28,
667                        "column": 12
668                      }
669                    }
670                  }
671                ],
672                "body": {
673                  "type": "BlockStatement",
674                  "statements": [],
675                  "loc": {
676                    "start": {
677                      "line": 28,
678                      "column": 22
679                    },
680                    "end": {
681                      "line": 28,
682                      "column": 25
683                    }
684                  }
685                },
686                "loc": {
687                  "start": {
688                    "line": 28,
689                    "column": 10
690                  },
691                  "end": {
692                    "line": 28,
693                    "column": 25
694                  }
695                }
696              },
697              "loc": {
698                "start": {
699                  "line": 28,
700                  "column": 10
701                },
702                "end": {
703                  "line": 28,
704                  "column": 25
705                }
706              }
707            },
708            "overloads": [],
709            "decorators": [],
710            "loc": {
711              "start": {
712                "line": 28,
713                "column": 5
714              },
715              "end": {
716                "line": 28,
717                "column": 25
718              }
719            }
720          },
721          {
722            "type": "MethodDefinition",
723            "key": {
724              "type": "Identifier",
725              "name": "l",
726              "loc": {
727                "start": {
728                  "line": 29,
729                  "column": 16
730                },
731                "end": {
732                  "line": 29,
733                  "column": 17
734                }
735              }
736            },
737            "kind": "get",
738            "accessibility": "public",
739            "static": false,
740            "optional": false,
741            "computed": false,
742            "value": {
743              "type": "FunctionExpression",
744              "function": {
745                "type": "ScriptFunction",
746                "id": null,
747                "generator": false,
748                "async": false,
749                "expression": false,
750                "params": [],
751                "body": {
752                  "type": "BlockStatement",
753                  "statements": [
754                    {
755                      "type": "ReturnStatement",
756                      "argument": {
757                        "type": "NumberLiteral",
758                        "value": 2,
759                        "loc": {
760                          "start": {
761                            "line": 29,
762                            "column": 29
763                          },
764                          "end": {
765                            "line": 29,
766                            "column": 30
767                          }
768                        }
769                      },
770                      "loc": {
771                        "start": {
772                          "line": 29,
773                          "column": 22
774                        },
775                        "end": {
776                          "line": 29,
777                          "column": 30
778                        }
779                      }
780                    }
781                  ],
782                  "loc": {
783                    "start": {
784                      "line": 29,
785                      "column": 20
786                    },
787                    "end": {
788                      "line": 29,
789                      "column": 32
790                    }
791                  }
792                },
793                "loc": {
794                  "start": {
795                    "line": 29,
796                    "column": 17
797                  },
798                  "end": {
799                    "line": 29,
800                    "column": 32
801                  }
802                }
803              },
804              "loc": {
805                "start": {
806                  "line": 29,
807                  "column": 17
808                },
809                "end": {
810                  "line": 29,
811                  "column": 32
812                }
813              }
814            },
815            "overloads": [],
816            "decorators": [],
817            "loc": {
818              "start": {
819                "line": 29,
820                "column": 5
821              },
822              "end": {
823                "line": 29,
824                "column": 32
825              }
826            }
827          },
828          {
829            "type": "MethodDefinition",
830            "key": {
831              "type": "Identifier",
832              "name": "m",
833              "loc": {
834                "start": {
835                  "line": 30,
836                  "column": 16
837                },
838                "end": {
839                  "line": 30,
840                  "column": 17
841                }
842              }
843            },
844            "kind": "get",
845            "accessibility": "public",
846            "static": false,
847            "optional": false,
848            "computed": false,
849            "value": {
850              "type": "FunctionExpression",
851              "function": {
852                "type": "ScriptFunction",
853                "id": null,
854                "generator": false,
855                "async": false,
856                "expression": false,
857                "params": [],
858                "body": {
859                  "type": "BlockStatement",
860                  "statements": [
861                    {
862                      "type": "ReturnStatement",
863                      "argument": {
864                        "type": "NumberLiteral",
865                        "value": 2,
866                        "loc": {
867                          "start": {
868                            "line": 30,
869                            "column": 29
870                          },
871                          "end": {
872                            "line": 30,
873                            "column": 30
874                          }
875                        }
876                      },
877                      "loc": {
878                        "start": {
879                          "line": 30,
880                          "column": 22
881                        },
882                        "end": {
883                          "line": 30,
884                          "column": 30
885                        }
886                      }
887                    }
888                  ],
889                  "loc": {
890                    "start": {
891                      "line": 30,
892                      "column": 20
893                    },
894                    "end": {
895                      "line": 30,
896                      "column": 32
897                    }
898                  }
899                },
900                "loc": {
901                  "start": {
902                    "line": 30,
903                    "column": 17
904                  },
905                  "end": {
906                    "line": 30,
907                    "column": 32
908                  }
909                }
910              },
911              "loc": {
912                "start": {
913                  "line": 30,
914                  "column": 17
915                },
916                "end": {
917                  "line": 30,
918                  "column": 32
919                }
920              }
921            },
922            "overloads": [],
923            "decorators": [],
924            "loc": {
925              "start": {
926                "line": 30,
927                "column": 5
928              },
929              "end": {
930                "line": 30,
931                "column": 32
932              }
933            }
934          },
935          {
936            "type": "MethodDefinition",
937            "key": {
938              "type": "Identifier",
939              "name": "m",
940              "loc": {
941                "start": {
942                  "line": 31,
943                  "column": 19
944                },
945                "end": {
946                  "line": 31,
947                  "column": 20
948                }
949              }
950            },
951            "kind": "set",
952            "accessibility": "protected",
953            "static": false,
954            "optional": false,
955            "computed": false,
956            "value": {
957              "type": "FunctionExpression",
958              "function": {
959                "type": "ScriptFunction",
960                "id": null,
961                "generator": false,
962                "async": false,
963                "expression": false,
964                "params": [
965                  {
966                    "type": "Identifier",
967                    "name": "b",
968                    "typeAnnotation": {
969                      "type": "TSNumberKeyword",
970                      "loc": {
971                        "start": {
972                          "line": 31,
973                          "column": 24
974                        },
975                        "end": {
976                          "line": 31,
977                          "column": 30
978                        }
979                      }
980                    },
981                    "loc": {
982                      "start": {
983                        "line": 31,
984                        "column": 21
985                      },
986                      "end": {
987                        "line": 31,
988                        "column": 22
989                      }
990                    }
991                  }
992                ],
993                "body": {
994                  "type": "BlockStatement",
995                  "statements": [],
996                  "loc": {
997                    "start": {
998                      "line": 31,
999                      "column": 32
1000                    },
1001                    "end": {
1002                      "line": 31,
1003                      "column": 35
1004                    }
1005                  }
1006                },
1007                "loc": {
1008                  "start": {
1009                    "line": 31,
1010                    "column": 20
1011                  },
1012                  "end": {
1013                    "line": 31,
1014                    "column": 35
1015                  }
1016                }
1017              },
1018              "loc": {
1019                "start": {
1020                  "line": 31,
1021                  "column": 20
1022                },
1023                "end": {
1024                  "line": 31,
1025                  "column": 35
1026                }
1027              }
1028            },
1029            "overloads": [],
1030            "decorators": [],
1031            "loc": {
1032              "start": {
1033                "line": 31,
1034                "column": 5
1035              },
1036              "end": {
1037                "line": 31,
1038                "column": 35
1039              }
1040            }
1041          }
1042        ],
1043        "indexSignatures": [],
1044        "loc": {
1045          "start": {
1046            "line": 17,
1047            "column": 11
1048          },
1049          "end": {
1050            "line": 32,
1051            "column": 2
1052          }
1053        }
1054      },
1055      "decorators": [],
1056      "loc": {
1057        "start": {
1058          "line": 17,
1059          "column": 1
1060        },
1061        "end": {
1062          "line": 32,
1063          "column": 2
1064        }
1065      }
1066    },
1067    {
1068      "type": "ClassDeclaration",
1069      "definition": {
1070        "id": {
1071          "type": "Identifier",
1072          "name": "Bar",
1073          "loc": {
1074            "start": {
1075              "line": 34,
1076              "column": 7
1077            },
1078            "end": {
1079              "line": 34,
1080              "column": 10
1081            }
1082          }
1083        },
1084        "superClass": null,
1085        "implements": [],
1086        "constructor": {
1087          "type": "MethodDefinition",
1088          "key": {
1089            "type": "Identifier",
1090            "name": "constructor",
1091            "loc": {
1092              "start": {
1093                "line": 1,
1094                "column": 1
1095              },
1096              "end": {
1097                "line": 1,
1098                "column": 1
1099              }
1100            }
1101          },
1102          "kind": "constructor",
1103          "static": false,
1104          "optional": false,
1105          "computed": false,
1106          "value": {
1107            "type": "FunctionExpression",
1108            "function": {
1109              "type": "ScriptFunction",
1110              "id": null,
1111              "generator": false,
1112              "async": false,
1113              "expression": false,
1114              "params": [],
1115              "body": {
1116                "type": "BlockStatement",
1117                "statements": [],
1118                "loc": {
1119                  "start": {
1120                    "line": 1,
1121                    "column": 1
1122                  },
1123                  "end": {
1124                    "line": 1,
1125                    "column": 1
1126                  }
1127                }
1128              },
1129              "loc": {
1130                "start": {
1131                  "line": 1,
1132                  "column": 1
1133                },
1134                "end": {
1135                  "line": 1,
1136                  "column": 1
1137                }
1138              }
1139            },
1140            "loc": {
1141              "start": {
1142                "line": 1,
1143                "column": 1
1144              },
1145              "end": {
1146                "line": 1,
1147                "column": 1
1148              }
1149            }
1150          },
1151          "overloads": [],
1152          "decorators": [],
1153          "loc": {
1154            "start": {
1155              "line": 34,
1156              "column": 1
1157            },
1158            "end": {
1159              "line": 34,
1160              "column": 66
1161            }
1162          }
1163        },
1164        "body": [
1165          {
1166            "type": "ClassProperty",
1167            "key": {
1168              "type": "Identifier",
1169              "name": "c",
1170              "loc": {
1171                "start": {
1172                  "line": 34,
1173                  "column": 13
1174                },
1175                "end": {
1176                  "line": 34,
1177                  "column": 14
1178                }
1179              }
1180            },
1181            "static": false,
1182            "readonly": false,
1183            "declare": false,
1184            "optional": false,
1185            "computed": false,
1186            "decorators": [],
1187            "loc": {
1188              "start": {
1189                "line": 34,
1190                "column": 13
1191              },
1192              "end": {
1193                "line": 34,
1194                "column": 14
1195              }
1196            }
1197          },
1198          {
1199            "type": "MethodDefinition",
1200            "key": {
1201              "type": "Identifier",
1202              "name": "d",
1203              "loc": {
1204                "start": {
1205                  "line": 34,
1206                  "column": 16
1207                },
1208                "end": {
1209                  "line": 34,
1210                  "column": 17
1211                }
1212              }
1213            },
1214            "kind": "method",
1215            "static": false,
1216            "optional": false,
1217            "computed": false,
1218            "value": {
1219              "type": "FunctionExpression",
1220              "function": {
1221                "type": "ScriptFunction",
1222                "id": null,
1223                "generator": false,
1224                "async": false,
1225                "expression": false,
1226                "params": [],
1227                "body": {
1228                  "type": "BlockStatement",
1229                  "statements": [],
1230                  "loc": {
1231                    "start": {
1232                      "line": 34,
1233                      "column": 20
1234                    },
1235                    "end": {
1236                      "line": 34,
1237                      "column": 23
1238                    }
1239                  }
1240                },
1241                "loc": {
1242                  "start": {
1243                    "line": 34,
1244                    "column": 17
1245                  },
1246                  "end": {
1247                    "line": 34,
1248                    "column": 23
1249                  }
1250                }
1251              },
1252              "loc": {
1253                "start": {
1254                  "line": 34,
1255                  "column": 17
1256                },
1257                "end": {
1258                  "line": 34,
1259                  "column": 23
1260                }
1261              }
1262            },
1263            "overloads": [],
1264            "decorators": [],
1265            "loc": {
1266              "start": {
1267                "line": 34,
1268                "column": 16
1269              },
1270              "end": {
1271                "line": 34,
1272                "column": 23
1273              }
1274            }
1275          },
1276          {
1277            "type": "ClassProperty",
1278            "key": {
1279              "type": "Identifier",
1280              "name": "e",
1281              "loc": {
1282                "start": {
1283                  "line": 34,
1284                  "column": 24
1285                },
1286                "end": {
1287                  "line": 34,
1288                  "column": 25
1289                }
1290              }
1291            },
1292            "static": false,
1293            "readonly": false,
1294            "declare": false,
1295            "optional": false,
1296            "computed": false,
1297            "decorators": [],
1298            "loc": {
1299              "start": {
1300                "line": 34,
1301                "column": 24
1302              },
1303              "end": {
1304                "line": 34,
1305                "column": 25
1306              }
1307            }
1308          },
1309          {
1310            "type": "ClassProperty",
1311            "key": {
1312              "type": "Identifier",
1313              "name": "let",
1314              "loc": {
1315                "start": {
1316                  "line": 34,
1317                  "column": 27
1318                },
1319                "end": {
1320                  "line": 34,
1321                  "column": 30
1322                }
1323              }
1324            },
1325            "static": false,
1326            "readonly": false,
1327            "declare": false,
1328            "optional": false,
1329            "computed": false,
1330            "decorators": [],
1331            "loc": {
1332              "start": {
1333                "line": 34,
1334                "column": 27
1335              },
1336              "end": {
1337                "line": 34,
1338                "column": 30
1339              }
1340            }
1341          },
1342          {
1343            "type": "ClassProperty",
1344            "key": {
1345              "type": "Identifier",
1346              "name": "var",
1347              "loc": {
1348                "start": {
1349                  "line": 34,
1350                  "column": 32
1351                },
1352                "end": {
1353                  "line": 34,
1354                  "column": 35
1355                }
1356              }
1357            },
1358            "static": false,
1359            "readonly": false,
1360            "declare": false,
1361            "optional": false,
1362            "computed": false,
1363            "decorators": [],
1364            "loc": {
1365              "start": {
1366                "line": 34,
1367                "column": 32
1368              },
1369              "end": {
1370                "line": 34,
1371                "column": 35
1372              }
1373            }
1374          },
1375          {
1376            "type": "ClassProperty",
1377            "key": {
1378              "type": "Identifier",
1379              "name": "const",
1380              "loc": {
1381                "start": {
1382                  "line": 34,
1383                  "column": 37
1384                },
1385                "end": {
1386                  "line": 34,
1387                  "column": 42
1388                }
1389              }
1390            },
1391            "static": false,
1392            "readonly": false,
1393            "declare": false,
1394            "optional": false,
1395            "computed": false,
1396            "decorators": [],
1397            "loc": {
1398              "start": {
1399                "line": 34,
1400                "column": 37
1401              },
1402              "end": {
1403                "line": 34,
1404                "column": 42
1405              }
1406            }
1407          },
1408          {
1409            "type": "ClassProperty",
1410            "key": {
1411              "type": "Identifier",
1412              "name": "function",
1413              "loc": {
1414                "start": {
1415                  "line": 34,
1416                  "column": 44
1417                },
1418                "end": {
1419                  "line": 34,
1420                  "column": 52
1421                }
1422              }
1423            },
1424            "static": false,
1425            "readonly": false,
1426            "declare": false,
1427            "optional": false,
1428            "computed": false,
1429            "decorators": [],
1430            "loc": {
1431              "start": {
1432                "line": 34,
1433                "column": 44
1434              },
1435              "end": {
1436                "line": 34,
1437                "column": 52
1438              }
1439            }
1440          },
1441          {
1442            "type": "ClassProperty",
1443            "key": {
1444              "type": "Identifier",
1445              "name": "f",
1446              "loc": {
1447                "start": {
1448                  "line": 34,
1449                  "column": 54
1450                },
1451                "end": {
1452                  "line": 34,
1453                  "column": 55
1454                }
1455              }
1456            },
1457            "static": false,
1458            "readonly": false,
1459            "declare": false,
1460            "optional": false,
1461            "computed": false,
1462            "typeAnnotation": {
1463              "type": "TSNumberKeyword",
1464              "loc": {
1465                "start": {
1466                  "line": 34,
1467                  "column": 58
1468                },
1469                "end": {
1470                  "line": 34,
1471                  "column": 64
1472                }
1473              }
1474            },
1475            "definite": true,
1476            "decorators": [],
1477            "loc": {
1478              "start": {
1479                "line": 34,
1480                "column": 54
1481              },
1482              "end": {
1483                "line": 34,
1484                "column": 55
1485              }
1486            }
1487          }
1488        ],
1489        "indexSignatures": [],
1490        "loc": {
1491          "start": {
1492            "line": 34,
1493            "column": 11
1494          },
1495          "end": {
1496            "line": 34,
1497            "column": 66
1498          }
1499        }
1500      },
1501      "decorators": [],
1502      "loc": {
1503        "start": {
1504          "line": 34,
1505          "column": 1
1506        },
1507        "end": {
1508          "line": 34,
1509          "column": 66
1510        }
1511      }
1512    },
1513    {
1514      "type": "ClassDeclaration",
1515      "definition": {
1516        "id": {
1517          "type": "Identifier",
1518          "name": "Baz",
1519          "loc": {
1520            "start": {
1521              "line": 36,
1522              "column": 7
1523            },
1524            "end": {
1525              "line": 36,
1526              "column": 10
1527            }
1528          }
1529        },
1530        "superClass": null,
1531        "implements": [],
1532        "constructor": {
1533          "type": "MethodDefinition",
1534          "key": {
1535            "type": "Identifier",
1536            "name": "constructor",
1537            "loc": {
1538              "start": {
1539                "line": 38,
1540                "column": 5
1541              },
1542              "end": {
1543                "line": 38,
1544                "column": 16
1545              }
1546            }
1547          },
1548          "kind": "constructor",
1549          "static": false,
1550          "optional": false,
1551          "computed": false,
1552          "value": {
1553            "type": "FunctionExpression",
1554            "function": {
1555              "type": "ScriptFunction",
1556              "id": null,
1557              "generator": false,
1558              "async": false,
1559              "expression": false,
1560              "params": [
1561                {
1562                  "type": "Identifier",
1563                  "name": "name",
1564                  "typeAnnotation": {
1565                    "type": "TSStringKeyword",
1566                    "loc": {
1567                      "start": {
1568                        "line": 38,
1569                        "column": 23
1570                      },
1571                      "end": {
1572                        "line": 38,
1573                        "column": 29
1574                      }
1575                    }
1576                  },
1577                  "loc": {
1578                    "start": {
1579                      "line": 38,
1580                      "column": 17
1581                    },
1582                    "end": {
1583                      "line": 38,
1584                      "column": 21
1585                    }
1586                  }
1587                }
1588              ],
1589              "body": {
1590                "type": "BlockStatement",
1591                "statements": [
1592                  {
1593                    "type": "ExpressionStatement",
1594                    "expression": {
1595                      "type": "AssignmentExpression",
1596                      "operator": "=",
1597                      "left": {
1598                        "type": "MemberExpression",
1599                        "object": {
1600                          "type": "ThisExpression",
1601                          "loc": {
1602                            "start": {
1603                              "line": 39,
1604                              "column": 9
1605                            },
1606                            "end": {
1607                              "line": 39,
1608                              "column": 13
1609                            }
1610                          }
1611                        },
1612                        "property": {
1613                          "type": "PrivateIdentifier",
1614                          "prefix": "#",
1615                          "name": "name",
1616                          "loc": {
1617                            "start": {
1618                              "line": 39,
1619                              "column": 14
1620                            },
1621                            "end": {
1622                              "line": 39,
1623                              "column": 19
1624                            }
1625                          }
1626                        },
1627                        "computed": false,
1628                        "optional": false,
1629                        "loc": {
1630                          "start": {
1631                            "line": 39,
1632                            "column": 9
1633                          },
1634                          "end": {
1635                            "line": 39,
1636                            "column": 19
1637                          }
1638                        }
1639                      },
1640                      "right": {
1641                        "type": "Identifier",
1642                        "name": "name",
1643                        "loc": {
1644                          "start": {
1645                            "line": 39,
1646                            "column": 22
1647                          },
1648                          "end": {
1649                            "line": 39,
1650                            "column": 26
1651                          }
1652                        }
1653                      },
1654                      "loc": {
1655                        "start": {
1656                          "line": 39,
1657                          "column": 9
1658                        },
1659                        "end": {
1660                          "line": 39,
1661                          "column": 26
1662                        }
1663                      }
1664                    },
1665                    "loc": {
1666                      "start": {
1667                        "line": 39,
1668                        "column": 9
1669                      },
1670                      "end": {
1671                        "line": 39,
1672                        "column": 27
1673                      }
1674                    }
1675                  }
1676                ],
1677                "loc": {
1678                  "start": {
1679                    "line": 38,
1680                    "column": 31
1681                  },
1682                  "end": {
1683                    "line": 40,
1684                    "column": 6
1685                  }
1686                }
1687              },
1688              "loc": {
1689                "start": {
1690                  "line": 38,
1691                  "column": 16
1692                },
1693                "end": {
1694                  "line": 40,
1695                  "column": 6
1696                }
1697              }
1698            },
1699            "loc": {
1700              "start": {
1701                "line": 38,
1702                "column": 16
1703              },
1704              "end": {
1705                "line": 40,
1706                "column": 6
1707              }
1708            }
1709          },
1710          "overloads": [],
1711          "decorators": [],
1712          "loc": {
1713            "start": {
1714              "line": 38,
1715              "column": 5
1716            },
1717            "end": {
1718              "line": 40,
1719              "column": 6
1720            }
1721          }
1722        },
1723        "body": [
1724          {
1725            "type": "ClassProperty",
1726            "key": {
1727              "type": "PrivateIdentifier",
1728              "prefix": "#",
1729              "name": "name",
1730              "loc": {
1731                "start": {
1732                  "line": 37,
1733                  "column": 5
1734                },
1735                "end": {
1736                  "line": 37,
1737                  "column": 10
1738                }
1739              }
1740            },
1741            "static": false,
1742            "readonly": false,
1743            "declare": false,
1744            "optional": false,
1745            "computed": false,
1746            "typeAnnotation": {
1747              "type": "TSStringKeyword",
1748              "loc": {
1749                "start": {
1750                  "line": 37,
1751                  "column": 12
1752                },
1753                "end": {
1754                  "line": 37,
1755                  "column": 18
1756                }
1757              }
1758            },
1759            "decorators": [],
1760            "loc": {
1761              "start": {
1762                "line": 37,
1763                "column": 5
1764              },
1765              "end": {
1766                "line": 37,
1767                "column": 10
1768              }
1769            }
1770          },
1771          {
1772            "type": "MethodDefinition",
1773            "key": {
1774              "type": "Identifier",
1775              "name": "bar",
1776              "loc": {
1777                "start": {
1778                  "line": 41,
1779                  "column": 5
1780                },
1781                "end": {
1782                  "line": 41,
1783                  "column": 8
1784                }
1785              }
1786            },
1787            "kind": "method",
1788            "static": false,
1789            "optional": false,
1790            "computed": false,
1791            "value": {
1792              "type": "FunctionExpression",
1793              "function": {
1794                "type": "ScriptFunction",
1795                "id": null,
1796                "generator": false,
1797                "async": false,
1798                "expression": false,
1799                "params": [],
1800                "body": {
1801                  "type": "BlockStatement",
1802                  "statements": [
1803                    {
1804                      "type": "ReturnStatement",
1805                      "argument": {
1806                        "type": "MemberExpression",
1807                        "object": {
1808                          "type": "ThisExpression",
1809                          "loc": {
1810                            "start": {
1811                              "line": 41,
1812                              "column": 20
1813                            },
1814                            "end": {
1815                              "line": 41,
1816                              "column": 24
1817                            }
1818                          }
1819                        },
1820                        "property": {
1821                          "type": "PrivateIdentifier",
1822                          "prefix": "#",
1823                          "name": "name",
1824                          "loc": {
1825                            "start": {
1826                              "line": 41,
1827                              "column": 25
1828                            },
1829                            "end": {
1830                              "line": 41,
1831                              "column": 30
1832                            }
1833                          }
1834                        },
1835                        "computed": false,
1836                        "optional": false,
1837                        "loc": {
1838                          "start": {
1839                            "line": 41,
1840                            "column": 20
1841                          },
1842                          "end": {
1843                            "line": 41,
1844                            "column": 30
1845                          }
1846                        }
1847                      },
1848                      "loc": {
1849                        "start": {
1850                          "line": 41,
1851                          "column": 13
1852                        },
1853                        "end": {
1854                          "line": 41,
1855                          "column": 30
1856                        }
1857                      }
1858                    }
1859                  ],
1860                  "loc": {
1861                    "start": {
1862                      "line": 41,
1863                      "column": 11
1864                    },
1865                    "end": {
1866                      "line": 41,
1867                      "column": 32
1868                    }
1869                  }
1870                },
1871                "loc": {
1872                  "start": {
1873                    "line": 41,
1874                    "column": 8
1875                  },
1876                  "end": {
1877                    "line": 41,
1878                    "column": 32
1879                  }
1880                }
1881              },
1882              "loc": {
1883                "start": {
1884                  "line": 41,
1885                  "column": 8
1886                },
1887                "end": {
1888                  "line": 41,
1889                  "column": 32
1890                }
1891              }
1892            },
1893            "overloads": [],
1894            "decorators": [],
1895            "loc": {
1896              "start": {
1897                "line": 41,
1898                "column": 5
1899              },
1900              "end": {
1901                "line": 41,
1902                "column": 32
1903              }
1904            }
1905          }
1906        ],
1907        "indexSignatures": [],
1908        "loc": {
1909          "start": {
1910            "line": 36,
1911            "column": 11
1912          },
1913          "end": {
1914            "line": 42,
1915            "column": 2
1916          }
1917        }
1918      },
1919      "decorators": [],
1920      "loc": {
1921        "start": {
1922          "line": 36,
1923          "column": 1
1924        },
1925        "end": {
1926          "line": 42,
1927          "column": 2
1928        }
1929      }
1930    },
1931    {
1932      "type": "ClassDeclaration",
1933      "definition": {
1934        "id": {
1935          "type": "Identifier",
1936          "name": "Inga",
1937          "loc": {
1938            "start": {
1939              "line": 44,
1940              "column": 16
1941            },
1942            "end": {
1943              "line": 44,
1944              "column": 20
1945            }
1946          }
1947        },
1948        "superClass": null,
1949        "implements": [],
1950        "constructor": {
1951          "type": "MethodDefinition",
1952          "key": {
1953            "type": "Identifier",
1954            "name": "constructor",
1955            "loc": {
1956              "start": {
1957                "line": 1,
1958                "column": 1
1959              },
1960              "end": {
1961                "line": 1,
1962                "column": 1
1963              }
1964            }
1965          },
1966          "kind": "constructor",
1967          "static": false,
1968          "optional": false,
1969          "computed": false,
1970          "value": {
1971            "type": "FunctionExpression",
1972            "function": {
1973              "type": "ScriptFunction",
1974              "id": null,
1975              "generator": false,
1976              "async": false,
1977              "expression": false,
1978              "params": [],
1979              "body": {
1980                "type": "BlockStatement",
1981                "statements": [],
1982                "loc": {
1983                  "start": {
1984                    "line": 1,
1985                    "column": 1
1986                  },
1987                  "end": {
1988                    "line": 1,
1989                    "column": 1
1990                  }
1991                }
1992              },
1993              "loc": {
1994                "start": {
1995                  "line": 1,
1996                  "column": 1
1997                },
1998                "end": {
1999                  "line": 1,
2000                  "column": 1
2001                }
2002              }
2003            },
2004            "loc": {
2005              "start": {
2006                "line": 1,
2007                "column": 1
2008              },
2009              "end": {
2010                "line": 1,
2011                "column": 1
2012              }
2013            }
2014          },
2015          "overloads": [],
2016          "decorators": [],
2017          "loc": {
2018            "start": {
2019              "line": 44,
2020              "column": 10
2021            },
2022            "end": {
2023              "line": 47,
2024              "column": 2
2025            }
2026          }
2027        },
2028        "body": [
2029          {
2030            "type": "MethodDefinition",
2031            "key": {
2032              "type": "Identifier",
2033              "name": "a",
2034              "loc": {
2035                "start": {
2036                  "line": 45,
2037                  "column": 14
2038                },
2039                "end": {
2040                  "line": 45,
2041                  "column": 15
2042                }
2043              }
2044            },
2045            "kind": "method",
2046            "abstract": true,
2047            "static": false,
2048            "optional": false,
2049            "computed": false,
2050            "value": {
2051              "type": "FunctionExpression",
2052              "function": {
2053                "type": "ScriptFunction",
2054                "id": null,
2055                "generator": false,
2056                "async": false,
2057                "expression": false,
2058                "params": [],
2059                "loc": {
2060                  "start": {
2061                    "line": 45,
2062                    "column": 15
2063                  },
2064                  "end": {
2065                    "line": 45,
2066                    "column": 18
2067                  }
2068                }
2069              },
2070              "loc": {
2071                "start": {
2072                  "line": 45,
2073                  "column": 15
2074                },
2075                "end": {
2076                  "line": 45,
2077                  "column": 18
2078                }
2079              }
2080            },
2081            "overloads": [],
2082            "decorators": [],
2083            "loc": {
2084              "start": {
2085                "line": 45,
2086                "column": 5
2087              },
2088              "end": {
2089                "line": 45,
2090                "column": 18
2091              }
2092            }
2093          },
2094          {
2095            "type": "MethodDefinition",
2096            "key": {
2097              "type": "Identifier",
2098              "name": "aa",
2099              "loc": {
2100                "start": {
2101                  "line": 46,
2102                  "column": 5
2103                },
2104                "end": {
2105                  "line": 46,
2106                  "column": 7
2107                }
2108              }
2109            },
2110            "kind": "method",
2111            "static": false,
2112            "optional": false,
2113            "computed": false,
2114            "value": {
2115              "type": "FunctionExpression",
2116              "function": {
2117                "type": "ScriptFunction",
2118                "id": null,
2119                "generator": false,
2120                "async": false,
2121                "expression": false,
2122                "params": [],
2123                "body": {
2124                  "type": "BlockStatement",
2125                  "statements": [],
2126                  "loc": {
2127                    "start": {
2128                      "line": 46,
2129                      "column": 10
2130                    },
2131                    "end": {
2132                      "line": 46,
2133                      "column": 13
2134                    }
2135                  }
2136                },
2137                "loc": {
2138                  "start": {
2139                    "line": 46,
2140                    "column": 7
2141                  },
2142                  "end": {
2143                    "line": 46,
2144                    "column": 13
2145                  }
2146                }
2147              },
2148              "loc": {
2149                "start": {
2150                  "line": 46,
2151                  "column": 7
2152                },
2153                "end": {
2154                  "line": 46,
2155                  "column": 13
2156                }
2157              }
2158            },
2159            "overloads": [],
2160            "decorators": [],
2161            "loc": {
2162              "start": {
2163                "line": 46,
2164                "column": 5
2165              },
2166              "end": {
2167                "line": 46,
2168                "column": 13
2169              }
2170            }
2171          }
2172        ],
2173        "indexSignatures": [],
2174        "loc": {
2175          "start": {
2176            "line": 44,
2177            "column": 21
2178          },
2179          "end": {
2180            "line": 47,
2181            "column": 2
2182          }
2183        }
2184      },
2185      "decorators": [],
2186      "loc": {
2187        "start": {
2188          "line": 44,
2189          "column": 10
2190        },
2191        "end": {
2192          "line": 47,
2193          "column": 2
2194        }
2195      }
2196    }
2197  ],
2198  "loc": {
2199    "start": {
2200      "line": 1,
2201      "column": 1
2202    },
2203    "end": {
2204      "line": 48,
2205      "column": 1
2206    }
2207  }
2208}
2209