1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "A",
10          "loc": {
11            "start": {
12              "line": 16,
13              "column": 7
14            },
15            "end": {
16              "line": 16,
17              "column": 8
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": 17,
31                "column": 5
32              },
33              "end": {
34                "line": 17,
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              "body": {
53                "type": "BlockStatement",
54                "statements": [],
55                "loc": {
56                  "start": {
57                    "line": 17,
58                    "column": 19
59                  },
60                  "end": {
61                    "line": 17,
62                    "column": 21
63                  }
64                }
65              },
66              "loc": {
67                "start": {
68                  "line": 17,
69                  "column": 16
70                },
71                "end": {
72                  "line": 17,
73                  "column": 21
74                }
75              }
76            },
77            "loc": {
78              "start": {
79                "line": 17,
80                "column": 16
81              },
82              "end": {
83                "line": 17,
84                "column": 21
85              }
86            }
87          },
88          "overloads": [],
89          "decorators": [],
90          "annotations": [],
91          "loc": {
92            "start": {
93              "line": 17,
94              "column": 5
95            },
96            "end": {
97              "line": 17,
98              "column": 21
99            }
100          }
101        },
102        "body": [
103          {
104            "type": "ClassProperty",
105            "key": {
106              "type": "PrivateIdentifier",
107              "prefix": "#",
108              "name": "field",
109              "loc": {
110                "start": {
111                  "line": 18,
112                  "column": 5
113                },
114                "end": {
115                  "line": 18,
116                  "column": 11
117                }
118              }
119            },
120            "value": {
121              "type": "NumberLiteral",
122              "value": 123,
123              "loc": {
124                "start": {
125                  "line": 18,
126                  "column": 14
127                },
128                "end": {
129                  "line": 18,
130                  "column": 17
131                }
132              }
133            },
134            "static": false,
135            "readonly": false,
136            "declare": false,
137            "optional": false,
138            "computed": false,
139            "decorators": [],
140            "loc": {
141              "start": {
142                "line": 18,
143                "column": 5
144              },
145              "end": {
146                "line": 18,
147                "column": 17
148              }
149            }
150          },
151          {
152            "type": "MethodDefinition",
153            "key": {
154              "type": "PrivateIdentifier",
155              "prefix": "#",
156              "name": "method",
157              "loc": {
158                "start": {
159                  "line": 19,
160                  "column": 5
161                },
162                "end": {
163                  "line": 19,
164                  "column": 12
165                }
166              }
167            },
168            "kind": "method",
169            "static": false,
170            "optional": false,
171            "computed": false,
172            "value": {
173              "type": "FunctionExpression",
174              "function": {
175                "type": "ScriptFunction",
176                "id": null,
177                "generator": false,
178                "async": false,
179                "expression": false,
180                "params": [],
181                "body": {
182                  "type": "BlockStatement",
183                  "statements": [],
184                  "loc": {
185                    "start": {
186                      "line": 19,
187                      "column": 15
188                    },
189                    "end": {
190                      "line": 19,
191                      "column": 17
192                    }
193                  }
194                },
195                "loc": {
196                  "start": {
197                    "line": 19,
198                    "column": 12
199                  },
200                  "end": {
201                    "line": 19,
202                    "column": 17
203                  }
204                }
205              },
206              "loc": {
207                "start": {
208                  "line": 19,
209                  "column": 12
210                },
211                "end": {
212                  "line": 19,
213                  "column": 17
214                }
215              }
216            },
217            "overloads": [],
218            "decorators": [],
219            "annotations": [],
220            "loc": {
221              "start": {
222                "line": 19,
223                "column": 5
224              },
225              "end": {
226                "line": 19,
227                "column": 17
228              }
229            }
230          },
231          {
232            "type": "ClassProperty",
233            "key": {
234              "type": "PrivateIdentifier",
235              "prefix": "#",
236              "name": "sField",
237              "loc": {
238                "start": {
239                  "line": 20,
240                  "column": 12
241                },
242                "end": {
243                  "line": 20,
244                  "column": 19
245                }
246              }
247            },
248            "value": {
249              "type": "StringLiteral",
250              "value": "hello world",
251              "loc": {
252                "start": {
253                  "line": 20,
254                  "column": 22
255                },
256                "end": {
257                  "line": 20,
258                  "column": 35
259                }
260              }
261            },
262            "static": true,
263            "readonly": false,
264            "declare": false,
265            "optional": false,
266            "computed": false,
267            "decorators": [],
268            "loc": {
269              "start": {
270                "line": 20,
271                "column": 5
272              },
273              "end": {
274                "line": 20,
275                "column": 35
276              }
277            }
278          },
279          {
280            "type": "MethodDefinition",
281            "key": {
282              "type": "PrivateIdentifier",
283              "prefix": "#",
284              "name": "sMethod",
285              "loc": {
286                "start": {
287                  "line": 21,
288                  "column": 12
289                },
290                "end": {
291                  "line": 21,
292                  "column": 20
293                }
294              }
295            },
296            "kind": "method",
297            "static": true,
298            "optional": false,
299            "computed": false,
300            "value": {
301              "type": "FunctionExpression",
302              "function": {
303                "type": "ScriptFunction",
304                "id": null,
305                "generator": false,
306                "async": false,
307                "expression": false,
308                "params": [],
309                "body": {
310                  "type": "BlockStatement",
311                  "statements": [],
312                  "loc": {
313                    "start": {
314                      "line": 21,
315                      "column": 23
316                    },
317                    "end": {
318                      "line": 21,
319                      "column": 25
320                    }
321                  }
322                },
323                "loc": {
324                  "start": {
325                    "line": 21,
326                    "column": 20
327                  },
328                  "end": {
329                    "line": 21,
330                    "column": 25
331                  }
332                }
333              },
334              "loc": {
335                "start": {
336                  "line": 21,
337                  "column": 20
338                },
339                "end": {
340                  "line": 21,
341                  "column": 25
342                }
343              }
344            },
345            "overloads": [],
346            "decorators": [],
347            "annotations": [],
348            "loc": {
349              "start": {
350                "line": 21,
351                "column": 5
352              },
353              "end": {
354                "line": 21,
355                "column": 25
356              }
357            }
358          },
359          {
360            "type": "MethodDefinition",
361            "key": {
362              "type": "PrivateIdentifier",
363              "prefix": "#",
364              "name": "acc",
365              "loc": {
366                "start": {
367                  "line": 22,
368                  "column": 9
369                },
370                "end": {
371                  "line": 22,
372                  "column": 13
373                }
374              }
375            },
376            "kind": "get",
377            "static": false,
378            "optional": false,
379            "computed": false,
380            "value": {
381              "type": "FunctionExpression",
382              "function": {
383                "type": "ScriptFunction",
384                "id": null,
385                "generator": false,
386                "async": false,
387                "expression": false,
388                "params": [],
389                "body": {
390                  "type": "BlockStatement",
391                  "statements": [
392                    {
393                      "type": "ReturnStatement",
394                      "argument": {
395                        "type": "StringLiteral",
396                        "value": "",
397                        "loc": {
398                          "start": {
399                            "line": 22,
400                            "column": 25
401                          },
402                          "end": {
403                            "line": 22,
404                            "column": 27
405                          }
406                        }
407                      },
408                      "loc": {
409                        "start": {
410                          "line": 22,
411                          "column": 18
412                        },
413                        "end": {
414                          "line": 22,
415                          "column": 28
416                        }
417                      }
418                    }
419                  ],
420                  "loc": {
421                    "start": {
422                      "line": 22,
423                      "column": 16
424                    },
425                    "end": {
426                      "line": 22,
427                      "column": 30
428                    }
429                  }
430                },
431                "loc": {
432                  "start": {
433                    "line": 22,
434                    "column": 13
435                  },
436                  "end": {
437                    "line": 22,
438                    "column": 30
439                  }
440                }
441              },
442              "loc": {
443                "start": {
444                  "line": 22,
445                  "column": 13
446                },
447                "end": {
448                  "line": 22,
449                  "column": 30
450                }
451              }
452            },
453            "overloads": [],
454            "decorators": [],
455            "annotations": [],
456            "loc": {
457              "start": {
458                "line": 22,
459                "column": 5
460              },
461              "end": {
462                "line": 22,
463                "column": 30
464              }
465            }
466          },
467          {
468            "type": "MethodDefinition",
469            "key": {
470              "type": "PrivateIdentifier",
471              "prefix": "#",
472              "name": "acc",
473              "loc": {
474                "start": {
475                  "line": 23,
476                  "column": 9
477                },
478                "end": {
479                  "line": 23,
480                  "column": 13
481                }
482              }
483            },
484            "kind": "set",
485            "static": false,
486            "optional": false,
487            "computed": false,
488            "value": {
489              "type": "FunctionExpression",
490              "function": {
491                "type": "ScriptFunction",
492                "id": null,
493                "generator": false,
494                "async": false,
495                "expression": false,
496                "params": [
497                  {
498                    "type": "Identifier",
499                    "name": "x",
500                    "typeAnnotation": {
501                      "type": "TSStringKeyword",
502                      "loc": {
503                        "start": {
504                          "line": 23,
505                          "column": 17
506                        },
507                        "end": {
508                          "line": 23,
509                          "column": 23
510                        }
511                      }
512                    },
513                    "loc": {
514                      "start": {
515                        "line": 23,
516                        "column": 14
517                      },
518                      "end": {
519                        "line": 23,
520                        "column": 15
521                      }
522                    }
523                  }
524                ],
525                "body": {
526                  "type": "BlockStatement",
527                  "statements": [],
528                  "loc": {
529                    "start": {
530                      "line": 23,
531                      "column": 25
532                    },
533                    "end": {
534                      "line": 23,
535                      "column": 27
536                    }
537                  }
538                },
539                "loc": {
540                  "start": {
541                    "line": 23,
542                    "column": 13
543                  },
544                  "end": {
545                    "line": 23,
546                    "column": 27
547                  }
548                }
549              },
550              "loc": {
551                "start": {
552                  "line": 23,
553                  "column": 13
554                },
555                "end": {
556                  "line": 23,
557                  "column": 27
558                }
559              }
560            },
561            "overloads": [],
562            "decorators": [],
563            "annotations": [],
564            "loc": {
565              "start": {
566                "line": 23,
567                "column": 5
568              },
569              "end": {
570                "line": 23,
571                "column": 27
572              }
573            }
574          },
575          {
576            "type": "MethodDefinition",
577            "key": {
578              "type": "PrivateIdentifier",
579              "prefix": "#",
580              "name": "sAcc",
581              "loc": {
582                "start": {
583                  "line": 24,
584                  "column": 16
585                },
586                "end": {
587                  "line": 24,
588                  "column": 21
589                }
590              }
591            },
592            "kind": "get",
593            "static": true,
594            "optional": false,
595            "computed": false,
596            "value": {
597              "type": "FunctionExpression",
598              "function": {
599                "type": "ScriptFunction",
600                "id": null,
601                "generator": false,
602                "async": false,
603                "expression": false,
604                "params": [],
605                "body": {
606                  "type": "BlockStatement",
607                  "statements": [
608                    {
609                      "type": "ReturnStatement",
610                      "argument": {
611                        "type": "NumberLiteral",
612                        "value": 0,
613                        "loc": {
614                          "start": {
615                            "line": 24,
616                            "column": 33
617                          },
618                          "end": {
619                            "line": 24,
620                            "column": 34
621                          }
622                        }
623                      },
624                      "loc": {
625                        "start": {
626                          "line": 24,
627                          "column": 26
628                        },
629                        "end": {
630                          "line": 24,
631                          "column": 35
632                        }
633                      }
634                    }
635                  ],
636                  "loc": {
637                    "start": {
638                      "line": 24,
639                      "column": 24
640                    },
641                    "end": {
642                      "line": 24,
643                      "column": 37
644                    }
645                  }
646                },
647                "loc": {
648                  "start": {
649                    "line": 24,
650                    "column": 21
651                  },
652                  "end": {
653                    "line": 24,
654                    "column": 37
655                  }
656                }
657              },
658              "loc": {
659                "start": {
660                  "line": 24,
661                  "column": 21
662                },
663                "end": {
664                  "line": 24,
665                  "column": 37
666                }
667              }
668            },
669            "overloads": [],
670            "decorators": [],
671            "annotations": [],
672            "loc": {
673              "start": {
674                "line": 24,
675                "column": 5
676              },
677              "end": {
678                "line": 24,
679                "column": 37
680              }
681            }
682          },
683          {
684            "type": "MethodDefinition",
685            "key": {
686              "type": "PrivateIdentifier",
687              "prefix": "#",
688              "name": "sAcc",
689              "loc": {
690                "start": {
691                  "line": 25,
692                  "column": 16
693                },
694                "end": {
695                  "line": 25,
696                  "column": 21
697                }
698              }
699            },
700            "kind": "set",
701            "static": true,
702            "optional": false,
703            "computed": false,
704            "value": {
705              "type": "FunctionExpression",
706              "function": {
707                "type": "ScriptFunction",
708                "id": null,
709                "generator": false,
710                "async": false,
711                "expression": false,
712                "params": [
713                  {
714                    "type": "Identifier",
715                    "name": "x",
716                    "typeAnnotation": {
717                      "type": "TSNumberKeyword",
718                      "loc": {
719                        "start": {
720                          "line": 25,
721                          "column": 25
722                        },
723                        "end": {
724                          "line": 25,
725                          "column": 31
726                        }
727                      }
728                    },
729                    "loc": {
730                      "start": {
731                        "line": 25,
732                        "column": 22
733                      },
734                      "end": {
735                        "line": 25,
736                        "column": 23
737                      }
738                    }
739                  }
740                ],
741                "body": {
742                  "type": "BlockStatement",
743                  "statements": [],
744                  "loc": {
745                    "start": {
746                      "line": 25,
747                      "column": 33
748                    },
749                    "end": {
750                      "line": 25,
751                      "column": 35
752                    }
753                  }
754                },
755                "loc": {
756                  "start": {
757                    "line": 25,
758                    "column": 21
759                  },
760                  "end": {
761                    "line": 25,
762                    "column": 35
763                  }
764                }
765              },
766              "loc": {
767                "start": {
768                  "line": 25,
769                  "column": 21
770                },
771                "end": {
772                  "line": 25,
773                  "column": 35
774                }
775              }
776            },
777            "overloads": [],
778            "decorators": [],
779            "annotations": [],
780            "loc": {
781              "start": {
782                "line": 25,
783                "column": 5
784              },
785              "end": {
786                "line": 25,
787                "column": 35
788              }
789            }
790          }
791        ],
792        "indexSignatures": [],
793        "loc": {
794          "start": {
795            "line": 16,
796            "column": 9
797          },
798          "end": {
799            "line": 26,
800            "column": 2
801          }
802        }
803      },
804      "decorators": [],
805      "isAnnotationDeclaration": false,
806      "loc": {
807        "start": {
808          "line": 16,
809          "column": 1
810        },
811        "end": {
812          "line": 26,
813          "column": 2
814        }
815      }
816    }
817  ],
818  "loc": {
819    "start": {
820      "line": 1,
821      "column": 1
822    },
823    "end": {
824      "line": 27,
825      "column": 1
826    }
827  }
828}
829