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