1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "Class1",
10          "loc": {
11            "start": {
12              "line": 17,
13              "column": 15
14            },
15            "end": {
16              "line": 17,
17              "column": 21
18            }
19          }
20        },
21        "superClass": null,
22        "implements": [],
23        "constructor": {
24          "type": "MethodDefinition",
25          "key": {
26            "type": "Identifier",
27            "name": "constructor",
28            "loc": {
29              "start": {
30                "line": 18,
31                "column": 5
32              },
33              "end": {
34                "line": 18,
35                "column": 16
36              }
37            }
38          },
39          "kind": "constructor",
40          "static": false,
41          "optional": false,
42          "computed": false,
43          "value": {
44            "type": "FunctionExpression",
45            "function": {
46              "type": "ScriptFunction",
47              "id": null,
48              "generator": false,
49              "async": false,
50              "expression": false,
51              "params": [
52                {
53                  "type": "Identifier",
54                  "name": "a",
55                  "typeAnnotation": {
56                    "type": "TSNumberKeyword",
57                    "loc": {
58                      "start": {
59                        "line": 18,
60                        "column": 20
61                      },
62                      "end": {
63                        "line": 18,
64                        "column": 26
65                      }
66                    }
67                  },
68                  "loc": {
69                    "start": {
70                      "line": 18,
71                      "column": 17
72                    },
73                    "end": {
74                      "line": 18,
75                      "column": 18
76                    }
77                  }
78                }
79              ],
80              "loc": {
81                "start": {
82                  "line": 18,
83                  "column": 16
84                },
85                "end": {
86                  "line": 18,
87                  "column": 28
88                }
89              }
90            },
91            "loc": {
92              "start": {
93                "line": 18,
94                "column": 16
95              },
96              "end": {
97                "line": 18,
98                "column": 28
99              }
100            }
101          },
102          "overloads": [],
103          "decorators": [],
104          "annotations": [],
105          "loc": {
106            "start": {
107              "line": 18,
108              "column": 5
109            },
110            "end": {
111              "line": 18,
112              "column": 28
113            }
114          }
115        },
116        "body": [
117          {
118            "type": "MethodDefinition",
119            "key": {
120              "type": "Identifier",
121              "name": "a",
122              "loc": {
123                "start": {
124                  "line": 19,
125                  "column": 5
126                },
127                "end": {
128                  "line": 19,
129                  "column": 6
130                }
131              }
132            },
133            "kind": "method",
134            "static": false,
135            "optional": false,
136            "computed": false,
137            "value": {
138              "type": "FunctionExpression",
139              "function": {
140                "type": "ScriptFunction",
141                "id": null,
142                "generator": false,
143                "async": false,
144                "expression": false,
145                "params": [],
146                "loc": {
147                  "start": {
148                    "line": 19,
149                    "column": 6
150                  },
151                  "end": {
152                    "line": 19,
153                    "column": 9
154                  }
155                }
156              },
157              "loc": {
158                "start": {
159                  "line": 19,
160                  "column": 6
161                },
162                "end": {
163                  "line": 19,
164                  "column": 9
165                }
166              }
167            },
168            "overloads": [],
169            "decorators": [],
170            "annotations": [],
171            "loc": {
172              "start": {
173                "line": 19,
174                "column": 5
175              },
176              "end": {
177                "line": 19,
178                "column": 9
179              }
180            }
181          },
182          {
183            "type": "MethodDefinition",
184            "key": {
185              "type": "Identifier",
186              "name": "a",
187              "loc": {
188                "start": {
189                  "line": 20,
190                  "column": 5
191                },
192                "end": {
193                  "line": 20,
194                  "column": 6
195                }
196              }
197            },
198            "kind": "method",
199            "static": false,
200            "optional": false,
201            "computed": false,
202            "value": {
203              "type": "FunctionExpression",
204              "function": {
205                "type": "ScriptFunction",
206                "id": null,
207                "generator": false,
208                "async": false,
209                "expression": false,
210                "params": [],
211                "loc": {
212                  "start": {
213                    "line": 20,
214                    "column": 6
215                  },
216                  "end": {
217                    "line": 20,
218                    "column": 9
219                  }
220                }
221              },
222              "loc": {
223                "start": {
224                  "line": 20,
225                  "column": 6
226                },
227                "end": {
228                  "line": 20,
229                  "column": 9
230                }
231              }
232            },
233            "overloads": [],
234            "decorators": [],
235            "annotations": [],
236            "loc": {
237              "start": {
238                "line": 20,
239                "column": 5
240              },
241              "end": {
242                "line": 20,
243                "column": 9
244              }
245            }
246          },
247          {
248            "type": "MethodDefinition",
249            "key": {
250              "type": "Identifier",
251              "name": "b",
252              "loc": {
253                "start": {
254                  "line": 21,
255                  "column": 5
256                },
257                "end": {
258                  "line": 21,
259                  "column": 6
260                }
261              }
262            },
263            "kind": "method",
264            "static": false,
265            "optional": false,
266            "computed": false,
267            "value": {
268              "type": "FunctionExpression",
269              "function": {
270                "type": "ScriptFunction",
271                "id": null,
272                "generator": false,
273                "async": false,
274                "expression": false,
275                "params": [],
276                "loc": {
277                  "start": {
278                    "line": 21,
279                    "column": 6
280                  },
281                  "end": {
282                    "line": 21,
283                    "column": 9
284                  }
285                }
286              },
287              "loc": {
288                "start": {
289                  "line": 21,
290                  "column": 6
291                },
292                "end": {
293                  "line": 21,
294                  "column": 9
295                }
296              }
297            },
298            "overloads": [],
299            "decorators": [],
300            "annotations": [],
301            "loc": {
302              "start": {
303                "line": 21,
304                "column": 5
305              },
306              "end": {
307                "line": 21,
308                "column": 9
309              }
310            }
311          }
312        ],
313        "indexSignatures": [],
314        "loc": {
315          "start": {
316            "line": 17,
317            "column": 22
318          },
319          "end": {
320            "line": 22,
321            "column": 2
322          }
323        }
324      },
325      "decorators": [],
326      "isAnnotationDeclaration": false,
327      "loc": {
328        "start": {
329          "line": 17,
330          "column": 9
331        },
332        "end": {
333          "line": 22,
334          "column": 2
335        }
336      }
337    },
338    {
339      "type": "ClassDeclaration",
340      "definition": {
341        "id": {
342          "type": "Identifier",
343          "name": "Class2",
344          "loc": {
345            "start": {
346              "line": 24,
347              "column": 7
348            },
349            "end": {
350              "line": 24,
351              "column": 13
352            }
353          }
354        },
355        "superClass": null,
356        "implements": [],
357        "constructor": {
358          "type": "MethodDefinition",
359          "key": {
360            "type": "Identifier",
361            "name": "constructor",
362            "loc": {
363              "start": {
364                "line": 1,
365                "column": 1
366              },
367              "end": {
368                "line": 1,
369                "column": 1
370              }
371            }
372          },
373          "kind": "constructor",
374          "static": false,
375          "optional": false,
376          "computed": false,
377          "value": {
378            "type": "FunctionExpression",
379            "function": {
380              "type": "ScriptFunction",
381              "id": null,
382              "generator": false,
383              "async": false,
384              "expression": false,
385              "params": [],
386              "body": {
387                "type": "BlockStatement",
388                "statements": [],
389                "loc": {
390                  "start": {
391                    "line": 1,
392                    "column": 1
393                  },
394                  "end": {
395                    "line": 1,
396                    "column": 1
397                  }
398                }
399              },
400              "loc": {
401                "start": {
402                  "line": 1,
403                  "column": 1
404                },
405                "end": {
406                  "line": 1,
407                  "column": 1
408                }
409              }
410            },
411            "loc": {
412              "start": {
413                "line": 1,
414                "column": 1
415              },
416              "end": {
417                "line": 1,
418                "column": 1
419              }
420            }
421          },
422          "overloads": [],
423          "decorators": [],
424          "annotations": [],
425          "loc": {
426            "start": {
427              "line": 24,
428              "column": 1
429            },
430            "end": {
431              "line": 44,
432              "column": 2
433            }
434          }
435        },
436        "body": [
437          {
438            "type": "ClassProperty",
439            "key": {
440              "type": "Identifier",
441              "name": "s",
442              "loc": {
443                "start": {
444                  "line": 25,
445                  "column": 5
446                },
447                "end": {
448                  "line": 25,
449                  "column": 6
450                }
451              }
452            },
453            "static": false,
454            "readonly": false,
455            "declare": false,
456            "optional": false,
457            "computed": false,
458            "typeAnnotation": {
459              "type": "TSStringKeyword",
460              "loc": {
461                "start": {
462                  "line": 25,
463                  "column": 8
464                },
465                "end": {
466                  "line": 25,
467                  "column": 14
468                }
469              }
470            },
471            "decorators": [],
472            "loc": {
473              "start": {
474                "line": 25,
475                "column": 5
476              },
477              "end": {
478                "line": 25,
479                "column": 6
480              }
481            }
482          },
483          {
484            "type": "ClassProperty",
485            "key": {
486              "type": "Identifier",
487              "name": "n",
488              "loc": {
489                "start": {
490                  "line": 26,
491                  "column": 5
492                },
493                "end": {
494                  "line": 26,
495                  "column": 6
496                }
497              }
498            },
499            "static": false,
500            "readonly": false,
501            "declare": false,
502            "optional": false,
503            "computed": false,
504            "typeAnnotation": {
505              "type": "TSNumberKeyword",
506              "loc": {
507                "start": {
508                  "line": 26,
509                  "column": 8
510                },
511                "end": {
512                  "line": 26,
513                  "column": 14
514                }
515              }
516            },
517            "decorators": [],
518            "loc": {
519              "start": {
520                "line": 26,
521                "column": 5
522              },
523              "end": {
524                "line": 26,
525                "column": 6
526              }
527            }
528          },
529          {
530            "type": "MethodDefinition",
531            "key": {
532              "type": "Identifier",
533              "name": "a",
534              "loc": {
535                "start": {
536                  "line": 27,
537                  "column": 5
538                },
539                "end": {
540                  "line": 27,
541                  "column": 6
542                }
543              }
544            },
545            "kind": "method",
546            "static": false,
547            "optional": false,
548            "computed": false,
549            "value": {
550              "type": "FunctionExpression",
551              "function": {
552                "type": "ScriptFunction",
553                "id": null,
554                "generator": false,
555                "async": false,
556                "expression": false,
557                "params": [],
558                "loc": {
559                  "start": {
560                    "line": 27,
561                    "column": 6
562                  },
563                  "end": {
564                    "line": 27,
565                    "column": 9
566                  }
567                }
568              },
569              "loc": {
570                "start": {
571                  "line": 27,
572                  "column": 6
573                },
574                "end": {
575                  "line": 27,
576                  "column": 9
577                }
578              }
579            },
580            "overloads": [],
581            "decorators": [],
582            "annotations": [],
583            "loc": {
584              "start": {
585                "line": 27,
586                "column": 5
587              },
588              "end": {
589                "line": 27,
590                "column": 9
591              }
592            }
593          },
594          {
595            "type": "MethodDefinition",
596            "key": {
597              "type": "StringLiteral",
598              "value": "a",
599              "loc": {
600                "start": {
601                  "line": 28,
602                  "column": 5
603                },
604                "end": {
605                  "line": 28,
606                  "column": 8
607                }
608              }
609            },
610            "kind": "method",
611            "static": false,
612            "optional": false,
613            "computed": false,
614            "value": {
615              "type": "FunctionExpression",
616              "function": {
617                "type": "ScriptFunction",
618                "id": null,
619                "generator": false,
620                "async": false,
621                "expression": false,
622                "params": [
623                  {
624                    "type": "Identifier",
625                    "name": "s",
626                    "typeAnnotation": {
627                      "type": "TSStringKeyword",
628                      "loc": {
629                        "start": {
630                          "line": 28,
631                          "column": 13
632                        },
633                        "end": {
634                          "line": 28,
635                          "column": 19
636                        }
637                      }
638                    },
639                    "optional": true,
640                    "loc": {
641                      "start": {
642                        "line": 28,
643                        "column": 9
644                      },
645                      "end": {
646                        "line": 28,
647                        "column": 10
648                      }
649                    }
650                  }
651                ],
652                "loc": {
653                  "start": {
654                    "line": 28,
655                    "column": 8
656                  },
657                  "end": {
658                    "line": 28,
659                    "column": 21
660                  }
661                }
662              },
663              "loc": {
664                "start": {
665                  "line": 28,
666                  "column": 8
667                },
668                "end": {
669                  "line": 28,
670                  "column": 21
671                }
672              }
673            },
674            "overloads": [],
675            "decorators": [],
676            "annotations": [],
677            "loc": {
678              "start": {
679                "line": 28,
680                "column": 5
681              },
682              "end": {
683                "line": 28,
684                "column": 21
685              }
686            }
687          },
688          {
689            "type": "MethodDefinition",
690            "key": {
691              "type": "StringLiteral",
692              "value": "a",
693              "loc": {
694                "start": {
695                  "line": 29,
696                  "column": 5
697                },
698                "end": {
699                  "line": 29,
700                  "column": 8
701                }
702              }
703            },
704            "kind": "method",
705            "static": false,
706            "optional": false,
707            "computed": false,
708            "value": {
709              "type": "FunctionExpression",
710              "function": {
711                "type": "ScriptFunction",
712                "id": null,
713                "generator": false,
714                "async": false,
715                "expression": false,
716                "params": [],
717                "loc": {
718                  "start": {
719                    "line": 29,
720                    "column": 8
721                  },
722                  "end": {
723                    "line": 29,
724                    "column": 11
725                  }
726                }
727              },
728              "loc": {
729                "start": {
730                  "line": 29,
731                  "column": 8
732                },
733                "end": {
734                  "line": 29,
735                  "column": 11
736                }
737              }
738            },
739            "overloads": [],
740            "decorators": [],
741            "annotations": [],
742            "loc": {
743              "start": {
744                "line": 29,
745                "column": 5
746              },
747              "end": {
748                "line": 29,
749                "column": 11
750              }
751            }
752          },
753          {
754            "type": "MethodDefinition",
755            "key": {
756              "type": "Identifier",
757              "name": "a",
758              "loc": {
759                "start": {
760                  "line": 30,
761                  "column": 5
762                },
763                "end": {
764                  "line": 30,
765                  "column": 6
766                }
767              }
768            },
769            "kind": "method",
770            "static": false,
771            "optional": false,
772            "computed": false,
773            "value": {
774              "type": "FunctionExpression",
775              "function": {
776                "type": "ScriptFunction",
777                "id": null,
778                "generator": false,
779                "async": false,
780                "expression": false,
781                "params": [],
782                "loc": {
783                  "start": {
784                    "line": 30,
785                    "column": 6
786                  },
787                  "end": {
788                    "line": 30,
789                    "column": 9
790                  }
791                }
792              },
793              "loc": {
794                "start": {
795                  "line": 30,
796                  "column": 6
797                },
798                "end": {
799                  "line": 30,
800                  "column": 9
801                }
802              }
803            },
804            "overloads": [],
805            "decorators": [],
806            "annotations": [],
807            "loc": {
808              "start": {
809                "line": 30,
810                "column": 5
811              },
812              "end": {
813                "line": 30,
814                "column": 9
815              }
816            }
817          },
818          {
819            "type": "MethodDefinition",
820            "key": {
821              "type": "Identifier",
822              "name": "a",
823              "loc": {
824                "start": {
825                  "line": 31,
826                  "column": 5
827                },
828                "end": {
829                  "line": 31,
830                  "column": 6
831                }
832              }
833            },
834            "kind": "method",
835            "static": false,
836            "optional": false,
837            "computed": false,
838            "value": {
839              "type": "FunctionExpression",
840              "function": {
841                "type": "ScriptFunction",
842                "id": null,
843                "generator": false,
844                "async": false,
845                "expression": false,
846                "params": [
847                  {
848                    "type": "Identifier",
849                    "name": "s",
850                    "typeAnnotation": {
851                      "type": "TSStringKeyword",
852                      "loc": {
853                        "start": {
854                          "line": 31,
855                          "column": 11
856                        },
857                        "end": {
858                          "line": 31,
859                          "column": 17
860                        }
861                      }
862                    },
863                    "optional": true,
864                    "loc": {
865                      "start": {
866                        "line": 31,
867                        "column": 7
868                      },
869                      "end": {
870                        "line": 31,
871                        "column": 8
872                      }
873                    }
874                  },
875                  {
876                    "type": "Identifier",
877                    "name": "n",
878                    "typeAnnotation": {
879                      "type": "TSNumberKeyword",
880                      "loc": {
881                        "start": {
882                          "line": 31,
883                          "column": 23
884                        },
885                        "end": {
886                          "line": 31,
887                          "column": 29
888                        }
889                      }
890                    },
891                    "optional": true,
892                    "loc": {
893                      "start": {
894                        "line": 31,
895                        "column": 19
896                      },
897                      "end": {
898                        "line": 31,
899                        "column": 20
900                      }
901                    }
902                  }
903                ],
904                "body": {
905                  "type": "BlockStatement",
906                  "statements": [
907                    {
908                      "type": "ExpressionStatement",
909                      "expression": {
910                        "type": "AssignmentExpression",
911                        "operator": "=",
912                        "left": {
913                          "type": "MemberExpression",
914                          "object": {
915                            "type": "ThisExpression",
916                            "loc": {
917                              "start": {
918                                "line": 32,
919                                "column": 9
920                              },
921                              "end": {
922                                "line": 32,
923                                "column": 13
924                              }
925                            }
926                          },
927                          "property": {
928                            "type": "Identifier",
929                            "name": "s",
930                            "loc": {
931                              "start": {
932                                "line": 32,
933                                "column": 14
934                              },
935                              "end": {
936                                "line": 32,
937                                "column": 15
938                              }
939                            }
940                          },
941                          "computed": false,
942                          "optional": false,
943                          "loc": {
944                            "start": {
945                              "line": 32,
946                              "column": 9
947                            },
948                            "end": {
949                              "line": 32,
950                              "column": 15
951                            }
952                          }
953                        },
954                        "right": {
955                          "type": "LogicalExpression",
956                          "operator": "||",
957                          "left": {
958                            "type": "Identifier",
959                            "name": "s",
960                            "loc": {
961                              "start": {
962                                "line": 32,
963                                "column": 18
964                              },
965                              "end": {
966                                "line": 32,
967                                "column": 19
968                              }
969                            }
970                          },
971                          "right": {
972                            "type": "StringLiteral",
973                            "value": "",
974                            "loc": {
975                              "start": {
976                                "line": 32,
977                                "column": 23
978                              },
979                              "end": {
980                                "line": 32,
981                                "column": 25
982                              }
983                            }
984                          },
985                          "loc": {
986                            "start": {
987                              "line": 32,
988                              "column": 18
989                            },
990                            "end": {
991                              "line": 32,
992                              "column": 25
993                            }
994                          }
995                        },
996                        "loc": {
997                          "start": {
998                            "line": 32,
999                            "column": 9
1000                          },
1001                          "end": {
1002                            "line": 32,
1003                            "column": 25
1004                          }
1005                        }
1006                      },
1007                      "loc": {
1008                        "start": {
1009                          "line": 32,
1010                          "column": 9
1011                        },
1012                        "end": {
1013                          "line": 32,
1014                          "column": 26
1015                        }
1016                      }
1017                    },
1018                    {
1019                      "type": "ExpressionStatement",
1020                      "expression": {
1021                        "type": "AssignmentExpression",
1022                        "operator": "=",
1023                        "left": {
1024                          "type": "MemberExpression",
1025                          "object": {
1026                            "type": "ThisExpression",
1027                            "loc": {
1028                              "start": {
1029                                "line": 33,
1030                                "column": 9
1031                              },
1032                              "end": {
1033                                "line": 33,
1034                                "column": 13
1035                              }
1036                            }
1037                          },
1038                          "property": {
1039                            "type": "Identifier",
1040                            "name": "n",
1041                            "loc": {
1042                              "start": {
1043                                "line": 33,
1044                                "column": 14
1045                              },
1046                              "end": {
1047                                "line": 33,
1048                                "column": 15
1049                              }
1050                            }
1051                          },
1052                          "computed": false,
1053                          "optional": false,
1054                          "loc": {
1055                            "start": {
1056                              "line": 33,
1057                              "column": 9
1058                            },
1059                            "end": {
1060                              "line": 33,
1061                              "column": 15
1062                            }
1063                          }
1064                        },
1065                        "right": {
1066                          "type": "LogicalExpression",
1067                          "operator": "||",
1068                          "left": {
1069                            "type": "Identifier",
1070                            "name": "n",
1071                            "loc": {
1072                              "start": {
1073                                "line": 33,
1074                                "column": 18
1075                              },
1076                              "end": {
1077                                "line": 33,
1078                                "column": 19
1079                              }
1080                            }
1081                          },
1082                          "right": {
1083                            "type": "NumberLiteral",
1084                            "value": 0,
1085                            "loc": {
1086                              "start": {
1087                                "line": 33,
1088                                "column": 23
1089                              },
1090                              "end": {
1091                                "line": 33,
1092                                "column": 24
1093                              }
1094                            }
1095                          },
1096                          "loc": {
1097                            "start": {
1098                              "line": 33,
1099                              "column": 18
1100                            },
1101                            "end": {
1102                              "line": 33,
1103                              "column": 24
1104                            }
1105                          }
1106                        },
1107                        "loc": {
1108                          "start": {
1109                            "line": 33,
1110                            "column": 9
1111                          },
1112                          "end": {
1113                            "line": 33,
1114                            "column": 24
1115                          }
1116                        }
1117                      },
1118                      "loc": {
1119                        "start": {
1120                          "line": 33,
1121                          "column": 9
1122                        },
1123                        "end": {
1124                          "line": 33,
1125                          "column": 25
1126                        }
1127                      }
1128                    },
1129                    {
1130                      "type": "ExpressionStatement",
1131                      "expression": {
1132                        "type": "CallExpression",
1133                        "callee": {
1134                          "type": "MemberExpression",
1135                          "object": {
1136                            "type": "ThisExpression",
1137                            "loc": {
1138                              "start": {
1139                                "line": 34,
1140                                "column": 9
1141                              },
1142                              "end": {
1143                                "line": 34,
1144                                "column": 13
1145                              }
1146                            }
1147                          },
1148                          "property": {
1149                            "type": "Identifier",
1150                            "name": "f",
1151                            "loc": {
1152                              "start": {
1153                                "line": 34,
1154                                "column": 14
1155                              },
1156                              "end": {
1157                                "line": 34,
1158                                "column": 15
1159                              }
1160                            }
1161                          },
1162                          "computed": false,
1163                          "optional": false,
1164                          "loc": {
1165                            "start": {
1166                              "line": 34,
1167                              "column": 9
1168                            },
1169                            "end": {
1170                              "line": 34,
1171                              "column": 15
1172                            }
1173                          }
1174                        },
1175                        "arguments": [],
1176                        "optional": false,
1177                        "loc": {
1178                          "start": {
1179                            "line": 34,
1180                            "column": 9
1181                          },
1182                          "end": {
1183                            "line": 34,
1184                            "column": 17
1185                          }
1186                        }
1187                      },
1188                      "loc": {
1189                        "start": {
1190                          "line": 34,
1191                          "column": 9
1192                        },
1193                        "end": {
1194                          "line": 34,
1195                          "column": 18
1196                        }
1197                      }
1198                    }
1199                  ],
1200                  "loc": {
1201                    "start": {
1202                      "line": 31,
1203                      "column": 31
1204                    },
1205                    "end": {
1206                      "line": 35,
1207                      "column": 6
1208                    }
1209                  }
1210                },
1211                "loc": {
1212                  "start": {
1213                    "line": 31,
1214                    "column": 6
1215                  },
1216                  "end": {
1217                    "line": 35,
1218                    "column": 6
1219                  }
1220                }
1221              },
1222              "loc": {
1223                "start": {
1224                  "line": 31,
1225                  "column": 6
1226                },
1227                "end": {
1228                  "line": 35,
1229                  "column": 6
1230                }
1231              }
1232            },
1233            "overloads": [],
1234            "decorators": [],
1235            "annotations": [],
1236            "loc": {
1237              "start": {
1238                "line": 31,
1239                "column": 5
1240              },
1241              "end": {
1242                "line": 35,
1243                "column": 6
1244              }
1245            }
1246          },
1247          {
1248            "type": "MethodDefinition",
1249            "key": {
1250              "type": "StringLiteral",
1251              "value": "1",
1252              "loc": {
1253                "start": {
1254                  "line": 36,
1255                  "column": 5
1256                },
1257                "end": {
1258                  "line": 36,
1259                  "column": 8
1260                }
1261              }
1262            },
1263            "kind": "method",
1264            "static": false,
1265            "optional": false,
1266            "computed": false,
1267            "value": {
1268              "type": "FunctionExpression",
1269              "function": {
1270                "type": "ScriptFunction",
1271                "id": null,
1272                "generator": false,
1273                "async": false,
1274                "expression": false,
1275                "params": [],
1276                "loc": {
1277                  "start": {
1278                    "line": 36,
1279                    "column": 8
1280                  },
1281                  "end": {
1282                    "line": 36,
1283                    "column": 11
1284                  }
1285                }
1286              },
1287              "loc": {
1288                "start": {
1289                  "line": 36,
1290                  "column": 8
1291                },
1292                "end": {
1293                  "line": 36,
1294                  "column": 11
1295                }
1296              }
1297            },
1298            "overloads": [],
1299            "decorators": [],
1300            "annotations": [],
1301            "loc": {
1302              "start": {
1303                "line": 36,
1304                "column": 5
1305              },
1306              "end": {
1307                "line": 36,
1308                "column": 11
1309              }
1310            }
1311          },
1312          {
1313            "type": "MethodDefinition",
1314            "key": {
1315              "type": "NumberLiteral",
1316              "value": 1,
1317              "loc": {
1318                "start": {
1319                  "line": 37,
1320                  "column": 5
1321                },
1322                "end": {
1323                  "line": 37,
1324                  "column": 6
1325                }
1326              }
1327            },
1328            "kind": "method",
1329            "static": false,
1330            "optional": false,
1331            "computed": false,
1332            "value": {
1333              "type": "FunctionExpression",
1334              "function": {
1335                "type": "ScriptFunction",
1336                "id": null,
1337                "generator": false,
1338                "async": false,
1339                "expression": false,
1340                "params": [],
1341                "loc": {
1342                  "start": {
1343                    "line": 37,
1344                    "column": 6
1345                  },
1346                  "end": {
1347                    "line": 37,
1348                    "column": 9
1349                  }
1350                }
1351              },
1352              "loc": {
1353                "start": {
1354                  "line": 37,
1355                  "column": 6
1356                },
1357                "end": {
1358                  "line": 37,
1359                  "column": 9
1360                }
1361              }
1362            },
1363            "overloads": [],
1364            "decorators": [],
1365            "annotations": [],
1366            "loc": {
1367              "start": {
1368                "line": 37,
1369                "column": 5
1370              },
1371              "end": {
1372                "line": 37,
1373                "column": 9
1374              }
1375            }
1376          },
1377          {
1378            "type": "MethodDefinition",
1379            "key": {
1380              "type": "NumberLiteral",
1381              "value": 1,
1382              "loc": {
1383                "start": {
1384                  "line": 38,
1385                  "column": 5
1386                },
1387                "end": {
1388                  "line": 38,
1389                  "column": 6
1390                }
1391              }
1392            },
1393            "kind": "method",
1394            "static": false,
1395            "optional": false,
1396            "computed": false,
1397            "value": {
1398              "type": "FunctionExpression",
1399              "function": {
1400                "type": "ScriptFunction",
1401                "id": null,
1402                "generator": false,
1403                "async": false,
1404                "expression": false,
1405                "params": [],
1406                "loc": {
1407                  "start": {
1408                    "line": 38,
1409                    "column": 6
1410                  },
1411                  "end": {
1412                    "line": 38,
1413                    "column": 9
1414                  }
1415                }
1416              },
1417              "loc": {
1418                "start": {
1419                  "line": 38,
1420                  "column": 6
1421                },
1422                "end": {
1423                  "line": 38,
1424                  "column": 9
1425                }
1426              }
1427            },
1428            "overloads": [],
1429            "decorators": [],
1430            "annotations": [],
1431            "loc": {
1432              "start": {
1433                "line": 38,
1434                "column": 5
1435              },
1436              "end": {
1437                "line": 38,
1438                "column": 9
1439              }
1440            }
1441          },
1442          {
1443            "type": "MethodDefinition",
1444            "key": {
1445              "type": "StringLiteral",
1446              "value": "1",
1447              "loc": {
1448                "start": {
1449                  "line": 39,
1450                  "column": 5
1451                },
1452                "end": {
1453                  "line": 39,
1454                  "column": 8
1455                }
1456              }
1457            },
1458            "kind": "method",
1459            "static": false,
1460            "optional": false,
1461            "computed": false,
1462            "value": {
1463              "type": "FunctionExpression",
1464              "function": {
1465                "type": "ScriptFunction",
1466                "id": null,
1467                "generator": false,
1468                "async": false,
1469                "expression": false,
1470                "params": [],
1471                "loc": {
1472                  "start": {
1473                    "line": 39,
1474                    "column": 8
1475                  },
1476                  "end": {
1477                    "line": 39,
1478                    "column": 11
1479                  }
1480                }
1481              },
1482              "loc": {
1483                "start": {
1484                  "line": 39,
1485                  "column": 8
1486                },
1487                "end": {
1488                  "line": 39,
1489                  "column": 11
1490                }
1491              }
1492            },
1493            "overloads": [],
1494            "decorators": [],
1495            "annotations": [],
1496            "loc": {
1497              "start": {
1498                "line": 39,
1499                "column": 5
1500              },
1501              "end": {
1502                "line": 39,
1503                "column": 11
1504              }
1505            }
1506          },
1507          {
1508            "type": "MethodDefinition",
1509            "key": {
1510              "type": "NumberLiteral",
1511              "value": 1,
1512              "loc": {
1513                "start": {
1514                  "line": 40,
1515                  "column": 5
1516                },
1517                "end": {
1518                  "line": 40,
1519                  "column": 6
1520                }
1521              }
1522            },
1523            "kind": "method",
1524            "static": false,
1525            "optional": false,
1526            "computed": false,
1527            "value": {
1528              "type": "FunctionExpression",
1529              "function": {
1530                "type": "ScriptFunction",
1531                "id": null,
1532                "generator": false,
1533                "async": false,
1534                "expression": false,
1535                "params": [],
1536                "body": {
1537                  "type": "BlockStatement",
1538                  "statements": [],
1539                  "loc": {
1540                    "start": {
1541                      "line": 40,
1542                      "column": 9
1543                    },
1544                    "end": {
1545                      "line": 40,
1546                      "column": 12
1547                    }
1548                  }
1549                },
1550                "loc": {
1551                  "start": {
1552                    "line": 40,
1553                    "column": 6
1554                  },
1555                  "end": {
1556                    "line": 40,
1557                    "column": 12
1558                  }
1559                }
1560              },
1561              "loc": {
1562                "start": {
1563                  "line": 40,
1564                  "column": 6
1565                },
1566                "end": {
1567                  "line": 40,
1568                  "column": 12
1569                }
1570              }
1571            },
1572            "overloads": [],
1573            "decorators": [],
1574            "annotations": [],
1575            "loc": {
1576              "start": {
1577                "line": 40,
1578                "column": 5
1579              },
1580              "end": {
1581                "line": 40,
1582                "column": 12
1583              }
1584            }
1585          },
1586          {
1587            "type": "MethodDefinition",
1588            "key": {
1589              "type": "Identifier",
1590              "name": "f",
1591              "loc": {
1592                "start": {
1593                  "line": 41,
1594                  "column": 5
1595                },
1596                "end": {
1597                  "line": 41,
1598                  "column": 6
1599                }
1600              }
1601            },
1602            "kind": "method",
1603            "static": false,
1604            "optional": false,
1605            "computed": false,
1606            "value": {
1607              "type": "FunctionExpression",
1608              "function": {
1609                "type": "ScriptFunction",
1610                "id": null,
1611                "generator": false,
1612                "async": false,
1613                "expression": false,
1614                "params": [],
1615                "returnType": {
1616                  "type": "TSVoidKeyword",
1617                  "loc": {
1618                    "start": {
1619                      "line": 41,
1620                      "column": 10
1621                    },
1622                    "end": {
1623                      "line": 41,
1624                      "column": 14
1625                    }
1626                  }
1627                },
1628                "body": {
1629                  "type": "BlockStatement",
1630                  "statements": [
1631                    {
1632                      "type": "ExpressionStatement",
1633                      "expression": {
1634                        "type": "UpdateExpression",
1635                        "operator": "++",
1636                        "prefix": false,
1637                        "argument": {
1638                          "type": "MemberExpression",
1639                          "object": {
1640                            "type": "ThisExpression",
1641                            "loc": {
1642                              "start": {
1643                                "line": 42,
1644                                "column": 9
1645                              },
1646                              "end": {
1647                                "line": 42,
1648                                "column": 13
1649                              }
1650                            }
1651                          },
1652                          "property": {
1653                            "type": "Identifier",
1654                            "name": "n",
1655                            "loc": {
1656                              "start": {
1657                                "line": 42,
1658                                "column": 14
1659                              },
1660                              "end": {
1661                                "line": 42,
1662                                "column": 15
1663                              }
1664                            }
1665                          },
1666                          "computed": false,
1667                          "optional": false,
1668                          "loc": {
1669                            "start": {
1670                              "line": 42,
1671                              "column": 9
1672                            },
1673                            "end": {
1674                              "line": 42,
1675                              "column": 15
1676                            }
1677                          }
1678                        },
1679                        "loc": {
1680                          "start": {
1681                            "line": 42,
1682                            "column": 9
1683                          },
1684                          "end": {
1685                            "line": 42,
1686                            "column": 17
1687                          }
1688                        }
1689                      },
1690                      "loc": {
1691                        "start": {
1692                          "line": 42,
1693                          "column": 9
1694                        },
1695                        "end": {
1696                          "line": 42,
1697                          "column": 18
1698                        }
1699                      }
1700                    }
1701                  ],
1702                  "loc": {
1703                    "start": {
1704                      "line": 41,
1705                      "column": 15
1706                    },
1707                    "end": {
1708                      "line": 43,
1709                      "column": 6
1710                    }
1711                  }
1712                },
1713                "loc": {
1714                  "start": {
1715                    "line": 41,
1716                    "column": 6
1717                  },
1718                  "end": {
1719                    "line": 43,
1720                    "column": 6
1721                  }
1722                }
1723              },
1724              "loc": {
1725                "start": {
1726                  "line": 41,
1727                  "column": 6
1728                },
1729                "end": {
1730                  "line": 43,
1731                  "column": 6
1732                }
1733              }
1734            },
1735            "overloads": [],
1736            "decorators": [],
1737            "annotations": [],
1738            "loc": {
1739              "start": {
1740                "line": 41,
1741                "column": 5
1742              },
1743              "end": {
1744                "line": 43,
1745                "column": 6
1746              }
1747            }
1748          }
1749        ],
1750        "indexSignatures": [],
1751        "loc": {
1752          "start": {
1753            "line": 24,
1754            "column": 14
1755          },
1756          "end": {
1757            "line": 44,
1758            "column": 2
1759          }
1760        }
1761      },
1762      "decorators": [],
1763      "isAnnotationDeclaration": false,
1764      "loc": {
1765        "start": {
1766          "line": 24,
1767          "column": 1
1768        },
1769        "end": {
1770          "line": 44,
1771          "column": 2
1772        }
1773      }
1774    }
1775  ],
1776  "loc": {
1777    "start": {
1778      "line": 1,
1779      "column": 1
1780    },
1781    "end": {
1782      "line": 45,
1783      "column": 1
1784    }
1785  }
1786}
1787