1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ImportDeclaration",
6      "source": {
7        "type": "StringLiteral",
8        "value": "./test3",
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": "goo",
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": "goo",
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": "ImportDeclaration",
78      "source": {
79        "type": "StringLiteral",
80        "value": "./test2",
81        "loc": {
82          "start": {
83            "line": 17,
84            "column": 19
85          },
86          "end": {
87            "line": 17,
88            "column": 28
89          }
90        }
91      },
92      "specifiers": [
93        {
94          "type": "ImportSpecifier",
95          "local": {
96            "type": "Identifier",
97            "name": "foo",
98            "decorators": [],
99            "loc": {
100              "start": {
101                "line": 17,
102                "column": 9
103              },
104              "end": {
105                "line": 17,
106                "column": 12
107              }
108            }
109          },
110          "imported": {
111            "type": "Identifier",
112            "name": "foo",
113            "decorators": [],
114            "loc": {
115              "start": {
116                "line": 17,
117                "column": 9
118              },
119              "end": {
120                "line": 17,
121                "column": 12
122              }
123            }
124          },
125          "loc": {
126            "start": {
127              "line": 17,
128              "column": 9
129            },
130            "end": {
131              "line": 17,
132              "column": 12
133            }
134          }
135        }
136      ],
137      "loc": {
138        "start": {
139          "line": 17,
140          "column": 1
141        },
142        "end": {
143          "line": 17,
144          "column": 28
145        }
146      }
147    },
148    {
149      "type": "ClassDeclaration",
150      "definition": {
151        "id": {
152          "type": "Identifier",
153          "name": "ETSGLOBAL",
154          "decorators": [],
155          "loc": {
156            "start": {
157              "line": 1,
158              "column": 1
159            },
160            "end": {
161              "line": 1,
162              "column": 1
163            }
164          }
165        },
166        "superClass": null,
167        "implements": [],
168        "body": [
169          {
170            "type": "MethodDefinition",
171            "key": {
172              "type": "Identifier",
173              "name": "_$init$_",
174              "decorators": [],
175              "loc": {
176                "start": {
177                  "line": 1,
178                  "column": 1
179                },
180                "end": {
181                  "line": 1,
182                  "column": 1
183                }
184              }
185            },
186            "kind": "method",
187            "accessibility": "public",
188            "static": true,
189            "optional": false,
190            "computed": false,
191            "value": {
192              "type": "FunctionExpression",
193              "function": {
194                "type": "ScriptFunction",
195                "id": {
196                  "type": "Identifier",
197                  "name": "_$init$_",
198                  "decorators": [],
199                  "loc": {
200                    "start": {
201                      "line": 1,
202                      "column": 1
203                    },
204                    "end": {
205                      "line": 1,
206                      "column": 1
207                    }
208                  }
209                },
210                "generator": false,
211                "async": false,
212                "expression": false,
213                "params": [],
214                "body": {
215                  "type": "BlockStatement",
216                  "statements": [
217                    {
218                      "type": "VariableDeclaration",
219                      "declarations": [
220                        {
221                          "type": "VariableDeclarator",
222                          "id": {
223                            "type": "Identifier",
224                            "name": "__linker",
225                            "decorators": [],
226                            "loc": {
227                              "start": {
228                                "line": 1,
229                                "column": 3
230                              },
231                              "end": {
232                                "line": 1,
233                                "column": 3
234                              }
235                            }
236                          },
237                          "init": {
238                            "type": "CallExpression",
239                            "callee": {
240                              "type": "MemberExpression",
241                              "object": {
242                                "type": "CallExpression",
243                                "callee": {
244                                  "type": "MemberExpression",
245                                  "object": {
246                                    "type": "Identifier",
247                                    "name": "Class",
248                                    "decorators": [],
249                                    "loc": {
250                                      "start": {
251                                        "line": 1,
252                                        "column": 3
253                                      },
254                                      "end": {
255                                        "line": 1,
256                                        "column": 3
257                                      }
258                                    }
259                                  },
260                                  "property": {
261                                    "type": "Identifier",
262                                    "name": "ofCaller",
263                                    "decorators": [],
264                                    "loc": {
265                                      "start": {
266                                        "line": 1,
267                                        "column": 3
268                                      },
269                                      "end": {
270                                        "line": 1,
271                                        "column": 3
272                                      }
273                                    }
274                                  },
275                                  "computed": false,
276                                  "optional": false,
277                                  "loc": {
278                                    "start": {
279                                      "line": 1,
280                                      "column": 3
281                                    },
282                                    "end": {
283                                      "line": 1,
284                                      "column": 3
285                                    }
286                                  }
287                                },
288                                "arguments": [],
289                                "optional": false,
290                                "loc": {
291                                  "start": {
292                                    "line": 1,
293                                    "column": 3
294                                  },
295                                  "end": {
296                                    "line": 1,
297                                    "column": 3
298                                  }
299                                }
300                              },
301                              "property": {
302                                "type": "Identifier",
303                                "name": "getLinker",
304                                "decorators": [],
305                                "loc": {
306                                  "start": {
307                                    "line": 1,
308                                    "column": 3
309                                  },
310                                  "end": {
311                                    "line": 1,
312                                    "column": 3
313                                  }
314                                }
315                              },
316                              "computed": false,
317                              "optional": false,
318                              "loc": {
319                                "start": {
320                                  "line": 1,
321                                  "column": 3
322                                },
323                                "end": {
324                                  "line": 1,
325                                  "column": 3
326                                }
327                              }
328                            },
329                            "arguments": [],
330                            "optional": false,
331                            "loc": {
332                              "start": {
333                                "line": 1,
334                                "column": 3
335                              },
336                              "end": {
337                                "line": 1,
338                                "column": 3
339                              }
340                            }
341                          },
342                          "loc": {
343                            "start": {
344                              "line": 1,
345                              "column": 3
346                            },
347                            "end": {
348                              "line": 1,
349                              "column": 3
350                            }
351                          }
352                        }
353                      ],
354                      "kind": "const",
355                      "loc": {
356                        "start": {
357                          "line": 1,
358                          "column": 1
359                        },
360                        "end": {
361                          "line": 1,
362                          "column": 3
363                        }
364                      }
365                    },
366                    {
367                      "type": "ExpressionStatement",
368                      "expression": {
369                        "type": "CallExpression",
370                        "callee": {
371                          "type": "MemberExpression",
372                          "object": {
373                            "type": "Identifier",
374                            "name": "__linker",
375                            "decorators": [],
376                            "loc": {
377                              "start": {
378                                "line": 1,
379                                "column": 1
380                              },
381                              "end": {
382                                "line": 1,
383                                "column": 3
384                              }
385                            }
386                          },
387                          "property": {
388                            "type": "Identifier",
389                            "name": "loadClass",
390                            "decorators": [],
391                            "loc": {
392                              "start": {
393                                "line": 1,
394                                "column": 3
395                              },
396                              "end": {
397                                "line": 1,
398                                "column": 3
399                              }
400                            }
401                          },
402                          "computed": false,
403                          "optional": false,
404                          "loc": {
405                            "start": {
406                              "line": 1,
407                              "column": 1
408                            },
409                            "end": {
410                              "line": 1,
411                              "column": 3
412                            }
413                          }
414                        },
415                        "arguments": [
416                          {
417                            "type": "StringLiteral",
418                            "value": "test2.ETSGLOBAL",
419                            "loc": {
420                              "start": {
421                                "line": 1,
422                                "column": 3
423                              },
424                              "end": {
425                                "line": 1,
426                                "column": 3
427                              }
428                            }
429                          },
430                          {
431                            "type": "BooleanLiteral",
432                            "value": true,
433                            "loc": {
434                              "start": {
435                                "line": 1,
436                                "column": 3
437                              },
438                              "end": {
439                                "line": 1,
440                                "column": 3
441                              }
442                            }
443                          }
444                        ],
445                        "optional": false,
446                        "loc": {
447                          "start": {
448                            "line": 1,
449                            "column": 1
450                          },
451                          "end": {
452                            "line": 1,
453                            "column": 3
454                          }
455                        }
456                      },
457                      "loc": {
458                        "start": {
459                          "line": 1,
460                          "column": 1
461                        },
462                        "end": {
463                          "line": 1,
464                          "column": 3
465                        }
466                      }
467                    },
468                    {
469                      "type": "ExpressionStatement",
470                      "expression": {
471                        "type": "CallExpression",
472                        "callee": {
473                          "type": "MemberExpression",
474                          "object": {
475                            "type": "Identifier",
476                            "name": "__linker",
477                            "decorators": [],
478                            "loc": {
479                              "start": {
480                                "line": 1,
481                                "column": 1
482                              },
483                              "end": {
484                                "line": 1,
485                                "column": 3
486                              }
487                            }
488                          },
489                          "property": {
490                            "type": "Identifier",
491                            "name": "loadClass",
492                            "decorators": [],
493                            "loc": {
494                              "start": {
495                                "line": 1,
496                                "column": 3
497                              },
498                              "end": {
499                                "line": 1,
500                                "column": 3
501                              }
502                            }
503                          },
504                          "computed": false,
505                          "optional": false,
506                          "loc": {
507                            "start": {
508                              "line": 1,
509                              "column": 1
510                            },
511                            "end": {
512                              "line": 1,
513                              "column": 3
514                            }
515                          }
516                        },
517                        "arguments": [
518                          {
519                            "type": "StringLiteral",
520                            "value": "test3.ETSGLOBAL",
521                            "loc": {
522                              "start": {
523                                "line": 1,
524                                "column": 3
525                              },
526                              "end": {
527                                "line": 1,
528                                "column": 3
529                              }
530                            }
531                          },
532                          {
533                            "type": "BooleanLiteral",
534                            "value": true,
535                            "loc": {
536                              "start": {
537                                "line": 1,
538                                "column": 3
539                              },
540                              "end": {
541                                "line": 1,
542                                "column": 3
543                              }
544                            }
545                          }
546                        ],
547                        "optional": false,
548                        "loc": {
549                          "start": {
550                            "line": 1,
551                            "column": 1
552                          },
553                          "end": {
554                            "line": 1,
555                            "column": 3
556                          }
557                        }
558                      },
559                      "loc": {
560                        "start": {
561                          "line": 1,
562                          "column": 1
563                        },
564                        "end": {
565                          "line": 1,
566                          "column": 3
567                        }
568                      }
569                    }
570                  ],
571                  "loc": {
572                    "start": {
573                      "line": 1,
574                      "column": 1
575                    },
576                    "end": {
577                      "line": 1,
578                      "column": 1
579                    }
580                  }
581                },
582                "loc": {
583                  "start": {
584                    "line": 1,
585                    "column": 1
586                  },
587                  "end": {
588                    "line": 1,
589                    "column": 1
590                  }
591                }
592              },
593              "loc": {
594                "start": {
595                  "line": 1,
596                  "column": 1
597                },
598                "end": {
599                  "line": 1,
600                  "column": 1
601                }
602              }
603            },
604            "overloads": [],
605            "decorators": [],
606            "loc": {
607              "start": {
608                "line": 1,
609                "column": 1
610              },
611              "end": {
612                "line": 1,
613                "column": 1
614              }
615            }
616          },
617          {
618            "type": "MethodDefinition",
619            "key": {
620              "type": "Identifier",
621              "name": "main",
622              "decorators": [],
623              "loc": {
624                "start": {
625                  "line": 19,
626                  "column": 10
627                },
628                "end": {
629                  "line": 19,
630                  "column": 14
631                }
632              }
633            },
634            "kind": "method",
635            "accessibility": "public",
636            "static": true,
637            "optional": false,
638            "computed": false,
639            "value": {
640              "type": "FunctionExpression",
641              "function": {
642                "type": "ScriptFunction",
643                "id": {
644                  "type": "Identifier",
645                  "name": "main",
646                  "decorators": [],
647                  "loc": {
648                    "start": {
649                      "line": 19,
650                      "column": 10
651                    },
652                    "end": {
653                      "line": 19,
654                      "column": 14
655                    }
656                  }
657                },
658                "generator": false,
659                "async": false,
660                "expression": false,
661                "params": [],
662                "body": {
663                  "type": "BlockStatement",
664                  "statements": [
665                    {
666                      "type": "ExpressionStatement",
667                      "expression": {
668                        "type": "CallExpression",
669                        "callee": {
670                          "type": "MemberExpression",
671                          "object": {
672                            "type": "Identifier",
673                            "name": "console",
674                            "decorators": [],
675                            "loc": {
676                              "start": {
677                                "line": 20,
678                                "column": 5
679                              },
680                              "end": {
681                                "line": 20,
682                                "column": 12
683                              }
684                            }
685                          },
686                          "property": {
687                            "type": "Identifier",
688                            "name": "println",
689                            "decorators": [],
690                            "loc": {
691                              "start": {
692                                "line": 20,
693                                "column": 13
694                              },
695                              "end": {
696                                "line": 20,
697                                "column": 20
698                              }
699                            }
700                          },
701                          "computed": false,
702                          "optional": false,
703                          "loc": {
704                            "start": {
705                              "line": 20,
706                              "column": 5
707                            },
708                            "end": {
709                              "line": 20,
710                              "column": 20
711                            }
712                          }
713                        },
714                        "arguments": [
715                          {
716                            "type": "Identifier",
717                            "name": "goo",
718                            "decorators": [],
719                            "loc": {
720                              "start": {
721                                "line": 20,
722                                "column": 21
723                              },
724                              "end": {
725                                "line": 20,
726                                "column": 24
727                              }
728                            }
729                          }
730                        ],
731                        "optional": false,
732                        "loc": {
733                          "start": {
734                            "line": 20,
735                            "column": 5
736                          },
737                          "end": {
738                            "line": 20,
739                            "column": 25
740                          }
741                        }
742                      },
743                      "loc": {
744                        "start": {
745                          "line": 20,
746                          "column": 5
747                        },
748                        "end": {
749                          "line": 20,
750                          "column": 26
751                        }
752                      }
753                    },
754                    {
755                      "type": "ExpressionStatement",
756                      "expression": {
757                        "type": "CallExpression",
758                        "callee": {
759                          "type": "MemberExpression",
760                          "object": {
761                            "type": "Identifier",
762                            "name": "console",
763                            "decorators": [],
764                            "loc": {
765                              "start": {
766                                "line": 21,
767                                "column": 5
768                              },
769                              "end": {
770                                "line": 21,
771                                "column": 12
772                              }
773                            }
774                          },
775                          "property": {
776                            "type": "Identifier",
777                            "name": "println",
778                            "decorators": [],
779                            "loc": {
780                              "start": {
781                                "line": 21,
782                                "column": 13
783                              },
784                              "end": {
785                                "line": 21,
786                                "column": 20
787                              }
788                            }
789                          },
790                          "computed": false,
791                          "optional": false,
792                          "loc": {
793                            "start": {
794                              "line": 21,
795                              "column": 5
796                            },
797                            "end": {
798                              "line": 21,
799                              "column": 20
800                            }
801                          }
802                        },
803                        "arguments": [
804                          {
805                            "type": "Identifier",
806                            "name": "foo",
807                            "decorators": [],
808                            "loc": {
809                              "start": {
810                                "line": 21,
811                                "column": 21
812                              },
813                              "end": {
814                                "line": 21,
815                                "column": 24
816                              }
817                            }
818                          }
819                        ],
820                        "optional": false,
821                        "loc": {
822                          "start": {
823                            "line": 21,
824                            "column": 5
825                          },
826                          "end": {
827                            "line": 21,
828                            "column": 25
829                          }
830                        }
831                      },
832                      "loc": {
833                        "start": {
834                          "line": 21,
835                          "column": 5
836                        },
837                        "end": {
838                          "line": 21,
839                          "column": 26
840                        }
841                      }
842                    }
843                  ],
844                  "loc": {
845                    "start": {
846                      "line": 19,
847                      "column": 17
848                    },
849                    "end": {
850                      "line": 22,
851                      "column": 2
852                    }
853                  }
854                },
855                "loc": {
856                  "start": {
857                    "line": 19,
858                    "column": 14
859                  },
860                  "end": {
861                    "line": 22,
862                    "column": 2
863                  }
864                }
865              },
866              "loc": {
867                "start": {
868                  "line": 19,
869                  "column": 14
870                },
871                "end": {
872                  "line": 22,
873                  "column": 2
874                }
875              }
876            },
877            "overloads": [],
878            "decorators": [],
879            "loc": {
880              "start": {
881                "line": 19,
882                "column": 1
883              },
884              "end": {
885                "line": 22,
886                "column": 2
887              }
888            }
889          }
890        ],
891        "loc": {
892          "start": {
893            "line": 1,
894            "column": 1
895          },
896          "end": {
897            "line": 1,
898            "column": 1
899          }
900        }
901      },
902      "loc": {
903        "start": {
904          "line": 1,
905          "column": 1
906        },
907        "end": {
908          "line": 1,
909          "column": 1
910        }
911      }
912    }
913  ],
914  "loc": {
915    "start": {
916      "line": 1,
917      "column": 1
918    },
919    "end": {
920      "line": 23,
921      "column": 1
922    }
923  }
924}
925