1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "Anno1",
10          "loc": {
11            "start": {
12              "line": 16,
13              "column": 12
14            },
15            "end": {
16              "line": 16,
17              "column": 17
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": "Program",
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": 16,
94              "column": 2
95            },
96            "end": {
97              "line": 18,
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": 17,
111                  "column": 5
112                },
113                "end": {
114                  "line": 17,
115                  "column": 6
116                }
117              }
118            },
119            "static": false,
120            "readonly": false,
121            "declare": false,
122            "optional": false,
123            "computed": false,
124            "typeAnnotation": {
125              "type": "TSBooleanKeyword",
126              "loc": {
127                "start": {
128                  "line": 17,
129                  "column": 8
130                },
131                "end": {
132                  "line": 17,
133                  "column": 15
134                }
135              }
136            },
137            "decorators": [],
138            "loc": {
139              "start": {
140                "line": 17,
141                "column": 5
142              },
143              "end": {
144                "line": 17,
145                "column": 6
146              }
147            }
148          }
149        ],
150        "indexSignatures": [],
151        "loc": {
152          "start": {
153            "line": 16,
154            "column": 18
155          },
156          "end": {
157            "line": 18,
158            "column": 2
159          }
160        }
161      },
162      "decorators": [],
163      "isAnnotationDeclaration": true,
164      "loc": {
165        "start": {
166          "line": 16,
167          "column": 2
168        },
169        "end": {
170          "line": 18,
171          "column": 2
172        }
173      }
174    },
175    {
176      "type": "ClassDeclaration",
177      "definition": {
178        "id": {
179          "type": "Identifier",
180          "name": "Anno2",
181          "loc": {
182            "start": {
183              "line": 20,
184              "column": 12
185            },
186            "end": {
187              "line": 20,
188              "column": 17
189            }
190          }
191        },
192        "superClass": null,
193        "implements": [],
194        "constructor": {
195          "type": "MethodDefinition",
196          "key": {
197            "type": "Identifier",
198            "name": "constructor",
199            "loc": {
200              "start": {
201                "line": 1,
202                "column": 1
203              },
204              "end": {
205                "line": 1,
206                "column": 1
207              }
208            }
209          },
210          "kind": "constructor",
211          "static": false,
212          "optional": false,
213          "computed": false,
214          "value": {
215            "type": "FunctionExpression",
216            "function": {
217              "type": "ScriptFunction",
218              "id": null,
219              "generator": false,
220              "async": false,
221              "expression": false,
222              "params": [],
223              "body": {
224                "type": "Program",
225                "statements": [],
226                "loc": {
227                  "start": {
228                    "line": 1,
229                    "column": 1
230                  },
231                  "end": {
232                    "line": 1,
233                    "column": 1
234                  }
235                }
236              },
237              "loc": {
238                "start": {
239                  "line": 1,
240                  "column": 1
241                },
242                "end": {
243                  "line": 1,
244                  "column": 1
245                }
246              }
247            },
248            "loc": {
249              "start": {
250                "line": 1,
251                "column": 1
252              },
253              "end": {
254                "line": 1,
255                "column": 1
256              }
257            }
258          },
259          "overloads": [],
260          "decorators": [],
261          "annotations": [],
262          "loc": {
263            "start": {
264              "line": 20,
265              "column": 2
266            },
267            "end": {
268              "line": 22,
269              "column": 2
270            }
271          }
272        },
273        "body": [
274          {
275            "type": "ClassProperty",
276            "key": {
277              "type": "Identifier",
278              "name": "a",
279              "loc": {
280                "start": {
281                  "line": 21,
282                  "column": 5
283                },
284                "end": {
285                  "line": 21,
286                  "column": 6
287                }
288              }
289            },
290            "value": {
291              "type": "BooleanLiteral",
292              "value": true,
293              "loc": {
294                "start": {
295                  "line": 21,
296                  "column": 18
297                },
298                "end": {
299                  "line": 21,
300                  "column": 22
301                }
302              }
303            },
304            "static": false,
305            "readonly": false,
306            "declare": false,
307            "optional": false,
308            "computed": false,
309            "typeAnnotation": {
310              "type": "TSBooleanKeyword",
311              "loc": {
312                "start": {
313                  "line": 21,
314                  "column": 8
315                },
316                "end": {
317                  "line": 21,
318                  "column": 15
319                }
320              }
321            },
322            "decorators": [],
323            "loc": {
324              "start": {
325                "line": 21,
326                "column": 5
327              },
328              "end": {
329                "line": 21,
330                "column": 22
331              }
332            }
333          }
334        ],
335        "indexSignatures": [],
336        "loc": {
337          "start": {
338            "line": 20,
339            "column": 18
340          },
341          "end": {
342            "line": 22,
343            "column": 2
344          }
345        }
346      },
347      "decorators": [],
348      "isAnnotationDeclaration": true,
349      "loc": {
350        "start": {
351          "line": 20,
352          "column": 2
353        },
354        "end": {
355          "line": 22,
356          "column": 2
357        }
358      }
359    }
360  ],
361  "loc": {
362    "start": {
363      "line": 1,
364      "column": 1
365    },
366    "end": {
367      "line": 22,
368      "column": 2
369    }
370  }
371}
372