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": "constructor",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 1,
34                  "column": 1
35                },
36                "end": {
37                  "line": 1,
38                  "column": 1
39                }
40              }
41            },
42            "kind": "constructor",
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": "constructor",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 1,
58                      "column": 1
59                    },
60                    "end": {
61                      "line": 1,
62                      "column": 1
63                    }
64                  }
65                },
66                "generator": false,
67                "async": false,
68                "expression": false,
69                "params": [],
70                "body": {
71                  "type": "BlockStatement",
72                  "statements": [],
73                  "loc": {
74                    "start": {
75                      "line": 17,
76                      "column": 19
77                    },
78                    "end": {
79                      "line": 17,
80                      "column": 21
81                    }
82                  }
83                },
84                "loc": {
85                  "start": {
86                    "line": 17,
87                    "column": 16
88                  },
89                  "end": {
90                    "line": 17,
91                    "column": 21
92                  }
93                }
94              },
95              "loc": {
96                "start": {
97                  "line": 17,
98                  "column": 16
99                },
100                "end": {
101                  "line": 17,
102                  "column": 21
103                }
104              }
105            },
106            "overloads": [],
107            "decorators": [],
108            "loc": {
109              "start": {
110                "line": 17,
111                "column": 5
112              },
113              "end": {
114                "line": 17,
115                "column": 21
116              }
117            }
118          }
119        ],
120        "loc": {
121          "start": {
122            "line": 16,
123            "column": 9
124          },
125          "end": {
126            "line": 18,
127            "column": 2
128          }
129        }
130      },
131      "loc": {
132        "start": {
133          "line": 16,
134          "column": 1
135        },
136        "end": {
137          "line": 18,
138          "column": 2
139        }
140      }
141    },
142    {
143      "type": "ClassDeclaration",
144      "definition": {
145        "id": {
146          "type": "Identifier",
147          "name": "B",
148          "decorators": [],
149          "loc": {
150            "start": {
151              "line": 20,
152              "column": 7
153            },
154            "end": {
155              "line": 20,
156              "column": 8
157            }
158          }
159        },
160        "superClass": {
161          "type": "ETSTypeReference",
162          "part": {
163            "type": "ETSTypeReferencePart",
164            "name": {
165              "type": "Identifier",
166              "name": "A",
167              "decorators": [],
168              "loc": {
169                "start": {
170                  "line": 20,
171                  "column": 17
172                },
173                "end": {
174                  "line": 20,
175                  "column": 18
176                }
177              }
178            },
179            "loc": {
180              "start": {
181                "line": 20,
182                "column": 17
183              },
184              "end": {
185                "line": 20,
186                "column": 20
187              }
188            }
189          },
190          "loc": {
191            "start": {
192              "line": 20,
193              "column": 17
194            },
195            "end": {
196              "line": 20,
197              "column": 20
198            }
199          }
200        },
201        "implements": [],
202        "body": [
203          {
204            "type": "MethodDefinition",
205            "key": {
206              "type": "Identifier",
207              "name": "constructor",
208              "decorators": [],
209              "loc": {
210                "start": {
211                  "line": 1,
212                  "column": 1
213                },
214                "end": {
215                  "line": 1,
216                  "column": 1
217                }
218              }
219            },
220            "kind": "constructor",
221            "accessibility": "public",
222            "static": false,
223            "optional": false,
224            "computed": false,
225            "value": {
226              "type": "FunctionExpression",
227              "function": {
228                "type": "ScriptFunction",
229                "id": {
230                  "type": "Identifier",
231                  "name": "constructor",
232                  "decorators": [],
233                  "loc": {
234                    "start": {
235                      "line": 1,
236                      "column": 1
237                    },
238                    "end": {
239                      "line": 1,
240                      "column": 1
241                    }
242                  }
243                },
244                "generator": false,
245                "async": false,
246                "expression": false,
247                "params": [
248                  {
249                    "type": "ETSParameterExpression",
250                    "name": {
251                      "type": "Identifier",
252                      "name": "x",
253                      "typeAnnotation": {
254                        "type": "ETSPrimitiveType",
255                        "loc": {
256                          "start": {
257                            "line": 21,
258                            "column": 20
259                          },
260                          "end": {
261                            "line": 21,
262                            "column": 23
263                          }
264                        }
265                      },
266                      "decorators": [],
267                      "loc": {
268                        "start": {
269                          "line": 21,
270                          "column": 17
271                        },
272                        "end": {
273                          "line": 21,
274                          "column": 23
275                        }
276                      }
277                    },
278                    "loc": {
279                      "start": {
280                        "line": 21,
281                        "column": 17
282                      },
283                      "end": {
284                        "line": 21,
285                        "column": 23
286                      }
287                    }
288                  }
289                ],
290                "body": {
291                  "type": "BlockStatement",
292                  "statements": [],
293                  "loc": {
294                    "start": {
295                      "line": 21,
296                      "column": 25
297                    },
298                    "end": {
299                      "line": 23,
300                      "column": 6
301                    }
302                  }
303                },
304                "loc": {
305                  "start": {
306                    "line": 21,
307                    "column": 16
308                  },
309                  "end": {
310                    "line": 23,
311                    "column": 6
312                  }
313                }
314              },
315              "loc": {
316                "start": {
317                  "line": 21,
318                  "column": 16
319                },
320                "end": {
321                  "line": 23,
322                  "column": 6
323                }
324              }
325            },
326            "overloads": [],
327            "decorators": [],
328            "loc": {
329              "start": {
330                "line": 21,
331                "column": 5
332              },
333              "end": {
334                "line": 23,
335                "column": 6
336              }
337            }
338          }
339        ],
340        "loc": {
341          "start": {
342            "line": 20,
343            "column": 19
344          },
345          "end": {
346            "line": 24,
347            "column": 2
348          }
349        }
350      },
351      "loc": {
352        "start": {
353          "line": 20,
354          "column": 1
355        },
356        "end": {
357          "line": 24,
358          "column": 2
359        }
360      }
361    },
362    {
363      "type": "ClassDeclaration",
364      "definition": {
365        "id": {
366          "type": "Identifier",
367          "name": "ETSGLOBAL",
368          "decorators": [],
369          "loc": {
370            "start": {
371              "line": 1,
372              "column": 1
373            },
374            "end": {
375              "line": 1,
376              "column": 1
377            }
378          }
379        },
380        "superClass": null,
381        "implements": [],
382        "body": [
383          {
384            "type": "MethodDefinition",
385            "key": {
386              "type": "Identifier",
387              "name": "_$init$_",
388              "decorators": [],
389              "loc": {
390                "start": {
391                  "line": 1,
392                  "column": 1
393                },
394                "end": {
395                  "line": 1,
396                  "column": 1
397                }
398              }
399            },
400            "kind": "method",
401            "accessibility": "public",
402            "static": true,
403            "optional": false,
404            "computed": false,
405            "value": {
406              "type": "FunctionExpression",
407              "function": {
408                "type": "ScriptFunction",
409                "id": {
410                  "type": "Identifier",
411                  "name": "_$init$_",
412                  "decorators": [],
413                  "loc": {
414                    "start": {
415                      "line": 1,
416                      "column": 1
417                    },
418                    "end": {
419                      "line": 1,
420                      "column": 1
421                    }
422                  }
423                },
424                "generator": false,
425                "async": false,
426                "expression": false,
427                "params": [],
428                "body": {
429                  "type": "BlockStatement",
430                  "statements": [],
431                  "loc": {
432                    "start": {
433                      "line": 1,
434                      "column": 1
435                    },
436                    "end": {
437                      "line": 1,
438                      "column": 1
439                    }
440                  }
441                },
442                "loc": {
443                  "start": {
444                    "line": 1,
445                    "column": 1
446                  },
447                  "end": {
448                    "line": 1,
449                    "column": 1
450                  }
451                }
452              },
453              "loc": {
454                "start": {
455                  "line": 1,
456                  "column": 1
457                },
458                "end": {
459                  "line": 1,
460                  "column": 1
461                }
462              }
463            },
464            "overloads": [],
465            "decorators": [],
466            "loc": {
467              "start": {
468                "line": 1,
469                "column": 1
470              },
471              "end": {
472                "line": 1,
473                "column": 1
474              }
475            }
476          }
477        ],
478        "loc": {
479          "start": {
480            "line": 1,
481            "column": 1
482          },
483          "end": {
484            "line": 1,
485            "column": 1
486          }
487        }
488      },
489      "loc": {
490        "start": {
491          "line": 1,
492          "column": 1
493        },
494        "end": {
495          "line": 1,
496          "column": 1
497        }
498      }
499    }
500  ],
501  "loc": {
502    "start": {
503      "line": 1,
504      "column": 1
505    },
506    "end": {
507      "line": 25,
508      "column": 1
509    }
510  }
511}
512