• 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": "BaseClass",
10          "loc": {
11            "start": {
12              "line": 17,
13              "column": 7
14            },
15            "end": {
16              "line": 17,
17              "column": 16
18            }
19          }
20        },
21        "superClass": null,
22        "implements": [],
23        "constructor": {
24          "type": "MethodDefinition",
25          "key": {
26            "type": "Identifier",
27            "name": "constructor",
28            "loc": {
29              "start": {
30                "line": 1,
31                "column": 1
32              },
33              "end": {
34                "line": 1,
35                "column": 1
36              }
37            }
38          },
39          "kind": "constructor",
40          "static": false,
41          "optional": false,
42          "computed": false,
43          "value": {
44            "type": "FunctionExpression",
45            "function": {
46              "type": "ScriptFunction",
47              "id": null,
48              "generator": false,
49              "async": false,
50              "expression": false,
51              "params": [],
52              "body": {
53                "type": "BlockStatement",
54                "statements": [],
55                "loc": {
56                  "start": {
57                    "line": 1,
58                    "column": 1
59                  },
60                  "end": {
61                    "line": 1,
62                    "column": 1
63                  }
64                }
65              },
66              "loc": {
67                "start": {
68                  "line": 1,
69                  "column": 1
70                },
71                "end": {
72                  "line": 1,
73                  "column": 1
74                }
75              }
76            },
77            "loc": {
78              "start": {
79                "line": 1,
80                "column": 1
81              },
82              "end": {
83                "line": 1,
84                "column": 1
85              }
86            }
87          },
88          "overloads": [],
89          "decorators": [],
90          "loc": {
91            "start": {
92              "line": 17,
93              "column": 1
94            },
95            "end": {
96              "line": 19,
97              "column": 2
98            }
99          }
100        },
101        "body": [
102          {
103            "type": "ClassProperty",
104            "key": {
105              "type": "PrivateIdentifier",
106              "prefix": "#",
107              "name": "count",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 3
112                },
113                "end": {
114                  "line": 18,
115                  "column": 9
116                }
117              }
118            },
119            "value": {
120              "type": "NumberLiteral",
121              "value": 1,
122              "loc": {
123                "start": {
124                  "line": 18,
125                  "column": 20
126                },
127                "end": {
128                  "line": 18,
129                  "column": 21
130                }
131              }
132            },
133            "static": false,
134            "readonly": false,
135            "declare": false,
136            "optional": false,
137            "computed": false,
138            "typeAnnotation": {
139              "type": "TSNumberKeyword",
140              "loc": {
141                "start": {
142                  "line": 18,
143                  "column": 11
144                },
145                "end": {
146                  "line": 18,
147                  "column": 17
148                }
149              }
150            },
151            "decorators": [],
152            "loc": {
153              "start": {
154                "line": 18,
155                "column": 3
156              },
157              "end": {
158                "line": 18,
159                "column": 21
160              }
161            }
162          }
163        ],
164        "indexSignatures": [],
165        "loc": {
166          "start": {
167            "line": 17,
168            "column": 17
169          },
170          "end": {
171            "line": 19,
172            "column": 2
173          }
174        }
175      },
176      "decorators": [],
177      "loc": {
178        "start": {
179          "line": 17,
180          "column": 1
181        },
182        "end": {
183          "line": 19,
184          "column": 2
185        }
186      }
187    },
188    {
189      "type": "ClassDeclaration",
190      "definition": {
191        "id": {
192          "type": "Identifier",
193          "name": "OverrideModifierTest",
194          "loc": {
195            "start": {
196              "line": 21,
197              "column": 7
198            },
199            "end": {
200              "line": 21,
201              "column": 27
202            }
203          }
204        },
205        "superClass": {
206          "type": "Identifier",
207          "name": "BaseClass",
208          "loc": {
209            "start": {
210              "line": 21,
211              "column": 36
212            },
213            "end": {
214              "line": 21,
215              "column": 45
216            }
217          }
218        },
219        "implements": [],
220        "constructor": {
221          "type": "MethodDefinition",
222          "key": {
223            "type": "Identifier",
224            "name": "constructor",
225            "loc": {
226              "start": {
227                "line": 1,
228                "column": 1
229              },
230              "end": {
231                "line": 1,
232                "column": 1
233              }
234            }
235          },
236          "kind": "constructor",
237          "static": false,
238          "optional": false,
239          "computed": false,
240          "value": {
241            "type": "FunctionExpression",
242            "function": {
243              "type": "ScriptFunction",
244              "id": null,
245              "generator": false,
246              "async": false,
247              "expression": false,
248              "params": [
249                {
250                  "type": "RestElement",
251                  "argument": {
252                    "type": "Identifier",
253                    "name": "args",
254                    "loc": {
255                      "start": {
256                        "line": 1,
257                        "column": 1
258                      },
259                      "end": {
260                        "line": 1,
261                        "column": 1
262                      }
263                    }
264                  },
265                  "loc": {
266                    "start": {
267                      "line": 1,
268                      "column": 1
269                    },
270                    "end": {
271                      "line": 1,
272                      "column": 1
273                    }
274                  }
275                }
276              ],
277              "body": {
278                "type": "BlockStatement",
279                "statements": [
280                  {
281                    "type": "ExpressionStatement",
282                    "expression": {
283                      "type": "CallExpression",
284                      "callee": {
285                        "type": "Super",
286                        "loc": {
287                          "start": {
288                            "line": 1,
289                            "column": 1
290                          },
291                          "end": {
292                            "line": 1,
293                            "column": 1
294                          }
295                        }
296                      },
297                      "arguments": [
298                        {
299                          "type": "SpreadElement",
300                          "argument": {
301                            "type": "Identifier",
302                            "name": "args",
303                            "loc": {
304                              "start": {
305                                "line": 1,
306                                "column": 1
307                              },
308                              "end": {
309                                "line": 1,
310                                "column": 1
311                              }
312                            }
313                          },
314                          "loc": {
315                            "start": {
316                              "line": 1,
317                              "column": 1
318                            },
319                            "end": {
320                              "line": 1,
321                              "column": 1
322                            }
323                          }
324                        }
325                      ],
326                      "optional": false,
327                      "loc": {
328                        "start": {
329                          "line": 1,
330                          "column": 1
331                        },
332                        "end": {
333                          "line": 1,
334                          "column": 1
335                        }
336                      }
337                    },
338                    "loc": {
339                      "start": {
340                        "line": 1,
341                        "column": 1
342                      },
343                      "end": {
344                        "line": 1,
345                        "column": 1
346                      }
347                    }
348                  }
349                ],
350                "loc": {
351                  "start": {
352                    "line": 1,
353                    "column": 1
354                  },
355                  "end": {
356                    "line": 1,
357                    "column": 1
358                  }
359                }
360              },
361              "loc": {
362                "start": {
363                  "line": 1,
364                  "column": 1
365                },
366                "end": {
367                  "line": 1,
368                  "column": 1
369                }
370              }
371            },
372            "loc": {
373              "start": {
374                "line": 1,
375                "column": 1
376              },
377              "end": {
378                "line": 1,
379                "column": 1
380              }
381            }
382          },
383          "overloads": [],
384          "decorators": [],
385          "loc": {
386            "start": {
387              "line": 21,
388              "column": 1
389            },
390            "end": {
391              "line": 23,
392              "column": 2
393            }
394          }
395        },
396        "body": [
397          {
398            "type": "ClassProperty",
399            "key": {
400              "type": "PrivateIdentifier",
401              "prefix": "#",
402              "name": "count",
403              "loc": {
404                "start": {
405                  "line": 22,
406                  "column": 12
407                },
408                "end": {
409                  "line": 22,
410                  "column": 18
411                }
412              }
413            },
414            "value": {
415              "type": "NumberLiteral",
416              "value": 0,
417              "loc": {
418                "start": {
419                  "line": 22,
420                  "column": 29
421                },
422                "end": {
423                  "line": 22,
424                  "column": 30
425                }
426              }
427            },
428            "static": false,
429            "readonly": false,
430            "override": true,
431            "declare": false,
432            "optional": false,
433            "computed": false,
434            "typeAnnotation": {
435              "type": "TSNumberKeyword",
436              "loc": {
437                "start": {
438                  "line": 22,
439                  "column": 20
440                },
441                "end": {
442                  "line": 22,
443                  "column": 26
444                }
445              }
446            },
447            "decorators": [],
448            "loc": {
449              "start": {
450                "line": 22,
451                "column": 3
452              },
453              "end": {
454                "line": 22,
455                "column": 30
456              }
457            }
458          }
459        ],
460        "indexSignatures": [],
461        "loc": {
462          "start": {
463            "line": 21,
464            "column": 46
465          },
466          "end": {
467            "line": 23,
468            "column": 2
469          }
470        }
471      },
472      "decorators": [],
473      "loc": {
474        "start": {
475          "line": 21,
476          "column": 1
477        },
478        "end": {
479          "line": 23,
480          "column": 2
481        }
482      }
483    },
484    {
485      "type": "ClassDeclaration",
486      "definition": {
487        "id": {
488          "type": "Identifier",
489          "name": "StaticModifierTest",
490          "loc": {
491            "start": {
492              "line": 25,
493              "column": 7
494            },
495            "end": {
496              "line": 25,
497              "column": 25
498            }
499          }
500        },
501        "superClass": null,
502        "implements": [],
503        "constructor": {
504          "type": "MethodDefinition",
505          "key": {
506            "type": "Identifier",
507            "name": "constructor",
508            "loc": {
509              "start": {
510                "line": 1,
511                "column": 1
512              },
513              "end": {
514                "line": 1,
515                "column": 1
516              }
517            }
518          },
519          "kind": "constructor",
520          "static": false,
521          "optional": false,
522          "computed": false,
523          "value": {
524            "type": "FunctionExpression",
525            "function": {
526              "type": "ScriptFunction",
527              "id": null,
528              "generator": false,
529              "async": false,
530              "expression": false,
531              "params": [],
532              "body": {
533                "type": "BlockStatement",
534                "statements": [],
535                "loc": {
536                  "start": {
537                    "line": 1,
538                    "column": 1
539                  },
540                  "end": {
541                    "line": 1,
542                    "column": 1
543                  }
544                }
545              },
546              "loc": {
547                "start": {
548                  "line": 1,
549                  "column": 1
550                },
551                "end": {
552                  "line": 1,
553                  "column": 1
554                }
555              }
556            },
557            "loc": {
558              "start": {
559                "line": 1,
560                "column": 1
561              },
562              "end": {
563                "line": 1,
564                "column": 1
565              }
566            }
567          },
568          "overloads": [],
569          "decorators": [],
570          "loc": {
571            "start": {
572              "line": 25,
573              "column": 1
574            },
575            "end": {
576              "line": 27,
577              "column": 2
578            }
579          }
580        },
581        "body": [
582          {
583            "type": "ClassProperty",
584            "key": {
585              "type": "PrivateIdentifier",
586              "prefix": "#",
587              "name": "count",
588              "loc": {
589                "start": {
590                  "line": 26,
591                  "column": 10
592                },
593                "end": {
594                  "line": 26,
595                  "column": 16
596                }
597              }
598            },
599            "value": {
600              "type": "NumberLiteral",
601              "value": 0,
602              "loc": {
603                "start": {
604                  "line": 26,
605                  "column": 19
606                },
607                "end": {
608                  "line": 26,
609                  "column": 20
610                }
611              }
612            },
613            "static": true,
614            "readonly": false,
615            "declare": false,
616            "optional": false,
617            "computed": false,
618            "decorators": [],
619            "loc": {
620              "start": {
621                "line": 26,
622                "column": 3
623              },
624              "end": {
625                "line": 26,
626                "column": 20
627              }
628            }
629          }
630        ],
631        "indexSignatures": [],
632        "loc": {
633          "start": {
634            "line": 25,
635            "column": 26
636          },
637          "end": {
638            "line": 27,
639            "column": 2
640          }
641        }
642      },
643      "decorators": [],
644      "loc": {
645        "start": {
646          "line": 25,
647          "column": 1
648        },
649        "end": {
650          "line": 27,
651          "column": 2
652        }
653      }
654    },
655    {
656      "type": "ClassDeclaration",
657      "definition": {
658        "id": {
659          "type": "Identifier",
660          "name": "AccessorModifierTest",
661          "loc": {
662            "start": {
663              "line": 29,
664              "column": 7
665            },
666            "end": {
667              "line": 29,
668              "column": 27
669            }
670          }
671        },
672        "superClass": null,
673        "implements": [],
674        "constructor": {
675          "type": "MethodDefinition",
676          "key": {
677            "type": "Identifier",
678            "name": "constructor",
679            "loc": {
680              "start": {
681                "line": 1,
682                "column": 1
683              },
684              "end": {
685                "line": 1,
686                "column": 1
687              }
688            }
689          },
690          "kind": "constructor",
691          "static": false,
692          "optional": false,
693          "computed": false,
694          "value": {
695            "type": "FunctionExpression",
696            "function": {
697              "type": "ScriptFunction",
698              "id": null,
699              "generator": false,
700              "async": false,
701              "expression": false,
702              "params": [],
703              "body": {
704                "type": "BlockStatement",
705                "statements": [],
706                "loc": {
707                  "start": {
708                    "line": 1,
709                    "column": 1
710                  },
711                  "end": {
712                    "line": 1,
713                    "column": 1
714                  }
715                }
716              },
717              "loc": {
718                "start": {
719                  "line": 1,
720                  "column": 1
721                },
722                "end": {
723                  "line": 1,
724                  "column": 1
725                }
726              }
727            },
728            "loc": {
729              "start": {
730                "line": 1,
731                "column": 1
732              },
733              "end": {
734                "line": 1,
735                "column": 1
736              }
737            }
738          },
739          "overloads": [],
740          "decorators": [],
741          "loc": {
742            "start": {
743              "line": 29,
744              "column": 1
745            },
746            "end": {
747              "line": 31,
748              "column": 2
749            }
750          }
751        },
752        "body": [
753          {
754            "type": "ClassProperty",
755            "key": {
756              "type": "PrivateIdentifier",
757              "prefix": "#",
758              "name": "count",
759              "loc": {
760                "start": {
761                  "line": 30,
762                  "column": 12
763                },
764                "end": {
765                  "line": 30,
766                  "column": 18
767                }
768              }
769            },
770            "value": {
771              "type": "NumberLiteral",
772              "value": 0,
773              "loc": {
774                "start": {
775                  "line": 30,
776                  "column": 21
777                },
778                "end": {
779                  "line": 30,
780                  "column": 22
781                }
782              }
783            },
784            "static": false,
785            "readonly": false,
786            "declare": false,
787            "optional": false,
788            "computed": false,
789            "decorators": [],
790            "loc": {
791              "start": {
792                "line": 30,
793                "column": 3
794              },
795              "end": {
796                "line": 30,
797                "column": 22
798              }
799            }
800          }
801        ],
802        "indexSignatures": [],
803        "loc": {
804          "start": {
805            "line": 29,
806            "column": 28
807          },
808          "end": {
809            "line": 31,
810            "column": 2
811          }
812        }
813      },
814      "decorators": [],
815      "loc": {
816        "start": {
817          "line": 29,
818          "column": 1
819        },
820        "end": {
821          "line": 31,
822          "column": 2
823        }
824      }
825    },
826    {
827      "type": "ClassDeclaration",
828      "definition": {
829        "id": {
830          "type": "Identifier",
831          "name": "ReadonlyModifierTest",
832          "loc": {
833            "start": {
834              "line": 33,
835              "column": 7
836            },
837            "end": {
838              "line": 33,
839              "column": 27
840            }
841          }
842        },
843        "superClass": null,
844        "implements": [],
845        "constructor": {
846          "type": "MethodDefinition",
847          "key": {
848            "type": "Identifier",
849            "name": "constructor",
850            "loc": {
851              "start": {
852                "line": 1,
853                "column": 1
854              },
855              "end": {
856                "line": 1,
857                "column": 1
858              }
859            }
860          },
861          "kind": "constructor",
862          "static": false,
863          "optional": false,
864          "computed": false,
865          "value": {
866            "type": "FunctionExpression",
867            "function": {
868              "type": "ScriptFunction",
869              "id": null,
870              "generator": false,
871              "async": false,
872              "expression": false,
873              "params": [],
874              "body": {
875                "type": "BlockStatement",
876                "statements": [],
877                "loc": {
878                  "start": {
879                    "line": 1,
880                    "column": 1
881                  },
882                  "end": {
883                    "line": 1,
884                    "column": 1
885                  }
886                }
887              },
888              "loc": {
889                "start": {
890                  "line": 1,
891                  "column": 1
892                },
893                "end": {
894                  "line": 1,
895                  "column": 1
896                }
897              }
898            },
899            "loc": {
900              "start": {
901                "line": 1,
902                "column": 1
903              },
904              "end": {
905                "line": 1,
906                "column": 1
907              }
908            }
909          },
910          "overloads": [],
911          "decorators": [],
912          "loc": {
913            "start": {
914              "line": 33,
915              "column": 1
916            },
917            "end": {
918              "line": 35,
919              "column": 2
920            }
921          }
922        },
923        "body": [
924          {
925            "type": "ClassProperty",
926            "key": {
927              "type": "PrivateIdentifier",
928              "prefix": "#",
929              "name": "count",
930              "loc": {
931                "start": {
932                  "line": 34,
933                  "column": 12
934                },
935                "end": {
936                  "line": 34,
937                  "column": 18
938                }
939              }
940            },
941            "value": {
942              "type": "NumberLiteral",
943              "value": 0,
944              "loc": {
945                "start": {
946                  "line": 34,
947                  "column": 21
948                },
949                "end": {
950                  "line": 34,
951                  "column": 22
952                }
953              }
954            },
955            "static": false,
956            "readonly": true,
957            "declare": false,
958            "optional": false,
959            "computed": false,
960            "decorators": [],
961            "loc": {
962              "start": {
963                "line": 34,
964                "column": 3
965              },
966              "end": {
967                "line": 34,
968                "column": 22
969              }
970            }
971          }
972        ],
973        "indexSignatures": [],
974        "loc": {
975          "start": {
976            "line": 33,
977            "column": 28
978          },
979          "end": {
980            "line": 35,
981            "column": 2
982          }
983        }
984      },
985      "decorators": [],
986      "loc": {
987        "start": {
988          "line": 33,
989          "column": 1
990        },
991        "end": {
992          "line": 35,
993          "column": 2
994        }
995      }
996    },
997    {
998      "type": "ClassDeclaration",
999      "definition": {
1000        "id": {
1001          "type": "Identifier",
1002          "name": "AsyncModifierTest",
1003          "loc": {
1004            "start": {
1005              "line": 37,
1006              "column": 7
1007            },
1008            "end": {
1009              "line": 37,
1010              "column": 24
1011            }
1012          }
1013        },
1014        "superClass": null,
1015        "implements": [],
1016        "constructor": {
1017          "type": "MethodDefinition",
1018          "key": {
1019            "type": "Identifier",
1020            "name": "constructor",
1021            "loc": {
1022              "start": {
1023                "line": 1,
1024                "column": 1
1025              },
1026              "end": {
1027                "line": 1,
1028                "column": 1
1029              }
1030            }
1031          },
1032          "kind": "constructor",
1033          "static": false,
1034          "optional": false,
1035          "computed": false,
1036          "value": {
1037            "type": "FunctionExpression",
1038            "function": {
1039              "type": "ScriptFunction",
1040              "id": null,
1041              "generator": false,
1042              "async": false,
1043              "expression": false,
1044              "params": [],
1045              "body": {
1046                "type": "BlockStatement",
1047                "statements": [],
1048                "loc": {
1049                  "start": {
1050                    "line": 1,
1051                    "column": 1
1052                  },
1053                  "end": {
1054                    "line": 1,
1055                    "column": 1
1056                  }
1057                }
1058              },
1059              "loc": {
1060                "start": {
1061                  "line": 1,
1062                  "column": 1
1063                },
1064                "end": {
1065                  "line": 1,
1066                  "column": 1
1067                }
1068              }
1069            },
1070            "loc": {
1071              "start": {
1072                "line": 1,
1073                "column": 1
1074              },
1075              "end": {
1076                "line": 1,
1077                "column": 1
1078              }
1079            }
1080          },
1081          "overloads": [],
1082          "decorators": [],
1083          "loc": {
1084            "start": {
1085              "line": 37,
1086              "column": 1
1087            },
1088            "end": {
1089              "line": 39,
1090              "column": 2
1091            }
1092          }
1093        },
1094        "body": [
1095          {
1096            "type": "MethodDefinition",
1097            "key": {
1098              "type": "PrivateIdentifier",
1099              "prefix": "#",
1100              "name": "foo",
1101              "loc": {
1102                "start": {
1103                  "line": 38,
1104                  "column": 9
1105                },
1106                "end": {
1107                  "line": 38,
1108                  "column": 13
1109                }
1110              }
1111            },
1112            "kind": "method",
1113            "static": false,
1114            "optional": false,
1115            "computed": false,
1116            "value": {
1117              "type": "FunctionExpression",
1118              "function": {
1119                "type": "ScriptFunction",
1120                "id": null,
1121                "generator": false,
1122                "async": true,
1123                "expression": false,
1124                "params": [],
1125                "body": {
1126                  "type": "BlockStatement",
1127                  "statements": [],
1128                  "loc": {
1129                    "start": {
1130                      "line": 38,
1131                      "column": 15
1132                    },
1133                    "end": {
1134                      "line": 38,
1135                      "column": 17
1136                    }
1137                  }
1138                },
1139                "loc": {
1140                  "start": {
1141                    "line": 38,
1142                    "column": 13
1143                  },
1144                  "end": {
1145                    "line": 38,
1146                    "column": 17
1147                  }
1148                }
1149              },
1150              "loc": {
1151                "start": {
1152                  "line": 38,
1153                  "column": 13
1154                },
1155                "end": {
1156                  "line": 38,
1157                  "column": 17
1158                }
1159              }
1160            },
1161            "overloads": [],
1162            "decorators": [],
1163            "loc": {
1164              "start": {
1165                "line": 38,
1166                "column": 3
1167              },
1168              "end": {
1169                "line": 38,
1170                "column": 17
1171              }
1172            }
1173          }
1174        ],
1175        "indexSignatures": [],
1176        "loc": {
1177          "start": {
1178            "line": 37,
1179            "column": 25
1180          },
1181          "end": {
1182            "line": 39,
1183            "column": 2
1184          }
1185        }
1186      },
1187      "decorators": [],
1188      "loc": {
1189        "start": {
1190          "line": 37,
1191          "column": 1
1192        },
1193        "end": {
1194          "line": 39,
1195          "column": 2
1196        }
1197      }
1198    }
1199  ],
1200  "loc": {
1201    "start": {
1202      "line": 1,
1203      "column": 1
1204    },
1205    "end": {
1206      "line": 39,
1207      "column": 2
1208    }
1209  }
1210}
1211