1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "A",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7
15            },
16            "end": {
17              "line": 16,
18              "column": 8
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "MethodDefinition",
27            "key": {
28              "type": "Identifier",
29              "name": "foo",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 18
35                },
36                "end": {
37                  "line": 17,
38                  "column": 21
39                }
40              }
41            },
42            "kind": "method",
43            "accessibility": "public",
44            "static": false,
45            "optional": false,
46            "computed": false,
47            "value": {
48              "type": "FunctionExpression",
49              "function": {
50                "type": "ScriptFunction",
51                "id": {
52                  "type": "Identifier",
53                  "name": "foo",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 17,
58                      "column": 18
59                    },
60                    "end": {
61                      "line": 17,
62                      "column": 21
63                    }
64                  }
65                },
66                "generator": false,
67                "async": false,
68                "expression": false,
69                "params": [],
70                "returnType": {
71                  "type": "ETSPrimitiveType",
72                  "loc": {
73                    "start": {
74                      "line": 17,
75                      "column": 25
76                    },
77                    "end": {
78                      "line": 17,
79                      "column": 29
80                    }
81                  }
82                },
83                "body": {
84                  "type": "BlockStatement",
85                  "statements": [],
86                  "loc": {
87                    "start": {
88                      "line": 17,
89                      "column": 30
90                    },
91                    "end": {
92                      "line": 17,
93                      "column": 32
94                    }
95                  }
96                },
97                "loc": {
98                  "start": {
99                    "line": 17,
100                    "column": 21
101                  },
102                  "end": {
103                    "line": 17,
104                    "column": 32
105                  }
106                }
107              },
108              "loc": {
109                "start": {
110                  "line": 17,
111                  "column": 21
112                },
113                "end": {
114                  "line": 17,
115                  "column": 32
116                }
117              }
118            },
119            "overloads": [],
120            "decorators": [],
121            "loc": {
122              "start": {
123                "line": 17,
124                "column": 5
125              },
126              "end": {
127                "line": 17,
128                "column": 32
129              }
130            }
131          },
132          {
133            "type": "MethodDefinition",
134            "key": {
135              "type": "Identifier",
136              "name": "constructor",
137              "decorators": [],
138              "loc": {
139                "start": {
140                  "line": 1,
141                  "column": 1
142                },
143                "end": {
144                  "line": 1,
145                  "column": 1
146                }
147              }
148            },
149            "kind": "constructor",
150            "static": false,
151            "optional": false,
152            "computed": false,
153            "value": {
154              "type": "FunctionExpression",
155              "function": {
156                "type": "ScriptFunction",
157                "id": {
158                  "type": "Identifier",
159                  "name": "constructor",
160                  "decorators": [],
161                  "loc": {
162                    "start": {
163                      "line": 1,
164                      "column": 1
165                    },
166                    "end": {
167                      "line": 1,
168                      "column": 1
169                    }
170                  }
171                },
172                "generator": false,
173                "async": false,
174                "expression": false,
175                "params": [],
176                "body": {
177                  "type": "BlockStatement",
178                  "statements": [],
179                  "loc": {
180                    "start": {
181                      "line": 1,
182                      "column": 1
183                    },
184                    "end": {
185                      "line": 1,
186                      "column": 1
187                    }
188                  }
189                },
190                "loc": {
191                  "start": {
192                    "line": 1,
193                    "column": 1
194                  },
195                  "end": {
196                    "line": 1,
197                    "column": 1
198                  }
199                }
200              },
201              "loc": {
202                "start": {
203                  "line": 1,
204                  "column": 1
205                },
206                "end": {
207                  "line": 1,
208                  "column": 1
209                }
210              }
211            },
212            "overloads": [],
213            "decorators": [],
214            "loc": {
215              "start": {
216                "line": 18,
217                "column": 2
218              },
219              "end": {
220                "line": 18,
221                "column": 2
222              }
223            }
224          }
225        ],
226        "loc": {
227          "start": {
228            "line": 16,
229            "column": 9
230          },
231          "end": {
232            "line": 18,
233            "column": 2
234          }
235        }
236      },
237      "loc": {
238        "start": {
239          "line": 16,
240          "column": 1
241        },
242        "end": {
243          "line": 18,
244          "column": 2
245        }
246      }
247    },
248    {
249      "type": "ClassDeclaration",
250      "definition": {
251        "id": {
252          "type": "Identifier",
253          "name": "ETSGLOBAL",
254          "decorators": [],
255          "loc": {
256            "start": {
257              "line": 1,
258              "column": 1
259            },
260            "end": {
261              "line": 1,
262              "column": 1
263            }
264          }
265        },
266        "superClass": null,
267        "implements": [],
268        "body": [
269          {
270            "type": "MethodDefinition",
271            "key": {
272              "type": "Identifier",
273              "name": "_$init$_",
274              "decorators": [],
275              "loc": {
276                "start": {
277                  "line": 1,
278                  "column": 1
279                },
280                "end": {
281                  "line": 1,
282                  "column": 1
283                }
284              }
285            },
286            "kind": "method",
287            "accessibility": "public",
288            "static": true,
289            "optional": false,
290            "computed": false,
291            "value": {
292              "type": "FunctionExpression",
293              "function": {
294                "type": "ScriptFunction",
295                "id": {
296                  "type": "Identifier",
297                  "name": "_$init$_",
298                  "decorators": [],
299                  "loc": {
300                    "start": {
301                      "line": 1,
302                      "column": 1
303                    },
304                    "end": {
305                      "line": 1,
306                      "column": 1
307                    }
308                  }
309                },
310                "generator": false,
311                "async": false,
312                "expression": false,
313                "params": [],
314                "body": {
315                  "type": "BlockStatement",
316                  "statements": [],
317                  "loc": {
318                    "start": {
319                      "line": 1,
320                      "column": 1
321                    },
322                    "end": {
323                      "line": 1,
324                      "column": 1
325                    }
326                  }
327                },
328                "loc": {
329                  "start": {
330                    "line": 1,
331                    "column": 1
332                  },
333                  "end": {
334                    "line": 1,
335                    "column": 1
336                  }
337                }
338              },
339              "loc": {
340                "start": {
341                  "line": 1,
342                  "column": 1
343                },
344                "end": {
345                  "line": 1,
346                  "column": 1
347                }
348              }
349            },
350            "overloads": [],
351            "decorators": [],
352            "loc": {
353              "start": {
354                "line": 1,
355                "column": 1
356              },
357              "end": {
358                "line": 1,
359                "column": 1
360              }
361            }
362          }
363        ],
364        "loc": {
365          "start": {
366            "line": 1,
367            "column": 1
368          },
369          "end": {
370            "line": 1,
371            "column": 1
372          }
373        }
374      },
375      "loc": {
376        "start": {
377          "line": 1,
378          "column": 1
379        },
380        "end": {
381          "line": 1,
382          "column": 1
383        }
384      }
385    }
386  ],
387  "loc": {
388    "start": {
389      "line": 1,
390      "column": 1
391    },
392    "end": {
393      "line": 19,
394      "column": 1
395    }
396  }
397}
398