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": "StringLiteral",
107              "value": "bar",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 5
112                },
113                "end": {
114                  "line": 18,
115                  "column": 10
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": 10
136                  },
137                  "end": {
138                    "line": 18,
139                    "column": 13
140                  }
141                }
142              },
143              "loc": {
144                "start": {
145                  "line": 18,
146                  "column": 10
147                },
148                "end": {
149                  "line": 18,
150                  "column": 13
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": 13
165              }
166            }
167          },
168          {
169            "type": "MethodDefinition",
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            "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        "indexSignatures": [],
249        "loc": {
250          "start": {
251            "line": 17,
252            "column": 11
253          },
254          "end": {
255            "line": 20,
256            "column": 2
257          }
258        }
259      },
260      "decorators": [],
261      "isAnnotationDeclaration": false,
262      "loc": {
263        "start": {
264          "line": 17,
265          "column": 1
266        },
267        "end": {
268          "line": 20,
269          "column": 2
270        }
271      }
272    }
273  ],
274  "loc": {
275    "start": {
276      "line": 1,
277      "column": 1
278    },
279    "end": {
280      "line": 20,
281      "column": 2
282    }
283  }
284}
285