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": 17,
13              "column": 7
14            },
15            "end": {
16              "line": 17,
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": 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": 21,
98              "column": 2
99            }
100          }
101        },
102        "body": [
103          {
104            "type": "ClassProperty",
105            "key": {
106              "type": "Identifier",
107              "name": "a",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 5
112                },
113                "end": {
114                  "line": 18,
115                  "column": 6
116                }
117              }
118            },
119            "value": {
120              "type": "NumberLiteral",
121              "value": 0,
122              "loc": {
123                "start": {
124                  "line": 18,
125                  "column": 17
126                },
127                "end": {
128                  "line": 18,
129                  "column": 18
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": 8
144                },
145                "end": {
146                  "line": 18,
147                  "column": 14
148                }
149              }
150            },
151            "decorators": [],
152            "loc": {
153              "start": {
154                "line": 18,
155                "column": 5
156              },
157              "end": {
158                "line": 18,
159                "column": 18
160              }
161            }
162          },
163          {
164            "type": "ClassProperty",
165            "key": {
166              "type": "Identifier",
167              "name": "b",
168              "loc": {
169                "start": {
170                  "line": 19,
171                  "column": 5
172                },
173                "end": {
174                  "line": 19,
175                  "column": 6
176                }
177              }
178            },
179            "static": false,
180            "readonly": false,
181            "declare": false,
182            "optional": true,
183            "computed": false,
184            "typeAnnotation": {
185              "type": "TSNumberKeyword",
186              "loc": {
187                "start": {
188                  "line": 19,
189                  "column": 9
190                },
191                "end": {
192                  "line": 19,
193                  "column": 15
194                }
195              }
196            },
197            "decorators": [],
198            "loc": {
199              "start": {
200                "line": 19,
201                "column": 5
202              },
203              "end": {
204                "line": 19,
205                "column": 6
206              }
207            }
208          },
209          {
210            "type": "MethodDefinition",
211            "key": {
212              "type": "Identifier",
213              "name": "get",
214              "loc": {
215                "start": {
216                  "line": 20,
217                  "column": 5
218                },
219                "end": {
220                  "line": 20,
221                  "column": 8
222                }
223              }
224            },
225            "kind": "method",
226            "static": false,
227            "optional": true,
228            "computed": false,
229            "value": {
230              "type": "FunctionExpression",
231              "function": {
232                "type": "ScriptFunction",
233                "id": null,
234                "generator": false,
235                "async": false,
236                "expression": false,
237                "params": [],
238                "returnType": {
239                  "type": "TSNumberKeyword",
240                  "loc": {
241                    "start": {
242                      "line": 20,
243                      "column": 13
244                    },
245                    "end": {
246                      "line": 20,
247                      "column": 19
248                    }
249                  }
250                },
251                "loc": {
252                  "start": {
253                    "line": 20,
254                    "column": 9
255                  },
256                  "end": {
257                    "line": 20,
258                    "column": 20
259                  }
260                }
261              },
262              "loc": {
263                "start": {
264                  "line": 20,
265                  "column": 9
266                },
267                "end": {
268                  "line": 20,
269                  "column": 20
270                }
271              }
272            },
273            "overloads": [],
274            "decorators": [],
275            "annotations": [],
276            "loc": {
277              "start": {
278                "line": 20,
279                "column": 5
280              },
281              "end": {
282                "line": 20,
283                "column": 20
284              }
285            }
286          }
287        ],
288        "indexSignatures": [],
289        "loc": {
290          "start": {
291            "line": 17,
292            "column": 9
293          },
294          "end": {
295            "line": 21,
296            "column": 2
297          }
298        }
299      },
300      "decorators": [],
301      "isAnnotationDeclaration": false,
302      "loc": {
303        "start": {
304          "line": 17,
305          "column": 1
306        },
307        "end": {
308          "line": 21,
309          "column": 2
310        }
311      }
312    }
313  ],
314  "loc": {
315    "start": {
316      "line": 1,
317      "column": 1
318    },
319    "end": {
320      "line": 22,
321      "column": 1
322    }
323  }
324}
325