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": "foo",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 12
35                },
36                "end": {
37                  "line": 17,
38                  "column": 15
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": 12
59                    },
60                    "end": {
61                      "line": 17,
62                      "column": 15
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": 18
77                    },
78                    "end": {
79                      "line": 18,
80                      "column": 6
81                    }
82                  }
83                },
84                "loc": {
85                  "start": {
86                    "line": 17,
87                    "column": 16
88                  },
89                  "end": {
90                    "line": 18,
91                    "column": 6
92                  }
93                }
94              },
95              "loc": {
96                "start": {
97                  "line": 17,
98                  "column": 16
99                },
100                "end": {
101                  "line": 18,
102                  "column": 6
103                }
104              }
105            },
106            "overloads": [],
107            "decorators": [],
108            "loc": {
109              "start": {
110                "line": 17,
111                "column": 5
112              },
113              "end": {
114                "line": 18,
115                "column": 6
116              }
117            }
118          },
119          {
120            "type": "MethodDefinition",
121            "key": {
122              "type": "Identifier",
123              "name": "constructor",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 1,
128                  "column": 1
129                },
130                "end": {
131                  "line": 1,
132                  "column": 1
133                }
134              }
135            },
136            "kind": "constructor",
137            "static": false,
138            "optional": false,
139            "computed": false,
140            "value": {
141              "type": "FunctionExpression",
142              "function": {
143                "type": "ScriptFunction",
144                "id": {
145                  "type": "Identifier",
146                  "name": "constructor",
147                  "decorators": [],
148                  "loc": {
149                    "start": {
150                      "line": 1,
151                      "column": 1
152                    },
153                    "end": {
154                      "line": 1,
155                      "column": 1
156                    }
157                  }
158                },
159                "generator": false,
160                "async": false,
161                "expression": false,
162                "params": [],
163                "body": {
164                  "type": "BlockStatement",
165                  "statements": [],
166                  "loc": {
167                    "start": {
168                      "line": 1,
169                      "column": 1
170                    },
171                    "end": {
172                      "line": 1,
173                      "column": 1
174                    }
175                  }
176                },
177                "loc": {
178                  "start": {
179                    "line": 1,
180                    "column": 1
181                  },
182                  "end": {
183                    "line": 1,
184                    "column": 1
185                  }
186                }
187              },
188              "loc": {
189                "start": {
190                  "line": 1,
191                  "column": 1
192                },
193                "end": {
194                  "line": 1,
195                  "column": 1
196                }
197              }
198            },
199            "overloads": [],
200            "decorators": [],
201            "loc": {
202              "start": {
203                "line": 19,
204                "column": 2
205              },
206              "end": {
207                "line": 19,
208                "column": 2
209              }
210            }
211          }
212        ],
213        "loc": {
214          "start": {
215            "line": 16,
216            "column": 9
217          },
218          "end": {
219            "line": 19,
220            "column": 2
221          }
222        }
223      },
224      "loc": {
225        "start": {
226          "line": 16,
227          "column": 1
228        },
229        "end": {
230          "line": 19,
231          "column": 2
232        }
233      }
234    },
235    {
236      "type": "ClassDeclaration",
237      "definition": {
238        "id": {
239          "type": "Identifier",
240          "name": "ETSGLOBAL",
241          "decorators": [],
242          "loc": {
243            "start": {
244              "line": 1,
245              "column": 1
246            },
247            "end": {
248              "line": 1,
249              "column": 1
250            }
251          }
252        },
253        "superClass": null,
254        "implements": [],
255        "body": [
256          {
257            "type": "MethodDefinition",
258            "key": {
259              "type": "Identifier",
260              "name": "main",
261              "decorators": [],
262              "loc": {
263                "start": {
264                  "line": 1,
265                  "column": 1
266                },
267                "end": {
268                  "line": 1,
269                  "column": 1
270                }
271              }
272            },
273            "kind": "method",
274            "accessibility": "public",
275            "static": true,
276            "optional": false,
277            "computed": false,
278            "value": {
279              "type": "FunctionExpression",
280              "function": {
281                "type": "ScriptFunction",
282                "id": {
283                  "type": "Identifier",
284                  "name": "main",
285                  "decorators": [],
286                  "loc": {
287                    "start": {
288                      "line": 1,
289                      "column": 1
290                    },
291                    "end": {
292                      "line": 1,
293                      "column": 1
294                    }
295                  }
296                },
297                "generator": false,
298                "async": false,
299                "expression": false,
300                "params": [],
301                "body": {
302                  "type": "BlockStatement",
303                  "statements": [],
304                  "loc": {
305                    "start": {
306                      "line": 1,
307                      "column": 1
308                    },
309                    "end": {
310                      "line": 1,
311                      "column": 1
312                    }
313                  }
314                },
315                "loc": {
316                  "start": {
317                    "line": 1,
318                    "column": 1
319                  },
320                  "end": {
321                    "line": 1,
322                    "column": 1
323                  }
324                }
325              },
326              "loc": {
327                "start": {
328                  "line": 1,
329                  "column": 1
330                },
331                "end": {
332                  "line": 1,
333                  "column": 1
334                }
335              }
336            },
337            "overloads": [],
338            "decorators": [],
339            "loc": {
340              "start": {
341                "line": 1,
342                "column": 1
343              },
344              "end": {
345                "line": 1,
346                "column": 1
347              }
348            }
349          },
350          {
351            "type": "MethodDefinition",
352            "key": {
353              "type": "Identifier",
354              "name": "_$init$_",
355              "decorators": [],
356              "loc": {
357                "start": {
358                  "line": 1,
359                  "column": 1
360                },
361                "end": {
362                  "line": 1,
363                  "column": 1
364                }
365              }
366            },
367            "kind": "method",
368            "accessibility": "public",
369            "static": true,
370            "optional": false,
371            "computed": false,
372            "value": {
373              "type": "FunctionExpression",
374              "function": {
375                "type": "ScriptFunction",
376                "id": {
377                  "type": "Identifier",
378                  "name": "_$init$_",
379                  "decorators": [],
380                  "loc": {
381                    "start": {
382                      "line": 1,
383                      "column": 1
384                    },
385                    "end": {
386                      "line": 1,
387                      "column": 1
388                    }
389                  }
390                },
391                "generator": false,
392                "async": false,
393                "expression": false,
394                "params": [],
395                "body": {
396                  "type": "BlockStatement",
397                  "statements": [
398                    {
399                      "type": "ExpressionStatement",
400                      "expression": {
401                        "type": "AssignmentExpression",
402                        "operator": "=",
403                        "left": {
404                          "type": "Identifier",
405                          "name": "res",
406                          "decorators": [],
407                          "loc": {
408                            "start": {
409                              "line": 21,
410                              "column": 5
411                            },
412                            "end": {
413                              "line": 21,
414                              "column": 8
415                            }
416                          }
417                        },
418                        "right": {
419                          "type": "ETSLaunchExpression",
420                          "expr": {
421                            "type": "CallExpression",
422                            "callee": {
423                              "type": "MemberExpression",
424                              "object": {
425                                "type": "Identifier",
426                                "name": "C",
427                                "decorators": [],
428                                "loc": {
429                                  "start": {
430                                    "line": 21,
431                                    "column": 18
432                                  },
433                                  "end": {
434                                    "line": 21,
435                                    "column": 19
436                                  }
437                                }
438                              },
439                              "property": {
440                                "type": "Identifier",
441                                "name": "foo",
442                                "decorators": [],
443                                "loc": {
444                                  "start": {
445                                    "line": 21,
446                                    "column": 20
447                                  },
448                                  "end": {
449                                    "line": 21,
450                                    "column": 23
451                                  }
452                                }
453                              },
454                              "computed": false,
455                              "optional": false,
456                              "loc": {
457                                "start": {
458                                  "line": 21,
459                                  "column": 18
460                                },
461                                "end": {
462                                  "line": 21,
463                                  "column": 23
464                                }
465                              }
466                            },
467                            "arguments": [],
468                            "optional": false,
469                            "loc": {
470                              "start": {
471                                "line": 21,
472                                "column": 18
473                              },
474                              "end": {
475                                "line": 21,
476                                "column": 25
477                              }
478                            }
479                          },
480                          "loc": {
481                            "start": {
482                              "line": 21,
483                              "column": 11
484                            },
485                            "end": {
486                              "line": 21,
487                              "column": 25
488                            }
489                          }
490                        },
491                        "loc": {
492                          "start": {
493                            "line": 21,
494                            "column": 5
495                          },
496                          "end": {
497                            "line": 21,
498                            "column": 25
499                          }
500                        }
501                      },
502                      "loc": {
503                        "start": {
504                          "line": 21,
505                          "column": 5
506                        },
507                        "end": {
508                          "line": 21,
509                          "column": 25
510                        }
511                      }
512                    }
513                  ],
514                  "loc": {
515                    "start": {
516                      "line": 1,
517                      "column": 1
518                    },
519                    "end": {
520                      "line": 1,
521                      "column": 1
522                    }
523                  }
524                },
525                "loc": {
526                  "start": {
527                    "line": 1,
528                    "column": 1
529                  },
530                  "end": {
531                    "line": 1,
532                    "column": 1
533                  }
534                }
535              },
536              "loc": {
537                "start": {
538                  "line": 1,
539                  "column": 1
540                },
541                "end": {
542                  "line": 1,
543                  "column": 1
544                }
545              }
546            },
547            "overloads": [],
548            "decorators": [],
549            "loc": {
550              "start": {
551                "line": 1,
552                "column": 1
553              },
554              "end": {
555                "line": 1,
556                "column": 1
557              }
558            }
559          },
560          {
561            "type": "ClassProperty",
562            "key": {
563              "type": "Identifier",
564              "name": "res",
565              "decorators": [],
566              "loc": {
567                "start": {
568                  "line": 21,
569                  "column": 5
570                },
571                "end": {
572                  "line": 21,
573                  "column": 8
574                }
575              }
576            },
577            "value": {
578              "type": "ETSLaunchExpression",
579              "expr": {
580                "type": "CallExpression",
581                "callee": {
582                  "type": "MemberExpression",
583                  "object": {
584                    "type": "Identifier",
585                    "name": "C",
586                    "decorators": [],
587                    "loc": {
588                      "start": {
589                        "line": 21,
590                        "column": 18
591                      },
592                      "end": {
593                        "line": 21,
594                        "column": 19
595                      }
596                    }
597                  },
598                  "property": {
599                    "type": "Identifier",
600                    "name": "foo",
601                    "decorators": [],
602                    "loc": {
603                      "start": {
604                        "line": 21,
605                        "column": 20
606                      },
607                      "end": {
608                        "line": 21,
609                        "column": 23
610                      }
611                    }
612                  },
613                  "computed": false,
614                  "optional": false,
615                  "loc": {
616                    "start": {
617                      "line": 21,
618                      "column": 18
619                    },
620                    "end": {
621                      "line": 21,
622                      "column": 23
623                    }
624                  }
625                },
626                "arguments": [],
627                "optional": false,
628                "loc": {
629                  "start": {
630                    "line": 21,
631                    "column": 18
632                  },
633                  "end": {
634                    "line": 21,
635                    "column": 25
636                  }
637                }
638              },
639              "loc": {
640                "start": {
641                  "line": 21,
642                  "column": 11
643                },
644                "end": {
645                  "line": 21,
646                  "column": 25
647                }
648              }
649            },
650            "accessibility": "public",
651            "static": true,
652            "readonly": false,
653            "declare": false,
654            "optional": false,
655            "computed": false,
656            "definite": false,
657            "decorators": [],
658            "loc": {
659              "start": {
660                "line": 21,
661                "column": 5
662              },
663              "end": {
664                "line": 21,
665                "column": 25
666              }
667            }
668          }
669        ],
670        "loc": {
671          "start": {
672            "line": 1,
673            "column": 1
674          },
675          "end": {
676            "line": 1,
677            "column": 1
678          }
679        }
680      },
681      "loc": {
682        "start": {
683          "line": 1,
684          "column": 1
685        },
686        "end": {
687          "line": 1,
688          "column": 1
689        }
690      }
691    }
692  ],
693  "loc": {
694    "start": {
695      "line": 1,
696      "column": 1
697    },
698    "end": {
699      "line": 22,
700      "column": 1
701    }
702  }
703}
704