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