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