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