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": 20,
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": "bar",
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        "indexSignatures": [],
263        "loc": {
264          "start": {
265            "line": 17,
266            "column": 11
267          },
268          "end": {
269            "line": 20,
270            "column": 2
271          }
272        }
273      },
274      "decorators": [],
275      "isAnnotationDeclaration": false,
276      "loc": {
277        "start": {
278          "line": 17,
279          "column": 1
280        },
281        "end": {
282          "line": 20,
283          "column": 2
284        }
285      }
286    }
287  ],
288  "loc": {
289    "start": {
290      "line": 1,
291      "column": 1
292    },
293    "end": {
294      "line": 20,
295      "column": 2
296    }
297  }
298}
299