1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ImportDeclaration",
6      "source": {
7        "type": "StringLiteral",
8        "value": "dynamic_js_import_tests",
9        "loc": {
10          "start": {
11            "line": 27,
12            "column": 19
13          },
14          "end": {
15            "line": 27,
16            "column": 44
17          }
18        }
19      },
20      "specifiers": [
21        {
22          "type": "ImportSpecifier",
23          "local": {
24            "type": "Identifier",
25            "name": "A",
26            "decorators": [],
27            "loc": {
28              "start": {
29                "line": 27,
30                "column": 10
31              },
32              "end": {
33                "line": 27,
34                "column": 11
35              }
36            }
37          },
38          "imported": {
39            "type": "Identifier",
40            "name": "A",
41            "decorators": [],
42            "loc": {
43              "start": {
44                "line": 27,
45                "column": 10
46              },
47              "end": {
48                "line": 27,
49                "column": 11
50              }
51            }
52          },
53          "loc": {
54            "start": {
55              "line": 27,
56              "column": 10
57            },
58            "end": {
59              "line": 27,
60              "column": 11
61            }
62          }
63        }
64      ],
65      "loc": {
66        "start": {
67          "line": 27,
68          "column": 1
69        },
70        "end": {
71          "line": 27,
72          "column": 44
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": "_$init$_",
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": "_$init$_",
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": "main",
196              "decorators": [],
197              "loc": {
198                "start": {
199                  "line": 29,
200                  "column": 10
201                },
202                "end": {
203                  "line": 29,
204                  "column": 14
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": "main",
220                  "decorators": [],
221                  "loc": {
222                    "start": {
223                      "line": 29,
224                      "column": 10
225                    },
226                    "end": {
227                      "line": 29,
228                      "column": 14
229                    }
230                  }
231                },
232                "generator": false,
233                "async": false,
234                "expression": false,
235                "params": [],
236                "returnType": {
237                  "type": "ETSPrimitiveType",
238                  "loc": {
239                    "start": {
240                      "line": 29,
241                      "column": 18
242                    },
243                    "end": {
244                      "line": 29,
245                      "column": 22
246                    }
247                  }
248                },
249                "body": {
250                  "type": "BlockStatement",
251                  "statements": [
252                    {
253                      "type": "VariableDeclaration",
254                      "declarations": [
255                        {
256                          "type": "VariableDeclarator",
257                          "id": {
258                            "type": "Identifier",
259                            "name": "a",
260                            "typeAnnotation": {
261                              "type": "ETSTypeReference",
262                              "part": {
263                                "type": "ETSTypeReferencePart",
264                                "name": {
265                                  "type": "Identifier",
266                                  "name": "A",
267                                  "decorators": [],
268                                  "loc": {
269                                    "start": {
270                                      "line": 30,
271                                      "column": 12
272                                    },
273                                    "end": {
274                                      "line": 30,
275                                      "column": 13
276                                    }
277                                  }
278                                },
279                                "loc": {
280                                  "start": {
281                                    "line": 30,
282                                    "column": 12
283                                  },
284                                  "end": {
285                                    "line": 30,
286                                    "column": 15
287                                  }
288                                }
289                              },
290                              "loc": {
291                                "start": {
292                                  "line": 30,
293                                  "column": 12
294                                },
295                                "end": {
296                                  "line": 30,
297                                  "column": 15
298                                }
299                              }
300                            },
301                            "decorators": [],
302                            "loc": {
303                              "start": {
304                                "line": 30,
305                                "column": 9
306                              },
307                              "end": {
308                                "line": 30,
309                                "column": 10
310                              }
311                            }
312                          },
313                          "init": {
314                            "type": "ObjectExpression",
315                            "properties": [
316                              {
317                                "type": "Property",
318                                "method": false,
319                                "shorthand": false,
320                                "computed": false,
321                                "key": {
322                                  "type": "Identifier",
323                                  "name": "name",
324                                  "decorators": [],
325                                  "loc": {
326                                    "start": {
327                                      "line": 30,
328                                      "column": 18
329                                    },
330                                    "end": {
331                                      "line": 30,
332                                      "column": 22
333                                    }
334                                  }
335                                },
336                                "value": {
337                                  "type": "StringLiteral",
338                                  "value": "Edalyn",
339                                  "loc": {
340                                    "start": {
341                                      "line": 30,
342                                      "column": 24
343                                    },
344                                    "end": {
345                                      "line": 30,
346                                      "column": 32
347                                    }
348                                  }
349                                },
350                                "kind": "init",
351                                "loc": {
352                                  "start": {
353                                    "line": 30,
354                                    "column": 18
355                                  },
356                                  "end": {
357                                    "line": 30,
358                                    "column": 32
359                                  }
360                                }
361                              },
362                              {
363                                "type": "Property",
364                                "method": false,
365                                "shorthand": false,
366                                "computed": false,
367                                "key": {
368                                  "type": "Identifier",
369                                  "name": "age",
370                                  "decorators": [],
371                                  "loc": {
372                                    "start": {
373                                      "line": 30,
374                                      "column": 34
375                                    },
376                                    "end": {
377                                      "line": 30,
378                                      "column": 37
379                                    }
380                                  }
381                                },
382                                "value": {
383                                  "type": "NumberLiteral",
384                                  "value": 30,
385                                  "loc": {
386                                    "start": {
387                                      "line": 30,
388                                      "column": 39
389                                    },
390                                    "end": {
391                                      "line": 30,
392                                      "column": 41
393                                    }
394                                  }
395                                },
396                                "kind": "init",
397                                "loc": {
398                                  "start": {
399                                    "line": 30,
400                                    "column": 34
401                                  },
402                                  "end": {
403                                    "line": 30,
404                                    "column": 41
405                                  }
406                                }
407                              },
408                              {
409                                "type": "Property",
410                                "method": false,
411                                "shorthand": false,
412                                "computed": false,
413                                "key": {
414                                  "type": "Identifier",
415                                  "name": "location",
416                                  "decorators": [],
417                                  "loc": {
418                                    "start": {
419                                      "line": 30,
420                                      "column": 43
421                                    },
422                                    "end": {
423                                      "line": 30,
424                                      "column": 51
425                                    }
426                                  }
427                                },
428                                "value": {
429                                  "type": "StringLiteral",
430                                  "value": "Boiling_isles",
431                                  "loc": {
432                                    "start": {
433                                      "line": 30,
434                                      "column": 53
435                                    },
436                                    "end": {
437                                      "line": 30,
438                                      "column": 68
439                                    }
440                                  }
441                                },
442                                "kind": "init",
443                                "loc": {
444                                  "start": {
445                                    "line": 30,
446                                    "column": 43
447                                  },
448                                  "end": {
449                                    "line": 30,
450                                    "column": 68
451                                  }
452                                }
453                              }
454                            ],
455                            "loc": {
456                              "start": {
457                                "line": 30,
458                                "column": 16
459                              },
460                              "end": {
461                                "line": 30,
462                                "column": 70
463                              }
464                            }
465                          },
466                          "loc": {
467                            "start": {
468                              "line": 30,
469                              "column": 9
470                            },
471                            "end": {
472                              "line": 30,
473                              "column": 70
474                            }
475                          }
476                        }
477                      ],
478                      "kind": "let",
479                      "loc": {
480                        "start": {
481                          "line": 30,
482                          "column": 5
483                        },
484                        "end": {
485                          "line": 30,
486                          "column": 71
487                        }
488                      }
489                    }
490                  ],
491                  "loc": {
492                    "start": {
493                      "line": 29,
494                      "column": 23
495                    },
496                    "end": {
497                      "line": 31,
498                      "column": 2
499                    }
500                  }
501                },
502                "loc": {
503                  "start": {
504                    "line": 29,
505                    "column": 14
506                  },
507                  "end": {
508                    "line": 31,
509                    "column": 2
510                  }
511                }
512              },
513              "loc": {
514                "start": {
515                  "line": 29,
516                  "column": 14
517                },
518                "end": {
519                  "line": 31,
520                  "column": 2
521                }
522              }
523            },
524            "overloads": [],
525            "decorators": [],
526            "loc": {
527              "start": {
528                "line": 29,
529                "column": 1
530              },
531              "end": {
532                "line": 31,
533                "column": 2
534              }
535            }
536          }
537        ],
538        "loc": {
539          "start": {
540            "line": 1,
541            "column": 1
542          },
543          "end": {
544            "line": 1,
545            "column": 1
546          }
547        }
548      },
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": "ClassDeclaration",
562      "definition": {
563        "id": {
564          "type": "Identifier",
565          "name": "$dynmodule",
566          "decorators": [],
567          "loc": {
568            "start": {
569              "line": 1,
570              "column": 1
571            },
572            "end": {
573              "line": 1,
574              "column": 1
575            }
576          }
577        },
578        "superClass": null,
579        "implements": [],
580        "body": [
581          {
582            "type": "ClassProperty",
583            "key": {
584              "type": "Identifier",
585              "name": "dynamic_js_import_tests0",
586              "decorators": [],
587              "loc": {
588                "start": {
589                  "line": 1,
590                  "column": 1
591                },
592                "end": {
593                  "line": 1,
594                  "column": 1
595                }
596              }
597            },
598            "accessibility": "public",
599            "static": true,
600            "readonly": true,
601            "declare": false,
602            "optional": false,
603            "computed": false,
604            "typeAnnotation": {
605              "type": "OpaqueType",
606              "loc": {
607                "start": {
608                  "line": 1,
609                  "column": 1
610                },
611                "end": {
612                  "line": 1,
613                  "column": 1
614                }
615              }
616            },
617            "definite": false,
618            "decorators": [],
619            "loc": {
620              "start": {
621                "line": 1,
622                "column": 1
623              },
624              "end": {
625                "line": 1,
626                "column": 1
627              }
628            }
629          },
630          {
631            "type": "ClassStaticBlock",
632            "value": {
633              "type": "FunctionExpression",
634              "function": {
635                "type": "ScriptFunction",
636                "id": {
637                  "type": "Identifier",
638                  "name": "<cctor>",
639                  "decorators": [],
640                  "loc": {
641                    "start": {
642                      "line": 1,
643                      "column": 1
644                    },
645                    "end": {
646                      "line": 1,
647                      "column": 1
648                    }
649                  }
650                },
651                "generator": false,
652                "async": false,
653                "expression": true,
654                "params": [],
655                "body": {
656                  "type": "BlockStatement",
657                  "statements": [
658                    {
659                      "type": "ExpressionStatement",
660                      "expression": {
661                        "type": "AssignmentExpression",
662                        "operator": "=",
663                        "left": {
664                          "type": "MemberExpression",
665                          "object": {
666                            "type": "Identifier",
667                            "name": "$dynmodule",
668                            "decorators": [],
669                            "loc": {
670                              "start": {
671                                "line": 1,
672                                "column": 1
673                              },
674                              "end": {
675                                "line": 1,
676                                "column": 1
677                              }
678                            }
679                          },
680                          "property": {
681                            "type": "Identifier",
682                            "name": "dynamic_js_import_tests0",
683                            "decorators": [],
684                            "loc": {
685                              "start": {
686                                "line": 1,
687                                "column": 1
688                              },
689                              "end": {
690                                "line": 1,
691                                "column": 1
692                              }
693                            }
694                          },
695                          "computed": false,
696                          "optional": false,
697                          "loc": {
698                            "start": {
699                              "line": 1,
700                              "column": 1
701                            },
702                            "end": {
703                              "line": 1,
704                              "column": 1
705                            }
706                          }
707                        },
708                        "right": {
709                          "type": "CallExpression",
710                          "callee": {
711                            "type": "MemberExpression",
712                            "object": {
713                              "type": "Identifier",
714                              "name": "JSRuntime",
715                              "decorators": [],
716                              "loc": {
717                                "start": {
718                                  "line": 1,
719                                  "column": 1
720                                },
721                                "end": {
722                                  "line": 1,
723                                  "column": 1
724                                }
725                              }
726                            },
727                            "property": {
728                              "type": "Identifier",
729                              "name": "loadModule",
730                              "decorators": [],
731                              "loc": {
732                                "start": {
733                                  "line": 1,
734                                  "column": 1
735                                },
736                                "end": {
737                                  "line": 1,
738                                  "column": 1
739                                }
740                              }
741                            },
742                            "computed": false,
743                            "optional": false,
744                            "loc": {
745                              "start": {
746                                "line": 1,
747                                "column": 1
748                              },
749                              "end": {
750                                "line": 1,
751                                "column": 1
752                              }
753                            }
754                          },
755                          "arguments": [
756                            {
757                              "type": "StringLiteral",
758                              "value": "dynamic_js_import_tests",
759                              "loc": {
760                                "start": {
761                                  "line": 1,
762                                  "column": 1
763                                },
764                                "end": {
765                                  "line": 1,
766                                  "column": 1
767                                }
768                              }
769                            }
770                          ],
771                          "optional": false,
772                          "loc": {
773                            "start": {
774                              "line": 1,
775                              "column": 1
776                            },
777                            "end": {
778                              "line": 1,
779                              "column": 1
780                            }
781                          }
782                        },
783                        "loc": {
784                          "start": {
785                            "line": 1,
786                            "column": 1
787                          },
788                          "end": {
789                            "line": 1,
790                            "column": 1
791                          }
792                        }
793                      },
794                      "loc": {
795                        "start": {
796                          "line": 1,
797                          "column": 1
798                        },
799                        "end": {
800                          "line": 1,
801                          "column": 1
802                        }
803                      }
804                    }
805                  ],
806                  "loc": {
807                    "start": {
808                      "line": 1,
809                      "column": 1
810                    },
811                    "end": {
812                      "line": 1,
813                      "column": 1
814                    }
815                  }
816                },
817                "loc": {
818                  "start": {
819                    "line": 1,
820                    "column": 1
821                  },
822                  "end": {
823                    "line": 1,
824                    "column": 1
825                  }
826                }
827              },
828              "loc": {
829                "start": {
830                  "line": 1,
831                  "column": 1
832                },
833                "end": {
834                  "line": 1,
835                  "column": 1
836                }
837              }
838            },
839            "loc": {
840              "start": {
841                "line": 1,
842                "column": 1
843              },
844              "end": {
845                "line": 1,
846                "column": 1
847              }
848            }
849          },
850          {
851            "type": "MethodDefinition",
852            "key": {
853              "type": "Identifier",
854              "name": "init",
855              "decorators": [],
856              "loc": {
857                "start": {
858                  "line": 1,
859                  "column": 1
860                },
861                "end": {
862                  "line": 1,
863                  "column": 1
864                }
865              }
866            },
867            "kind": "method",
868            "accessibility": "public",
869            "static": true,
870            "optional": false,
871            "computed": false,
872            "value": {
873              "type": "FunctionExpression",
874              "function": {
875                "type": "ScriptFunction",
876                "id": {
877                  "type": "Identifier",
878                  "name": "init",
879                  "decorators": [],
880                  "loc": {
881                    "start": {
882                      "line": 1,
883                      "column": 1
884                    },
885                    "end": {
886                      "line": 1,
887                      "column": 1
888                    }
889                  }
890                },
891                "generator": false,
892                "async": false,
893                "expression": false,
894                "params": [],
895                "returnType": {
896                  "type": "OpaqueType",
897                  "loc": {
898                    "start": {
899                      "line": 1,
900                      "column": 1
901                    },
902                    "end": {
903                      "line": 1,
904                      "column": 1
905                    }
906                  }
907                },
908                "body": {
909                  "type": "BlockStatement",
910                  "statements": [],
911                  "loc": {
912                    "start": {
913                      "line": 1,
914                      "column": 1
915                    },
916                    "end": {
917                      "line": 1,
918                      "column": 1
919                    }
920                  }
921                },
922                "loc": {
923                  "start": {
924                    "line": 1,
925                    "column": 1
926                  },
927                  "end": {
928                    "line": 1,
929                    "column": 1
930                  }
931                }
932              },
933              "loc": {
934                "start": {
935                  "line": 1,
936                  "column": 1
937                },
938                "end": {
939                  "line": 1,
940                  "column": 1
941                }
942              }
943            },
944            "overloads": [],
945            "decorators": [],
946            "loc": {
947              "start": {
948                "line": 1,
949                "column": 1
950              },
951              "end": {
952                "line": 1,
953                "column": 1
954              }
955            }
956          }
957        ],
958        "loc": {
959          "start": {
960            "line": 1,
961            "column": 1
962          },
963          "end": {
964            "line": 1,
965            "column": 1
966          }
967        }
968      },
969      "loc": {
970        "start": {
971          "line": 1,
972          "column": 1
973        },
974        "end": {
975          "line": 1,
976          "column": 1
977        }
978      }
979    }
980  ],
981  "loc": {
982    "start": {
983      "line": 1,
984      "column": 1
985    },
986    "end": {
987      "line": 32,
988      "column": 1
989    }
990  }
991}
992