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