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