1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "C",
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": 19,
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": 18
126                },
127                "end": {
128                  "line": 18,
129                  "column": 19
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": 9
144                },
145                "end": {
146                  "line": 18,
147                  "column": 15
148                }
149              }
150            },
151            "decorators": [],
152            "loc": {
153              "start": {
154                "line": 18,
155                "column": 5
156              },
157              "end": {
158                "line": 18,
159                "column": 19
160              }
161            }
162          }
163        ],
164        "indexSignatures": [],
165        "loc": {
166          "start": {
167            "line": 17,
168            "column": 9
169          },
170          "end": {
171            "line": 19,
172            "column": 2
173          }
174        }
175      },
176      "decorators": [],
177      "isAnnotationDeclaration": false,
178      "loc": {
179        "start": {
180          "line": 17,
181          "column": 1
182        },
183        "end": {
184          "line": 19,
185          "column": 2
186        }
187      }
188    },
189    {
190      "type": "VariableDeclaration",
191      "declarations": [
192        {
193          "type": "VariableDeclarator",
194          "id": {
195            "type": "Identifier",
196            "name": "b",
197            "loc": {
198              "start": {
199                "line": 20,
200                "column": 5
201              },
202              "end": {
203                "line": 20,
204                "column": 6
205              }
206            }
207          },
208          "init": {
209            "type": "ArrowFunctionExpression",
210            "function": {
211              "type": "ScriptFunction",
212              "id": null,
213              "generator": false,
214              "async": false,
215              "expression": true,
216              "params": [],
217              "body": {
218                "type": "TSTypeAssertion",
219                "typeAnnotation": {
220                  "type": "TSTypeReference",
221                  "typeName": {
222                    "type": "Identifier",
223                    "name": "C",
224                    "loc": {
225                      "start": {
226                        "line": 20,
227                        "column": 18
228                      },
229                      "end": {
230                        "line": 20,
231                        "column": 19
232                      }
233                    }
234                  },
235                  "loc": {
236                    "start": {
237                      "line": 20,
238                      "column": 18
239                    },
240                    "end": {
241                      "line": 20,
242                      "column": 19
243                    }
244                  }
245                },
246                "expression": {
247                  "type": "ObjectExpression",
248                  "properties": [
249                    {
250                      "type": "Property",
251                      "method": false,
252                      "shorthand": false,
253                      "computed": false,
254                      "key": {
255                        "type": "Identifier",
256                        "name": "a",
257                        "loc": {
258                          "start": {
259                            "line": 20,
260                            "column": 23
261                          },
262                          "end": {
263                            "line": 20,
264                            "column": 24
265                          }
266                        }
267                      },
268                      "value": {
269                        "type": "NumberLiteral",
270                        "value": 1,
271                        "loc": {
272                          "start": {
273                            "line": 20,
274                            "column": 26
275                          },
276                          "end": {
277                            "line": 20,
278                            "column": 27
279                          }
280                        }
281                      },
282                      "kind": "init",
283                      "loc": {
284                        "start": {
285                          "line": 20,
286                          "column": 23
287                        },
288                        "end": {
289                          "line": 20,
290                          "column": 27
291                        }
292                      }
293                    }
294                  ],
295                  "loc": {
296                    "start": {
297                      "line": 20,
298                      "column": 20
299                    },
300                    "end": {
301                      "line": 20,
302                      "column": 30
303                    }
304                  }
305                },
306                "loc": {
307                  "start": {
308                    "line": 20,
309                    "column": 15
310                  },
311                  "end": {
312                    "line": 20,
313                    "column": 32
314                  }
315                }
316              },
317              "loc": {
318                "start": {
319                  "line": 20,
320                  "column": 9
321                },
322                "end": {
323                  "line": 20,
324                  "column": 32
325                }
326              }
327            },
328            "loc": {
329              "start": {
330                "line": 20,
331                "column": 9
332              },
333              "end": {
334                "line": 20,
335                "column": 32
336              }
337            }
338          },
339          "loc": {
340            "start": {
341              "line": 20,
342              "column": 5
343            },
344            "end": {
345              "line": 20,
346              "column": 32
347            }
348          }
349        }
350      ],
351      "kind": "var",
352      "loc": {
353        "start": {
354          "line": 20,
355          "column": 1
356        },
357        "end": {
358          "line": 20,
359          "column": 33
360        }
361      }
362    }
363  ],
364  "loc": {
365    "start": {
366      "line": 1,
367      "column": 1
368    },
369    "end": {
370      "line": 22,
371      "column": 1
372    }
373  }
374}
375