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": 20,
12            "column": 24
13          },
14          "end": {
15            "line": 20,
16            "column": 49
17          }
18        }
19      },
20      "specifiers": [
21        {
22          "type": "ImportSpecifier",
23          "local": {
24            "type": "Identifier",
25            "name": "AValue",
26            "decorators": [],
27            "loc": {
28              "start": {
29                "line": 20,
30                "column": 10
31              },
32              "end": {
33                "line": 20,
34                "column": 16
35              }
36            }
37          },
38          "imported": {
39            "type": "Identifier",
40            "name": "AValue",
41            "decorators": [],
42            "loc": {
43              "start": {
44                "line": 20,
45                "column": 10
46              },
47              "end": {
48                "line": 20,
49                "column": 16
50              }
51            }
52          },
53          "loc": {
54            "start": {
55              "line": 20,
56              "column": 10
57            },
58            "end": {
59              "line": 20,
60              "column": 16
61            }
62          }
63        }
64      ],
65      "loc": {
66        "start": {
67          "line": 20,
68          "column": 1
69        },
70        "end": {
71          "line": 20,
72          "column": 49
73        }
74      }
75    },
76    {
77      "type": "ImportDeclaration",
78      "source": {
79        "type": "StringLiteral",
80        "value": "dynamic_import_tests/modules/instanceof",
81        "loc": {
82          "start": {
83            "line": 21,
84            "column": 27
85          },
86          "end": {
87            "line": 21,
88            "column": 68
89          }
90        }
91      },
92      "specifiers": [
93        {
94          "type": "ImportSpecifier",
95          "local": {
96            "type": "Identifier",
97            "name": "ADeclared",
98            "decorators": [],
99            "loc": {
100              "start": {
101                "line": 21,
102                "column": 10
103              },
104              "end": {
105                "line": 21,
106                "column": 19
107              }
108            }
109          },
110          "imported": {
111            "type": "Identifier",
112            "name": "ADeclared",
113            "decorators": [],
114            "loc": {
115              "start": {
116                "line": 21,
117                "column": 10
118              },
119              "end": {
120                "line": 21,
121                "column": 19
122              }
123            }
124          },
125          "loc": {
126            "start": {
127              "line": 21,
128              "column": 10
129            },
130            "end": {
131              "line": 21,
132              "column": 19
133            }
134          }
135        }
136      ],
137      "loc": {
138        "start": {
139          "line": 21,
140          "column": 1
141        },
142        "end": {
143          "line": 21,
144          "column": 68
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                  "loc": {
218                    "start": {
219                      "line": 1,
220                      "column": 1
221                    },
222                    "end": {
223                      "line": 1,
224                      "column": 1
225                    }
226                  }
227                },
228                "loc": {
229                  "start": {
230                    "line": 1,
231                    "column": 1
232                  },
233                  "end": {
234                    "line": 1,
235                    "column": 1
236                  }
237                }
238              },
239              "loc": {
240                "start": {
241                  "line": 1,
242                  "column": 1
243                },
244                "end": {
245                  "line": 1,
246                  "column": 1
247                }
248              }
249            },
250            "overloads": [],
251            "decorators": [],
252            "loc": {
253              "start": {
254                "line": 1,
255                "column": 1
256              },
257              "end": {
258                "line": 1,
259                "column": 1
260              }
261            }
262          },
263          {
264            "type": "MethodDefinition",
265            "key": {
266              "type": "Identifier",
267              "name": "fn_object",
268              "decorators": [],
269              "loc": {
270                "start": {
271                  "line": 25,
272                  "column": 10
273                },
274                "end": {
275                  "line": 25,
276                  "column": 19
277                }
278              }
279            },
280            "kind": "method",
281            "accessibility": "public",
282            "static": true,
283            "optional": false,
284            "computed": false,
285            "value": {
286              "type": "FunctionExpression",
287              "function": {
288                "type": "ScriptFunction",
289                "id": {
290                  "type": "Identifier",
291                  "name": "fn_object",
292                  "decorators": [],
293                  "loc": {
294                    "start": {
295                      "line": 25,
296                      "column": 10
297                    },
298                    "end": {
299                      "line": 25,
300                      "column": 19
301                    }
302                  }
303                },
304                "generator": false,
305                "async": false,
306                "expression": false,
307                "params": [
308                  {
309                    "type": "ETSParameterExpression",
310                    "name": {
311                      "type": "Identifier",
312                      "name": "o",
313                      "typeAnnotation": {
314                        "type": "ETSTypeReference",
315                        "part": {
316                          "type": "ETSTypeReferencePart",
317                          "name": {
318                            "type": "Identifier",
319                            "name": "Object",
320                            "decorators": [],
321                            "loc": {
322                              "start": {
323                                "line": 25,
324                                "column": 23
325                              },
326                              "end": {
327                                "line": 25,
328                                "column": 29
329                              }
330                            }
331                          },
332                          "loc": {
333                            "start": {
334                              "line": 25,
335                              "column": 23
336                            },
337                            "end": {
338                              "line": 25,
339                              "column": 30
340                            }
341                          }
342                        },
343                        "loc": {
344                          "start": {
345                            "line": 25,
346                            "column": 23
347                          },
348                          "end": {
349                            "line": 25,
350                            "column": 30
351                          }
352                        }
353                      },
354                      "decorators": [],
355                      "loc": {
356                        "start": {
357                          "line": 25,
358                          "column": 20
359                        },
360                        "end": {
361                          "line": 25,
362                          "column": 30
363                        }
364                      }
365                    },
366                    "loc": {
367                      "start": {
368                        "line": 25,
369                        "column": 20
370                      },
371                      "end": {
372                        "line": 25,
373                        "column": 30
374                      }
375                    }
376                  }
377                ],
378                "returnType": {
379                  "type": "ETSPrimitiveType",
380                  "loc": {
381                    "start": {
382                      "line": 25,
383                      "column": 32
384                    },
385                    "end": {
386                      "line": 25,
387                      "column": 39
388                    }
389                  }
390                },
391                "body": {
392                  "type": "BlockStatement",
393                  "statements": [
394                    {
395                      "type": "ReturnStatement",
396                      "argument": {
397                        "type": "BinaryExpression",
398                        "operator": "instanceof",
399                        "left": {
400                          "type": "Identifier",
401                          "name": "o",
402                          "decorators": [],
403                          "loc": {
404                            "start": {
405                              "line": 26,
406                              "column": 12
407                            },
408                            "end": {
409                              "line": 26,
410                              "column": 13
411                            }
412                          }
413                        },
414                        "right": {
415                          "type": "ETSTypeReference",
416                          "part": {
417                            "type": "ETSTypeReferencePart",
418                            "name": {
419                              "type": "Identifier",
420                              "name": "Object",
421                              "decorators": [],
422                              "loc": {
423                                "start": {
424                                  "line": 26,
425                                  "column": 25
426                                },
427                                "end": {
428                                  "line": 26,
429                                  "column": 31
430                                }
431                              }
432                            },
433                            "loc": {
434                              "start": {
435                                "line": 26,
436                                "column": 25
437                              },
438                              "end": {
439                                "line": 26,
440                                "column": 32
441                              }
442                            }
443                          },
444                          "loc": {
445                            "start": {
446                              "line": 26,
447                              "column": 25
448                            },
449                            "end": {
450                              "line": 26,
451                              "column": 32
452                            }
453                          }
454                        },
455                        "loc": {
456                          "start": {
457                            "line": 26,
458                            "column": 12
459                          },
460                          "end": {
461                            "line": 26,
462                            "column": 32
463                          }
464                        }
465                      },
466                      "loc": {
467                        "start": {
468                          "line": 26,
469                          "column": 5
470                        },
471                        "end": {
472                          "line": 26,
473                          "column": 32
474                        }
475                      }
476                    }
477                  ],
478                  "loc": {
479                    "start": {
480                      "line": 25,
481                      "column": 40
482                    },
483                    "end": {
484                      "line": 27,
485                      "column": 2
486                    }
487                  }
488                },
489                "loc": {
490                  "start": {
491                    "line": 25,
492                    "column": 19
493                  },
494                  "end": {
495                    "line": 27,
496                    "column": 2
497                  }
498                }
499              },
500              "loc": {
501                "start": {
502                  "line": 25,
503                  "column": 19
504                },
505                "end": {
506                  "line": 27,
507                  "column": 2
508                }
509              }
510            },
511            "overloads": [],
512            "decorators": [],
513            "loc": {
514              "start": {
515                "line": 25,
516                "column": 1
517              },
518              "end": {
519                "line": 27,
520                "column": 2
521              }
522            }
523          },
524          {
525            "type": "MethodDefinition",
526            "key": {
527              "type": "Identifier",
528              "name": "fn_ets_object",
529              "decorators": [],
530              "loc": {
531                "start": {
532                  "line": 29,
533                  "column": 10
534                },
535                "end": {
536                  "line": 29,
537                  "column": 23
538                }
539              }
540            },
541            "kind": "method",
542            "accessibility": "public",
543            "static": true,
544            "optional": false,
545            "computed": false,
546            "value": {
547              "type": "FunctionExpression",
548              "function": {
549                "type": "ScriptFunction",
550                "id": {
551                  "type": "Identifier",
552                  "name": "fn_ets_object",
553                  "decorators": [],
554                  "loc": {
555                    "start": {
556                      "line": 29,
557                      "column": 10
558                    },
559                    "end": {
560                      "line": 29,
561                      "column": 23
562                    }
563                  }
564                },
565                "generator": false,
566                "async": false,
567                "expression": false,
568                "params": [
569                  {
570                    "type": "ETSParameterExpression",
571                    "name": {
572                      "type": "Identifier",
573                      "name": "o",
574                      "typeAnnotation": {
575                        "type": "ETSTypeReference",
576                        "part": {
577                          "type": "ETSTypeReferencePart",
578                          "name": {
579                            "type": "Identifier",
580                            "name": "A",
581                            "decorators": [],
582                            "loc": {
583                              "start": {
584                                "line": 29,
585                                "column": 27
586                              },
587                              "end": {
588                                "line": 29,
589                                "column": 28
590                              }
591                            }
592                          },
593                          "loc": {
594                            "start": {
595                              "line": 29,
596                              "column": 27
597                            },
598                            "end": {
599                              "line": 29,
600                              "column": 29
601                            }
602                          }
603                        },
604                        "loc": {
605                          "start": {
606                            "line": 29,
607                            "column": 27
608                          },
609                          "end": {
610                            "line": 29,
611                            "column": 29
612                          }
613                        }
614                      },
615                      "decorators": [],
616                      "loc": {
617                        "start": {
618                          "line": 29,
619                          "column": 24
620                        },
621                        "end": {
622                          "line": 29,
623                          "column": 29
624                        }
625                      }
626                    },
627                    "loc": {
628                      "start": {
629                        "line": 29,
630                        "column": 24
631                      },
632                      "end": {
633                        "line": 29,
634                        "column": 29
635                      }
636                    }
637                  }
638                ],
639                "returnType": {
640                  "type": "ETSPrimitiveType",
641                  "loc": {
642                    "start": {
643                      "line": 29,
644                      "column": 31
645                    },
646                    "end": {
647                      "line": 29,
648                      "column": 38
649                    }
650                  }
651                },
652                "body": {
653                  "type": "BlockStatement",
654                  "statements": [
655                    {
656                      "type": "ReturnStatement",
657                      "argument": {
658                        "type": "BinaryExpression",
659                        "operator": "instanceof",
660                        "left": {
661                          "type": "Identifier",
662                          "name": "o",
663                          "decorators": [],
664                          "loc": {
665                            "start": {
666                              "line": 30,
667                              "column": 12
668                            },
669                            "end": {
670                              "line": 30,
671                              "column": 13
672                            }
673                          }
674                        },
675                        "right": {
676                          "type": "ETSTypeReference",
677                          "part": {
678                            "type": "ETSTypeReferencePart",
679                            "name": {
680                              "type": "Identifier",
681                              "name": "Object",
682                              "decorators": [],
683                              "loc": {
684                                "start": {
685                                  "line": 30,
686                                  "column": 25
687                                },
688                                "end": {
689                                  "line": 30,
690                                  "column": 31
691                                }
692                              }
693                            },
694                            "loc": {
695                              "start": {
696                                "line": 30,
697                                "column": 25
698                              },
699                              "end": {
700                                "line": 30,
701                                "column": 32
702                              }
703                            }
704                          },
705                          "loc": {
706                            "start": {
707                              "line": 30,
708                              "column": 25
709                            },
710                            "end": {
711                              "line": 30,
712                              "column": 32
713                            }
714                          }
715                        },
716                        "loc": {
717                          "start": {
718                            "line": 30,
719                            "column": 12
720                          },
721                          "end": {
722                            "line": 30,
723                            "column": 32
724                          }
725                        }
726                      },
727                      "loc": {
728                        "start": {
729                          "line": 30,
730                          "column": 5
731                        },
732                        "end": {
733                          "line": 30,
734                          "column": 32
735                        }
736                      }
737                    }
738                  ],
739                  "loc": {
740                    "start": {
741                      "line": 29,
742                      "column": 39
743                    },
744                    "end": {
745                      "line": 31,
746                      "column": 2
747                    }
748                  }
749                },
750                "loc": {
751                  "start": {
752                    "line": 29,
753                    "column": 23
754                  },
755                  "end": {
756                    "line": 31,
757                    "column": 2
758                  }
759                }
760              },
761              "loc": {
762                "start": {
763                  "line": 29,
764                  "column": 23
765                },
766                "end": {
767                  "line": 31,
768                  "column": 2
769                }
770              }
771            },
772            "overloads": [],
773            "decorators": [],
774            "loc": {
775              "start": {
776                "line": 29,
777                "column": 1
778              },
779              "end": {
780                "line": 31,
781                "column": 2
782              }
783            }
784          },
785          {
786            "type": "MethodDefinition",
787            "key": {
788              "type": "Identifier",
789              "name": "fn_jsvalue",
790              "decorators": [],
791              "loc": {
792                "start": {
793                  "line": 33,
794                  "column": 10
795                },
796                "end": {
797                  "line": 33,
798                  "column": 20
799                }
800              }
801            },
802            "kind": "method",
803            "accessibility": "public",
804            "static": true,
805            "optional": false,
806            "computed": false,
807            "value": {
808              "type": "FunctionExpression",
809              "function": {
810                "type": "ScriptFunction",
811                "id": {
812                  "type": "Identifier",
813                  "name": "fn_jsvalue",
814                  "decorators": [],
815                  "loc": {
816                    "start": {
817                      "line": 33,
818                      "column": 10
819                    },
820                    "end": {
821                      "line": 33,
822                      "column": 20
823                    }
824                  }
825                },
826                "generator": false,
827                "async": false,
828                "expression": false,
829                "params": [
830                  {
831                    "type": "ETSParameterExpression",
832                    "name": {
833                      "type": "Identifier",
834                      "name": "o",
835                      "typeAnnotation": {
836                        "type": "ETSTypeReference",
837                        "part": {
838                          "type": "ETSTypeReferencePart",
839                          "name": {
840                            "type": "Identifier",
841                            "name": "JSValue",
842                            "decorators": [],
843                            "loc": {
844                              "start": {
845                                "line": 33,
846                                "column": 24
847                              },
848                              "end": {
849                                "line": 33,
850                                "column": 31
851                              }
852                            }
853                          },
854                          "loc": {
855                            "start": {
856                              "line": 33,
857                              "column": 24
858                            },
859                            "end": {
860                              "line": 33,
861                              "column": 32
862                            }
863                          }
864                        },
865                        "loc": {
866                          "start": {
867                            "line": 33,
868                            "column": 24
869                          },
870                          "end": {
871                            "line": 33,
872                            "column": 32
873                          }
874                        }
875                      },
876                      "decorators": [],
877                      "loc": {
878                        "start": {
879                          "line": 33,
880                          "column": 21
881                        },
882                        "end": {
883                          "line": 33,
884                          "column": 32
885                        }
886                      }
887                    },
888                    "loc": {
889                      "start": {
890                        "line": 33,
891                        "column": 21
892                      },
893                      "end": {
894                        "line": 33,
895                        "column": 32
896                      }
897                    }
898                  }
899                ],
900                "returnType": {
901                  "type": "ETSPrimitiveType",
902                  "loc": {
903                    "start": {
904                      "line": 33,
905                      "column": 34
906                    },
907                    "end": {
908                      "line": 33,
909                      "column": 41
910                    }
911                  }
912                },
913                "body": {
914                  "type": "BlockStatement",
915                  "statements": [
916                    {
917                      "type": "ReturnStatement",
918                      "argument": {
919                        "type": "BinaryExpression",
920                        "operator": "instanceof",
921                        "left": {
922                          "type": "Identifier",
923                          "name": "o",
924                          "decorators": [],
925                          "loc": {
926                            "start": {
927                              "line": 34,
928                              "column": 12
929                            },
930                            "end": {
931                              "line": 34,
932                              "column": 13
933                            }
934                          }
935                        },
936                        "right": {
937                          "type": "ETSTypeReference",
938                          "part": {
939                            "type": "ETSTypeReferencePart",
940                            "name": {
941                              "type": "Identifier",
942                              "name": "Object",
943                              "decorators": [],
944                              "loc": {
945                                "start": {
946                                  "line": 34,
947                                  "column": 25
948                                },
949                                "end": {
950                                  "line": 34,
951                                  "column": 31
952                                }
953                              }
954                            },
955                            "loc": {
956                              "start": {
957                                "line": 34,
958                                "column": 25
959                              },
960                              "end": {
961                                "line": 34,
962                                "column": 32
963                              }
964                            }
965                          },
966                          "loc": {
967                            "start": {
968                              "line": 34,
969                              "column": 25
970                            },
971                            "end": {
972                              "line": 34,
973                              "column": 32
974                            }
975                          }
976                        },
977                        "loc": {
978                          "start": {
979                            "line": 34,
980                            "column": 12
981                          },
982                          "end": {
983                            "line": 34,
984                            "column": 32
985                          }
986                        }
987                      },
988                      "loc": {
989                        "start": {
990                          "line": 34,
991                          "column": 5
992                        },
993                        "end": {
994                          "line": 34,
995                          "column": 32
996                        }
997                      }
998                    }
999                  ],
1000                  "loc": {
1001                    "start": {
1002                      "line": 33,
1003                      "column": 42
1004                    },
1005                    "end": {
1006                      "line": 35,
1007                      "column": 2
1008                    }
1009                  }
1010                },
1011                "loc": {
1012                  "start": {
1013                    "line": 33,
1014                    "column": 20
1015                  },
1016                  "end": {
1017                    "line": 35,
1018                    "column": 2
1019                  }
1020                }
1021              },
1022              "loc": {
1023                "start": {
1024                  "line": 33,
1025                  "column": 20
1026                },
1027                "end": {
1028                  "line": 35,
1029                  "column": 2
1030                }
1031              }
1032            },
1033            "overloads": [],
1034            "decorators": [],
1035            "loc": {
1036              "start": {
1037                "line": 33,
1038                "column": 1
1039              },
1040              "end": {
1041                "line": 35,
1042                "column": 2
1043              }
1044            }
1045          },
1046          {
1047            "type": "MethodDefinition",
1048            "key": {
1049              "type": "Identifier",
1050              "name": "fn_dyn_value",
1051              "decorators": [],
1052              "loc": {
1053                "start": {
1054                  "line": 37,
1055                  "column": 10
1056                },
1057                "end": {
1058                  "line": 37,
1059                  "column": 22
1060                }
1061              }
1062            },
1063            "kind": "method",
1064            "accessibility": "public",
1065            "static": true,
1066            "optional": false,
1067            "computed": false,
1068            "value": {
1069              "type": "FunctionExpression",
1070              "function": {
1071                "type": "ScriptFunction",
1072                "id": {
1073                  "type": "Identifier",
1074                  "name": "fn_dyn_value",
1075                  "decorators": [],
1076                  "loc": {
1077                    "start": {
1078                      "line": 37,
1079                      "column": 10
1080                    },
1081                    "end": {
1082                      "line": 37,
1083                      "column": 22
1084                    }
1085                  }
1086                },
1087                "generator": false,
1088                "async": false,
1089                "expression": false,
1090                "params": [
1091                  {
1092                    "type": "ETSParameterExpression",
1093                    "name": {
1094                      "type": "Identifier",
1095                      "name": "o",
1096                      "typeAnnotation": {
1097                        "type": "ETSTypeReference",
1098                        "part": {
1099                          "type": "ETSTypeReferencePart",
1100                          "name": {
1101                            "type": "Identifier",
1102                            "name": "AValue",
1103                            "decorators": [],
1104                            "loc": {
1105                              "start": {
1106                                "line": 37,
1107                                "column": 26
1108                              },
1109                              "end": {
1110                                "line": 37,
1111                                "column": 32
1112                              }
1113                            }
1114                          },
1115                          "loc": {
1116                            "start": {
1117                              "line": 37,
1118                              "column": 26
1119                            },
1120                            "end": {
1121                              "line": 37,
1122                              "column": 33
1123                            }
1124                          }
1125                        },
1126                        "loc": {
1127                          "start": {
1128                            "line": 37,
1129                            "column": 26
1130                          },
1131                          "end": {
1132                            "line": 37,
1133                            "column": 33
1134                          }
1135                        }
1136                      },
1137                      "decorators": [],
1138                      "loc": {
1139                        "start": {
1140                          "line": 37,
1141                          "column": 23
1142                        },
1143                        "end": {
1144                          "line": 37,
1145                          "column": 33
1146                        }
1147                      }
1148                    },
1149                    "loc": {
1150                      "start": {
1151                        "line": 37,
1152                        "column": 23
1153                      },
1154                      "end": {
1155                        "line": 37,
1156                        "column": 33
1157                      }
1158                    }
1159                  }
1160                ],
1161                "returnType": {
1162                  "type": "ETSPrimitiveType",
1163                  "loc": {
1164                    "start": {
1165                      "line": 37,
1166                      "column": 35
1167                    },
1168                    "end": {
1169                      "line": 37,
1170                      "column": 42
1171                    }
1172                  }
1173                },
1174                "body": {
1175                  "type": "BlockStatement",
1176                  "statements": [
1177                    {
1178                      "type": "ReturnStatement",
1179                      "argument": {
1180                        "type": "BinaryExpression",
1181                        "operator": "instanceof",
1182                        "left": {
1183                          "type": "Identifier",
1184                          "name": "o",
1185                          "decorators": [],
1186                          "loc": {
1187                            "start": {
1188                              "line": 38,
1189                              "column": 12
1190                            },
1191                            "end": {
1192                              "line": 38,
1193                              "column": 13
1194                            }
1195                          }
1196                        },
1197                        "right": {
1198                          "type": "ETSTypeReference",
1199                          "part": {
1200                            "type": "ETSTypeReferencePart",
1201                            "name": {
1202                              "type": "Identifier",
1203                              "name": "Object",
1204                              "decorators": [],
1205                              "loc": {
1206                                "start": {
1207                                  "line": 38,
1208                                  "column": 25
1209                                },
1210                                "end": {
1211                                  "line": 38,
1212                                  "column": 31
1213                                }
1214                              }
1215                            },
1216                            "loc": {
1217                              "start": {
1218                                "line": 38,
1219                                "column": 25
1220                              },
1221                              "end": {
1222                                "line": 38,
1223                                "column": 32
1224                              }
1225                            }
1226                          },
1227                          "loc": {
1228                            "start": {
1229                              "line": 38,
1230                              "column": 25
1231                            },
1232                            "end": {
1233                              "line": 38,
1234                              "column": 32
1235                            }
1236                          }
1237                        },
1238                        "loc": {
1239                          "start": {
1240                            "line": 38,
1241                            "column": 12
1242                          },
1243                          "end": {
1244                            "line": 38,
1245                            "column": 32
1246                          }
1247                        }
1248                      },
1249                      "loc": {
1250                        "start": {
1251                          "line": 38,
1252                          "column": 5
1253                        },
1254                        "end": {
1255                          "line": 38,
1256                          "column": 32
1257                        }
1258                      }
1259                    }
1260                  ],
1261                  "loc": {
1262                    "start": {
1263                      "line": 37,
1264                      "column": 43
1265                    },
1266                    "end": {
1267                      "line": 39,
1268                      "column": 2
1269                    }
1270                  }
1271                },
1272                "loc": {
1273                  "start": {
1274                    "line": 37,
1275                    "column": 22
1276                  },
1277                  "end": {
1278                    "line": 39,
1279                    "column": 2
1280                  }
1281                }
1282              },
1283              "loc": {
1284                "start": {
1285                  "line": 37,
1286                  "column": 22
1287                },
1288                "end": {
1289                  "line": 39,
1290                  "column": 2
1291                }
1292              }
1293            },
1294            "overloads": [],
1295            "decorators": [],
1296            "loc": {
1297              "start": {
1298                "line": 37,
1299                "column": 1
1300              },
1301              "end": {
1302                "line": 39,
1303                "column": 2
1304              }
1305            }
1306          },
1307          {
1308            "type": "MethodDefinition",
1309            "key": {
1310              "type": "Identifier",
1311              "name": "fn_dyn_decl",
1312              "decorators": [],
1313              "loc": {
1314                "start": {
1315                  "line": 41,
1316                  "column": 10
1317                },
1318                "end": {
1319                  "line": 41,
1320                  "column": 21
1321                }
1322              }
1323            },
1324            "kind": "method",
1325            "accessibility": "public",
1326            "static": true,
1327            "optional": false,
1328            "computed": false,
1329            "value": {
1330              "type": "FunctionExpression",
1331              "function": {
1332                "type": "ScriptFunction",
1333                "id": {
1334                  "type": "Identifier",
1335                  "name": "fn_dyn_decl",
1336                  "decorators": [],
1337                  "loc": {
1338                    "start": {
1339                      "line": 41,
1340                      "column": 10
1341                    },
1342                    "end": {
1343                      "line": 41,
1344                      "column": 21
1345                    }
1346                  }
1347                },
1348                "generator": false,
1349                "async": false,
1350                "expression": false,
1351                "params": [
1352                  {
1353                    "type": "ETSParameterExpression",
1354                    "name": {
1355                      "type": "Identifier",
1356                      "name": "o",
1357                      "typeAnnotation": {
1358                        "type": "ETSTypeReference",
1359                        "part": {
1360                          "type": "ETSTypeReferencePart",
1361                          "name": {
1362                            "type": "Identifier",
1363                            "name": "ADeclared",
1364                            "decorators": [],
1365                            "loc": {
1366                              "start": {
1367                                "line": 41,
1368                                "column": 25
1369                              },
1370                              "end": {
1371                                "line": 41,
1372                                "column": 34
1373                              }
1374                            }
1375                          },
1376                          "loc": {
1377                            "start": {
1378                              "line": 41,
1379                              "column": 25
1380                            },
1381                            "end": {
1382                              "line": 41,
1383                              "column": 35
1384                            }
1385                          }
1386                        },
1387                        "loc": {
1388                          "start": {
1389                            "line": 41,
1390                            "column": 25
1391                          },
1392                          "end": {
1393                            "line": 41,
1394                            "column": 35
1395                          }
1396                        }
1397                      },
1398                      "decorators": [],
1399                      "loc": {
1400                        "start": {
1401                          "line": 41,
1402                          "column": 22
1403                        },
1404                        "end": {
1405                          "line": 41,
1406                          "column": 35
1407                        }
1408                      }
1409                    },
1410                    "loc": {
1411                      "start": {
1412                        "line": 41,
1413                        "column": 22
1414                      },
1415                      "end": {
1416                        "line": 41,
1417                        "column": 35
1418                      }
1419                    }
1420                  }
1421                ],
1422                "returnType": {
1423                  "type": "ETSPrimitiveType",
1424                  "loc": {
1425                    "start": {
1426                      "line": 41,
1427                      "column": 37
1428                    },
1429                    "end": {
1430                      "line": 41,
1431                      "column": 44
1432                    }
1433                  }
1434                },
1435                "body": {
1436                  "type": "BlockStatement",
1437                  "statements": [
1438                    {
1439                      "type": "ReturnStatement",
1440                      "argument": {
1441                        "type": "BinaryExpression",
1442                        "operator": "instanceof",
1443                        "left": {
1444                          "type": "Identifier",
1445                          "name": "o",
1446                          "decorators": [],
1447                          "loc": {
1448                            "start": {
1449                              "line": 42,
1450                              "column": 12
1451                            },
1452                            "end": {
1453                              "line": 42,
1454                              "column": 13
1455                            }
1456                          }
1457                        },
1458                        "right": {
1459                          "type": "ETSTypeReference",
1460                          "part": {
1461                            "type": "ETSTypeReferencePart",
1462                            "name": {
1463                              "type": "Identifier",
1464                              "name": "Object",
1465                              "decorators": [],
1466                              "loc": {
1467                                "start": {
1468                                  "line": 42,
1469                                  "column": 25
1470                                },
1471                                "end": {
1472                                  "line": 42,
1473                                  "column": 31
1474                                }
1475                              }
1476                            },
1477                            "loc": {
1478                              "start": {
1479                                "line": 42,
1480                                "column": 25
1481                              },
1482                              "end": {
1483                                "line": 42,
1484                                "column": 32
1485                              }
1486                            }
1487                          },
1488                          "loc": {
1489                            "start": {
1490                              "line": 42,
1491                              "column": 25
1492                            },
1493                            "end": {
1494                              "line": 42,
1495                              "column": 32
1496                            }
1497                          }
1498                        },
1499                        "loc": {
1500                          "start": {
1501                            "line": 42,
1502                            "column": 12
1503                          },
1504                          "end": {
1505                            "line": 42,
1506                            "column": 32
1507                          }
1508                        }
1509                      },
1510                      "loc": {
1511                        "start": {
1512                          "line": 42,
1513                          "column": 5
1514                        },
1515                        "end": {
1516                          "line": 42,
1517                          "column": 32
1518                        }
1519                      }
1520                    }
1521                  ],
1522                  "loc": {
1523                    "start": {
1524                      "line": 41,
1525                      "column": 45
1526                    },
1527                    "end": {
1528                      "line": 43,
1529                      "column": 2
1530                    }
1531                  }
1532                },
1533                "loc": {
1534                  "start": {
1535                    "line": 41,
1536                    "column": 21
1537                  },
1538                  "end": {
1539                    "line": 43,
1540                    "column": 2
1541                  }
1542                }
1543              },
1544              "loc": {
1545                "start": {
1546                  "line": 41,
1547                  "column": 21
1548                },
1549                "end": {
1550                  "line": 43,
1551                  "column": 2
1552                }
1553              }
1554            },
1555            "overloads": [],
1556            "decorators": [],
1557            "loc": {
1558              "start": {
1559                "line": 41,
1560                "column": 1
1561              },
1562              "end": {
1563                "line": 43,
1564                "column": 2
1565              }
1566            }
1567          }
1568        ],
1569        "loc": {
1570          "start": {
1571            "line": 1,
1572            "column": 1
1573          },
1574          "end": {
1575            "line": 1,
1576            "column": 1
1577          }
1578        }
1579      },
1580      "loc": {
1581        "start": {
1582          "line": 1,
1583          "column": 1
1584        },
1585        "end": {
1586          "line": 1,
1587          "column": 1
1588        }
1589      }
1590    },
1591    {
1592      "type": "ClassDeclaration",
1593      "definition": {
1594        "id": {
1595          "type": "Identifier",
1596          "name": "A",
1597          "decorators": [],
1598          "loc": {
1599            "start": {
1600              "line": 23,
1601              "column": 7
1602            },
1603            "end": {
1604              "line": 23,
1605              "column": 8
1606            }
1607          }
1608        },
1609        "superClass": null,
1610        "implements": [],
1611        "body": [
1612          {
1613            "type": "MethodDefinition",
1614            "key": {
1615              "type": "Identifier",
1616              "name": "constructor",
1617              "decorators": [],
1618              "loc": {
1619                "start": {
1620                  "line": 1,
1621                  "column": 1
1622                },
1623                "end": {
1624                  "line": 1,
1625                  "column": 1
1626                }
1627              }
1628            },
1629            "kind": "constructor",
1630            "static": false,
1631            "optional": false,
1632            "computed": false,
1633            "value": {
1634              "type": "FunctionExpression",
1635              "function": {
1636                "type": "ScriptFunction",
1637                "id": {
1638                  "type": "Identifier",
1639                  "name": "constructor",
1640                  "decorators": [],
1641                  "loc": {
1642                    "start": {
1643                      "line": 1,
1644                      "column": 1
1645                    },
1646                    "end": {
1647                      "line": 1,
1648                      "column": 1
1649                    }
1650                  }
1651                },
1652                "generator": false,
1653                "async": false,
1654                "expression": false,
1655                "params": [],
1656                "body": {
1657                  "type": "BlockStatement",
1658                  "statements": [],
1659                  "loc": {
1660                    "start": {
1661                      "line": 1,
1662                      "column": 1
1663                    },
1664                    "end": {
1665                      "line": 1,
1666                      "column": 1
1667                    }
1668                  }
1669                },
1670                "loc": {
1671                  "start": {
1672                    "line": 1,
1673                    "column": 1
1674                  },
1675                  "end": {
1676                    "line": 1,
1677                    "column": 1
1678                  }
1679                }
1680              },
1681              "loc": {
1682                "start": {
1683                  "line": 1,
1684                  "column": 1
1685                },
1686                "end": {
1687                  "line": 1,
1688                  "column": 1
1689                }
1690              }
1691            },
1692            "overloads": [],
1693            "decorators": [],
1694            "loc": {
1695              "start": {
1696                "line": 23,
1697                "column": 11
1698              },
1699              "end": {
1700                "line": 23,
1701                "column": 11
1702              }
1703            }
1704          }
1705        ],
1706        "loc": {
1707          "start": {
1708            "line": 23,
1709            "column": 9
1710          },
1711          "end": {
1712            "line": 23,
1713            "column": 11
1714          }
1715        }
1716      },
1717      "loc": {
1718        "start": {
1719          "line": 23,
1720          "column": 1
1721        },
1722        "end": {
1723          "line": 23,
1724          "column": 11
1725        }
1726      }
1727    },
1728    {
1729      "type": "ClassDeclaration",
1730      "definition": {
1731        "id": {
1732          "type": "Identifier",
1733          "name": "$dynmodule",
1734          "decorators": [],
1735          "loc": {
1736            "start": {
1737              "line": 1,
1738              "column": 1
1739            },
1740            "end": {
1741              "line": 1,
1742              "column": 1
1743            }
1744          }
1745        },
1746        "superClass": null,
1747        "implements": [],
1748        "body": [
1749          {
1750            "type": "ClassProperty",
1751            "key": {
1752              "type": "Identifier",
1753              "name": "dynamic_js_import_tests0",
1754              "decorators": [],
1755              "loc": {
1756                "start": {
1757                  "line": 1,
1758                  "column": 1
1759                },
1760                "end": {
1761                  "line": 1,
1762                  "column": 1
1763                }
1764              }
1765            },
1766            "accessibility": "public",
1767            "static": true,
1768            "readonly": true,
1769            "declare": false,
1770            "optional": false,
1771            "computed": false,
1772            "typeAnnotation": {
1773              "type": "OpaqueType",
1774              "loc": {
1775                "start": {
1776                  "line": 1,
1777                  "column": 1
1778                },
1779                "end": {
1780                  "line": 1,
1781                  "column": 1
1782                }
1783              }
1784            },
1785            "definite": false,
1786            "decorators": [],
1787            "loc": {
1788              "start": {
1789                "line": 1,
1790                "column": 1
1791              },
1792              "end": {
1793                "line": 1,
1794                "column": 1
1795              }
1796            }
1797          },
1798          {
1799            "type": "ClassStaticBlock",
1800            "value": {
1801              "type": "FunctionExpression",
1802              "function": {
1803                "type": "ScriptFunction",
1804                "id": {
1805                  "type": "Identifier",
1806                  "name": "<cctor>",
1807                  "decorators": [],
1808                  "loc": {
1809                    "start": {
1810                      "line": 1,
1811                      "column": 1
1812                    },
1813                    "end": {
1814                      "line": 1,
1815                      "column": 1
1816                    }
1817                  }
1818                },
1819                "generator": false,
1820                "async": false,
1821                "expression": true,
1822                "params": [],
1823                "body": {
1824                  "type": "BlockStatement",
1825                  "statements": [
1826                    {
1827                      "type": "ExpressionStatement",
1828                      "expression": {
1829                        "type": "AssignmentExpression",
1830                        "operator": "=",
1831                        "left": {
1832                          "type": "MemberExpression",
1833                          "object": {
1834                            "type": "Identifier",
1835                            "name": "$dynmodule",
1836                            "decorators": [],
1837                            "loc": {
1838                              "start": {
1839                                "line": 1,
1840                                "column": 1
1841                              },
1842                              "end": {
1843                                "line": 1,
1844                                "column": 1
1845                              }
1846                            }
1847                          },
1848                          "property": {
1849                            "type": "Identifier",
1850                            "name": "dynamic_js_import_tests0",
1851                            "decorators": [],
1852                            "loc": {
1853                              "start": {
1854                                "line": 1,
1855                                "column": 1
1856                              },
1857                              "end": {
1858                                "line": 1,
1859                                "column": 1
1860                              }
1861                            }
1862                          },
1863                          "computed": false,
1864                          "optional": false,
1865                          "loc": {
1866                            "start": {
1867                              "line": 1,
1868                              "column": 1
1869                            },
1870                            "end": {
1871                              "line": 1,
1872                              "column": 1
1873                            }
1874                          }
1875                        },
1876                        "right": {
1877                          "type": "CallExpression",
1878                          "callee": {
1879                            "type": "MemberExpression",
1880                            "object": {
1881                              "type": "Identifier",
1882                              "name": "JSRuntime",
1883                              "decorators": [],
1884                              "loc": {
1885                                "start": {
1886                                  "line": 1,
1887                                  "column": 1
1888                                },
1889                                "end": {
1890                                  "line": 1,
1891                                  "column": 1
1892                                }
1893                              }
1894                            },
1895                            "property": {
1896                              "type": "Identifier",
1897                              "name": "loadModule",
1898                              "decorators": [],
1899                              "loc": {
1900                                "start": {
1901                                  "line": 1,
1902                                  "column": 1
1903                                },
1904                                "end": {
1905                                  "line": 1,
1906                                  "column": 1
1907                                }
1908                              }
1909                            },
1910                            "computed": false,
1911                            "optional": false,
1912                            "loc": {
1913                              "start": {
1914                                "line": 1,
1915                                "column": 1
1916                              },
1917                              "end": {
1918                                "line": 1,
1919                                "column": 1
1920                              }
1921                            }
1922                          },
1923                          "arguments": [
1924                            {
1925                              "type": "StringLiteral",
1926                              "value": "dynamic_js_import_tests",
1927                              "loc": {
1928                                "start": {
1929                                  "line": 1,
1930                                  "column": 1
1931                                },
1932                                "end": {
1933                                  "line": 1,
1934                                  "column": 1
1935                                }
1936                              }
1937                            }
1938                          ],
1939                          "optional": false,
1940                          "loc": {
1941                            "start": {
1942                              "line": 1,
1943                              "column": 1
1944                            },
1945                            "end": {
1946                              "line": 1,
1947                              "column": 1
1948                            }
1949                          }
1950                        },
1951                        "loc": {
1952                          "start": {
1953                            "line": 1,
1954                            "column": 1
1955                          },
1956                          "end": {
1957                            "line": 1,
1958                            "column": 1
1959                          }
1960                        }
1961                      },
1962                      "loc": {
1963                        "start": {
1964                          "line": 1,
1965                          "column": 1
1966                        },
1967                        "end": {
1968                          "line": 1,
1969                          "column": 1
1970                        }
1971                      }
1972                    }
1973                  ],
1974                  "loc": {
1975                    "start": {
1976                      "line": 1,
1977                      "column": 1
1978                    },
1979                    "end": {
1980                      "line": 1,
1981                      "column": 1
1982                    }
1983                  }
1984                },
1985                "loc": {
1986                  "start": {
1987                    "line": 1,
1988                    "column": 1
1989                  },
1990                  "end": {
1991                    "line": 1,
1992                    "column": 1
1993                  }
1994                }
1995              },
1996              "loc": {
1997                "start": {
1998                  "line": 1,
1999                  "column": 1
2000                },
2001                "end": {
2002                  "line": 1,
2003                  "column": 1
2004                }
2005              }
2006            },
2007            "loc": {
2008              "start": {
2009                "line": 1,
2010                "column": 1
2011              },
2012              "end": {
2013                "line": 1,
2014                "column": 1
2015              }
2016            }
2017          },
2018          {
2019            "type": "MethodDefinition",
2020            "key": {
2021              "type": "Identifier",
2022              "name": "init",
2023              "decorators": [],
2024              "loc": {
2025                "start": {
2026                  "line": 1,
2027                  "column": 1
2028                },
2029                "end": {
2030                  "line": 1,
2031                  "column": 1
2032                }
2033              }
2034            },
2035            "kind": "method",
2036            "accessibility": "public",
2037            "static": true,
2038            "optional": false,
2039            "computed": false,
2040            "value": {
2041              "type": "FunctionExpression",
2042              "function": {
2043                "type": "ScriptFunction",
2044                "id": {
2045                  "type": "Identifier",
2046                  "name": "init",
2047                  "decorators": [],
2048                  "loc": {
2049                    "start": {
2050                      "line": 1,
2051                      "column": 1
2052                    },
2053                    "end": {
2054                      "line": 1,
2055                      "column": 1
2056                    }
2057                  }
2058                },
2059                "generator": false,
2060                "async": false,
2061                "expression": false,
2062                "params": [],
2063                "returnType": {
2064                  "type": "OpaqueType",
2065                  "loc": {
2066                    "start": {
2067                      "line": 1,
2068                      "column": 1
2069                    },
2070                    "end": {
2071                      "line": 1,
2072                      "column": 1
2073                    }
2074                  }
2075                },
2076                "body": {
2077                  "type": "BlockStatement",
2078                  "statements": [],
2079                  "loc": {
2080                    "start": {
2081                      "line": 1,
2082                      "column": 1
2083                    },
2084                    "end": {
2085                      "line": 1,
2086                      "column": 1
2087                    }
2088                  }
2089                },
2090                "loc": {
2091                  "start": {
2092                    "line": 1,
2093                    "column": 1
2094                  },
2095                  "end": {
2096                    "line": 1,
2097                    "column": 1
2098                  }
2099                }
2100              },
2101              "loc": {
2102                "start": {
2103                  "line": 1,
2104                  "column": 1
2105                },
2106                "end": {
2107                  "line": 1,
2108                  "column": 1
2109                }
2110              }
2111            },
2112            "overloads": [],
2113            "decorators": [],
2114            "loc": {
2115              "start": {
2116                "line": 1,
2117                "column": 1
2118              },
2119              "end": {
2120                "line": 1,
2121                "column": 1
2122              }
2123            }
2124          }
2125        ],
2126        "loc": {
2127          "start": {
2128            "line": 1,
2129            "column": 1
2130          },
2131          "end": {
2132            "line": 1,
2133            "column": 1
2134          }
2135        }
2136      },
2137      "loc": {
2138        "start": {
2139          "line": 1,
2140          "column": 1
2141        },
2142        "end": {
2143          "line": 1,
2144          "column": 1
2145        }
2146      }
2147    }
2148  ],
2149  "loc": {
2150    "start": {
2151      "line": 1,
2152      "column": 1
2153    },
2154    "end": {
2155      "line": 44,
2156      "column": 1
2157    }
2158  }
2159}
2160