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