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