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