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