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": 22,
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": "MethodDefinition",
170            "key": {
171              "type": "Identifier",
172              "name": "bar",
173              "loc": {
174                "start": {
175                  "line": 19,
176                  "column": 5
177                },
178                "end": {
179                  "line": 19,
180                  "column": 8
181                }
182              }
183            },
184            "kind": "method",
185            "static": false,
186            "optional": false,
187            "computed": false,
188            "value": {
189              "type": "FunctionExpression",
190              "function": {
191                "type": "ScriptFunction",
192                "id": null,
193                "generator": false,
194                "async": false,
195                "expression": false,
196                "params": [],
197                "body": {
198                  "type": "BlockStatement",
199                  "statements": [],
200                  "loc": {
201                    "start": {
202                      "line": 19,
203                      "column": 11
204                    },
205                    "end": {
206                      "line": 19,
207                      "column": 14
208                    }
209                  }
210                },
211                "loc": {
212                  "start": {
213                    "line": 19,
214                    "column": 8
215                  },
216                  "end": {
217                    "line": 19,
218                    "column": 14
219                  }
220                }
221              },
222              "loc": {
223                "start": {
224                  "line": 19,
225                  "column": 8
226                },
227                "end": {
228                  "line": 19,
229                  "column": 14
230                }
231              }
232            },
233            "overloads": [],
234            "decorators": [],
235            "annotations": [],
236            "loc": {
237              "start": {
238                "line": 19,
239                "column": 5
240              },
241              "end": {
242                "line": 19,
243                "column": 14
244              }
245            }
246          },
247          {
248            "type": "ClassProperty",
249            "key": {
250              "type": "Identifier",
251              "name": "baz",
252              "loc": {
253                "start": {
254                  "line": 20,
255                  "column": 5
256                },
257                "end": {
258                  "line": 20,
259                  "column": 8
260                }
261              }
262            },
263            "static": false,
264            "readonly": false,
265            "declare": false,
266            "optional": false,
267            "computed": false,
268            "typeAnnotation": {
269              "type": "TSStringKeyword",
270              "loc": {
271                "start": {
272                  "line": 20,
273                  "column": 10
274                },
275                "end": {
276                  "line": 20,
277                  "column": 16
278                }
279              }
280            },
281            "decorators": [],
282            "loc": {
283              "start": {
284                "line": 20,
285                "column": 5
286              },
287              "end": {
288                "line": 20,
289                "column": 8
290              }
291            }
292          },
293          {
294            "type": "MethodDefinition",
295            "key": {
296              "type": "Identifier",
297              "name": "bar",
298              "loc": {
299                "start": {
300                  "line": 21,
301                  "column": 5
302                },
303                "end": {
304                  "line": 21,
305                  "column": 8
306                }
307              }
308            },
309            "kind": "method",
310            "static": false,
311            "optional": false,
312            "computed": false,
313            "value": {
314              "type": "FunctionExpression",
315              "function": {
316                "type": "ScriptFunction",
317                "id": null,
318                "generator": false,
319                "async": false,
320                "expression": false,
321                "params": [],
322                "loc": {
323                  "start": {
324                    "line": 21,
325                    "column": 8
326                  },
327                  "end": {
328                    "line": 21,
329                    "column": 11
330                  }
331                }
332              },
333              "loc": {
334                "start": {
335                  "line": 21,
336                  "column": 8
337                },
338                "end": {
339                  "line": 21,
340                  "column": 11
341                }
342              }
343            },
344            "overloads": [],
345            "decorators": [],
346            "annotations": [],
347            "loc": {
348              "start": {
349                "line": 21,
350                "column": 5
351              },
352              "end": {
353                "line": 21,
354                "column": 11
355              }
356            }
357          }
358        ],
359        "indexSignatures": [],
360        "loc": {
361          "start": {
362            "line": 17,
363            "column": 11
364          },
365          "end": {
366            "line": 22,
367            "column": 2
368          }
369        }
370      },
371      "decorators": [],
372      "isAnnotationDeclaration": false,
373      "loc": {
374        "start": {
375          "line": 17,
376          "column": 1
377        },
378        "end": {
379          "line": 22,
380          "column": 2
381        }
382      }
383    }
384  ],
385  "loc": {
386    "start": {
387      "line": 1,
388      "column": 1
389    },
390    "end": {
391      "line": 22,
392      "column": 2
393    }
394  }
395}
396