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": 21,
98              "column": 2
99            }
100          }
101        },
102        "body": [
103          {
104            "type": "ClassProperty",
105            "key": {
106              "type": "Identifier",
107              "name": "key",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 5
112                },
113                "end": {
114                  "line": 18,
115                  "column": 8
116                }
117              }
118            },
119            "static": false,
120            "readonly": false,
121            "declare": false,
122            "optional": false,
123            "computed": false,
124            "typeAnnotation": {
125              "type": "TSUnionType",
126              "types": [
127                {
128                  "type": "TSStringKeyword",
129                  "loc": {
130                    "start": {
131                      "line": 18,
132                      "column": 10
133                    },
134                    "end": {
135                      "line": 18,
136                      "column": 16
137                    }
138                  }
139                },
140                {
141                  "type": "TSNumberKeyword",
142                  "loc": {
143                    "start": {
144                      "line": 19,
145                      "column": 11
146                    },
147                    "end": {
148                      "line": 19,
149                      "column": 17
150                    }
151                  }
152                }
153              ],
154              "loc": {
155                "start": {
156                  "line": 18,
157                  "column": 10
158                },
159                "end": {
160                  "line": 19,
161                  "column": 17
162                }
163              }
164            },
165            "decorators": [],
166            "loc": {
167              "start": {
168                "line": 18,
169                "column": 5
170              },
171              "end": {
172                "line": 18,
173                "column": 8
174              }
175            }
176          },
177          {
178            "type": "ClassProperty",
179            "key": {
180              "type": "Identifier",
181              "name": "extends",
182              "loc": {
183                "start": {
184                  "line": 20,
185                  "column": 5
186                },
187                "end": {
188                  "line": 20,
189                  "column": 12
190                }
191              }
192            },
193            "static": false,
194            "readonly": false,
195            "declare": false,
196            "optional": true,
197            "computed": false,
198            "typeAnnotation": {
199              "type": "TSUnionType",
200              "types": [
201                {
202                  "type": "TSStringKeyword",
203                  "loc": {
204                    "start": {
205                      "line": 20,
206                      "column": 15
207                    },
208                    "end": {
209                      "line": 20,
210                      "column": 21
211                    }
212                  }
213                },
214                {
215                  "type": "TSArrayType",
216                  "elementType": {
217                    "type": "TSStringKeyword",
218                    "loc": {
219                      "start": {
220                        "line": 20,
221                        "column": 24
222                      },
223                      "end": {
224                        "line": 20,
225                        "column": 30
226                      }
227                    }
228                  },
229                  "loc": {
230                    "start": {
231                      "line": 20,
232                      "column": 24
233                    },
234                    "end": {
235                      "line": 20,
236                      "column": 32
237                    }
238                  }
239                }
240              ],
241              "loc": {
242                "start": {
243                  "line": 20,
244                  "column": 15
245                },
246                "end": {
247                  "line": 20,
248                  "column": 32
249                }
250              }
251            },
252            "decorators": [],
253            "loc": {
254              "start": {
255                "line": 20,
256                "column": 5
257              },
258              "end": {
259                "line": 20,
260                "column": 12
261              }
262            }
263          }
264        ],
265        "indexSignatures": [],
266        "loc": {
267          "start": {
268            "line": 17,
269            "column": 9
270          },
271          "end": {
272            "line": 21,
273            "column": 2
274          }
275        }
276      },
277      "decorators": [],
278      "isAnnotationDeclaration": false,
279      "loc": {
280        "start": {
281          "line": 17,
282          "column": 1
283        },
284        "end": {
285          "line": 21,
286          "column": 2
287        }
288      }
289    }
290  ],
291  "loc": {
292    "start": {
293      "line": 1,
294      "column": 1
295    },
296    "end": {
297      "line": 21,
298      "column": 2
299    }
300  }
301}
302