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": 25
13          },
14          "end": {
15            "line": 20,
16            "column": 50
17          }
18        }
19      },
20      "specifiers": [
21        {
22          "type": "ImportSpecifier",
23          "local": {
24            "type": "Identifier",
25            "name": "AA",
26            "decorators": [],
27            "loc": {
28              "start": {
29                "line": 20,
30                "column": 15
31              },
32              "end": {
33                "line": 20,
34                "column": 17
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": 17
61            }
62          }
63        }
64      ],
65      "loc": {
66        "start": {
67          "line": 20,
68          "column": 1
69        },
70        "end": {
71          "line": 20,
72          "column": 50
73        }
74      }
75    },
76    {
77      "type": "ImportDeclaration",
78      "source": {
79        "type": "StringLiteral",
80        "value": "dynamic_js_import_tests",
81        "loc": {
82          "start": {
83            "line": 21,
84            "column": 19
85          },
86          "end": {
87            "line": 21,
88            "column": 44
89          }
90        }
91      },
92      "specifiers": [
93        {
94          "type": "ImportSpecifier",
95          "local": {
96            "type": "Identifier",
97            "name": "B",
98            "decorators": [],
99            "loc": {
100              "start": {
101                "line": 21,
102                "column": 10
103              },
104              "end": {
105                "line": 21,
106                "column": 11
107              }
108            }
109          },
110          "imported": {
111            "type": "Identifier",
112            "name": "B",
113            "decorators": [],
114            "loc": {
115              "start": {
116                "line": 21,
117                "column": 10
118              },
119              "end": {
120                "line": 21,
121                "column": 11
122              }
123            }
124          },
125          "loc": {
126            "start": {
127              "line": 21,
128              "column": 10
129            },
130            "end": {
131              "line": 21,
132              "column": 11
133            }
134          }
135        }
136      ],
137      "loc": {
138        "start": {
139          "line": 21,
140          "column": 1
141        },
142        "end": {
143          "line": 21,
144          "column": 44
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": "main",
268              "decorators": [],
269              "loc": {
270                "start": {
271                  "line": 23,
272                  "column": 10
273                },
274                "end": {
275                  "line": 23,
276                  "column": 14
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": "main",
292                  "decorators": [],
293                  "loc": {
294                    "start": {
295                      "line": 23,
296                      "column": 10
297                    },
298                    "end": {
299                      "line": 23,
300                      "column": 14
301                    }
302                  }
303                },
304                "generator": false,
305                "async": false,
306                "expression": false,
307                "params": [],
308                "returnType": {
309                  "type": "ETSPrimitiveType",
310                  "loc": {
311                    "start": {
312                      "line": 23,
313                      "column": 18
314                    },
315                    "end": {
316                      "line": 23,
317                      "column": 22
318                    }
319                  }
320                },
321                "body": {
322                  "type": "BlockStatement",
323                  "statements": [
324                    {
325                      "type": "VariableDeclaration",
326                      "declarations": [
327                        {
328                          "type": "VariableDeclarator",
329                          "id": {
330                            "type": "Identifier",
331                            "name": "o",
332                            "typeAnnotation": {
333                              "type": "ETSTypeReference",
334                              "part": {
335                                "type": "ETSTypeReferencePart",
336                                "name": {
337                                  "type": "Identifier",
338                                  "name": "B",
339                                  "decorators": [],
340                                  "loc": {
341                                    "start": {
342                                      "line": 24,
343                                      "column": 12
344                                    },
345                                    "end": {
346                                      "line": 24,
347                                      "column": 13
348                                    }
349                                  }
350                                },
351                                "loc": {
352                                  "start": {
353                                    "line": 24,
354                                    "column": 12
355                                  },
356                                  "end": {
357                                    "line": 24,
358                                    "column": 15
359                                  }
360                                }
361                              },
362                              "loc": {
363                                "start": {
364                                  "line": 24,
365                                  "column": 12
366                                },
367                                "end": {
368                                  "line": 24,
369                                  "column": 15
370                                }
371                              }
372                            },
373                            "decorators": [],
374                            "loc": {
375                              "start": {
376                                "line": 24,
377                                "column": 9
378                              },
379                              "end": {
380                                "line": 24,
381                                "column": 10
382                              }
383                            }
384                          },
385                          "init": {
386                            "type": "ETSNewClassInstanceExpression",
387                            "typeReference": {
388                              "type": "ETSTypeReference",
389                              "part": {
390                                "type": "ETSTypeReferencePart",
391                                "name": {
392                                  "type": "Identifier",
393                                  "name": "B",
394                                  "decorators": [],
395                                  "loc": {
396                                    "start": {
397                                      "line": 24,
398                                      "column": 20
399                                    },
400                                    "end": {
401                                      "line": 24,
402                                      "column": 21
403                                    }
404                                  }
405                                },
406                                "loc": {
407                                  "start": {
408                                    "line": 24,
409                                    "column": 20
410                                  },
411                                  "end": {
412                                    "line": 24,
413                                    "column": 22
414                                  }
415                                }
416                              },
417                              "loc": {
418                                "start": {
419                                  "line": 24,
420                                  "column": 20
421                                },
422                                "end": {
423                                  "line": 24,
424                                  "column": 22
425                                }
426                              }
427                            },
428                            "arguments": [
429                              {
430                                "type": "MemberExpression",
431                                "object": {
432                                  "type": "Identifier",
433                                  "name": "AA",
434                                  "decorators": [],
435                                  "loc": {
436                                    "start": {
437                                      "line": 24,
438                                      "column": 22
439                                    },
440                                    "end": {
441                                      "line": 24,
442                                      "column": 24
443                                    }
444                                  }
445                                },
446                                "property": {
447                                  "type": "Identifier",
448                                  "name": "x",
449                                  "decorators": [],
450                                  "loc": {
451                                    "start": {
452                                      "line": 24,
453                                      "column": 25
454                                    },
455                                    "end": {
456                                      "line": 24,
457                                      "column": 26
458                                    }
459                                  }
460                                },
461                                "computed": false,
462                                "optional": false,
463                                "loc": {
464                                  "start": {
465                                    "line": 24,
466                                    "column": 22
467                                  },
468                                  "end": {
469                                    "line": 24,
470                                    "column": 26
471                                  }
472                                }
473                              },
474                              {
475                                "type": "NumberLiteral",
476                                "value": 1,
477                                "loc": {
478                                  "start": {
479                                    "line": 24,
480                                    "column": 28
481                                  },
482                                  "end": {
483                                    "line": 24,
484                                    "column": 29
485                                  }
486                                }
487                              },
488                              {
489                                "type": "NumberLiteral",
490                                "value": 2,
491                                "loc": {
492                                  "start": {
493                                    "line": 24,
494                                    "column": 31
495                                  },
496                                  "end": {
497                                    "line": 24,
498                                    "column": 34
499                                  }
500                                }
501                              }
502                            ],
503                            "loc": {
504                              "start": {
505                                "line": 24,
506                                "column": 16
507                              },
508                              "end": {
509                                "line": 25,
510                                "column": 8
511                              }
512                            }
513                          },
514                          "loc": {
515                            "start": {
516                              "line": 24,
517                              "column": 9
518                            },
519                            "end": {
520                              "line": 25,
521                              "column": 8
522                            }
523                          }
524                        }
525                      ],
526                      "kind": "let",
527                      "loc": {
528                        "start": {
529                          "line": 24,
530                          "column": 5
531                        },
532                        "end": {
533                          "line": 25,
534                          "column": 8
535                        }
536                      }
537                    },
538                    {
539                      "type": "VariableDeclaration",
540                      "declarations": [
541                        {
542                          "type": "VariableDeclarator",
543                          "id": {
544                            "type": "Identifier",
545                            "name": "r",
546                            "decorators": [],
547                            "loc": {
548                              "start": {
549                                "line": 25,
550                                "column": 9
551                              },
552                              "end": {
553                                "line": 25,
554                                "column": 10
555                              }
556                            }
557                          },
558                          "init": {
559                            "type": "CallExpression",
560                            "callee": {
561                              "type": "MemberExpression",
562                              "object": {
563                                "type": "Identifier",
564                                "name": "o",
565                                "decorators": [],
566                                "loc": {
567                                  "start": {
568                                    "line": 25,
569                                    "column": 13
570                                  },
571                                  "end": {
572                                    "line": 25,
573                                    "column": 14
574                                  }
575                                }
576                              },
577                              "property": {
578                                "type": "Identifier",
579                                "name": "foo",
580                                "decorators": [],
581                                "loc": {
582                                  "start": {
583                                    "line": 25,
584                                    "column": 15
585                                  },
586                                  "end": {
587                                    "line": 25,
588                                    "column": 18
589                                  }
590                                }
591                              },
592                              "computed": false,
593                              "optional": false,
594                              "loc": {
595                                "start": {
596                                  "line": 25,
597                                  "column": 13
598                                },
599                                "end": {
600                                  "line": 25,
601                                  "column": 18
602                                }
603                              }
604                            },
605                            "arguments": [
606                              {
607                                "type": "NumberLiteral",
608                                "value": 3,
609                                "loc": {
610                                  "start": {
611                                    "line": 25,
612                                    "column": 19
613                                  },
614                                  "end": {
615                                    "line": 25,
616                                    "column": 22
617                                  }
618                                }
619                              },
620                              {
621                                "type": "NumberLiteral",
622                                "value": 4,
623                                "loc": {
624                                  "start": {
625                                    "line": 25,
626                                    "column": 24
627                                  },
628                                  "end": {
629                                    "line": 25,
630                                    "column": 25
631                                  }
632                                }
633                              }
634                            ],
635                            "optional": false,
636                            "loc": {
637                              "start": {
638                                "line": 25,
639                                "column": 13
640                              },
641                              "end": {
642                                "line": 25,
643                                "column": 26
644                              }
645                            }
646                          },
647                          "loc": {
648                            "start": {
649                              "line": 25,
650                              "column": 9
651                            },
652                            "end": {
653                              "line": 25,
654                              "column": 26
655                            }
656                          }
657                        }
658                      ],
659                      "kind": "let",
660                      "loc": {
661                        "start": {
662                          "line": 25,
663                          "column": 5
664                        },
665                        "end": {
666                          "line": 25,
667                          "column": 26
668                        }
669                      }
670                    },
671                    {
672                      "type": "VariableDeclaration",
673                      "declarations": [
674                        {
675                          "type": "VariableDeclarator",
676                          "id": {
677                            "type": "Identifier",
678                            "name": "e",
679                            "decorators": [],
680                            "loc": {
681                              "start": {
682                                "line": 26,
683                                "column": 9
684                              },
685                              "end": {
686                                "line": 26,
687                                "column": 10
688                              }
689                            }
690                          },
691                          "init": {
692                            "type": "MemberExpression",
693                            "object": {
694                              "type": "Identifier",
695                              "name": "r",
696                              "decorators": [],
697                              "loc": {
698                                "start": {
699                                  "line": 26,
700                                  "column": 13
701                                },
702                                "end": {
703                                  "line": 26,
704                                  "column": 14
705                                }
706                              }
707                            },
708                            "property": {
709                              "type": "NumberLiteral",
710                              "value": 10,
711                              "loc": {
712                                "start": {
713                                  "line": 26,
714                                  "column": 15
715                                },
716                                "end": {
717                                  "line": 26,
718                                  "column": 17
719                                }
720                              }
721                            },
722                            "computed": true,
723                            "optional": false,
724                            "loc": {
725                              "start": {
726                                "line": 26,
727                                "column": 13
728                              },
729                              "end": {
730                                "line": 26,
731                                "column": 18
732                              }
733                            }
734                          },
735                          "loc": {
736                            "start": {
737                              "line": 26,
738                              "column": 9
739                            },
740                            "end": {
741                              "line": 26,
742                              "column": 18
743                            }
744                          }
745                        }
746                      ],
747                      "kind": "let",
748                      "loc": {
749                        "start": {
750                          "line": 26,
751                          "column": 5
752                        },
753                        "end": {
754                          "line": 26,
755                          "column": 18
756                        }
757                      }
758                    },
759                    {
760                      "type": "ExpressionStatement",
761                      "expression": {
762                        "type": "CallExpression",
763                        "callee": {
764                          "type": "Identifier",
765                          "name": "e",
766                          "decorators": [],
767                          "loc": {
768                            "start": {
769                              "line": 27,
770                              "column": 5
771                            },
772                            "end": {
773                              "line": 27,
774                              "column": 6
775                            }
776                          }
777                        },
778                        "arguments": [],
779                        "optional": false,
780                        "loc": {
781                          "start": {
782                            "line": 27,
783                            "column": 5
784                          },
785                          "end": {
786                            "line": 27,
787                            "column": 8
788                          }
789                        }
790                      },
791                      "loc": {
792                        "start": {
793                          "line": 27,
794                          "column": 5
795                        },
796                        "end": {
797                          "line": 27,
798                          "column": 9
799                        }
800                      }
801                    }
802                  ],
803                  "loc": {
804                    "start": {
805                      "line": 23,
806                      "column": 23
807                    },
808                    "end": {
809                      "line": 28,
810                      "column": 2
811                    }
812                  }
813                },
814                "loc": {
815                  "start": {
816                    "line": 23,
817                    "column": 14
818                  },
819                  "end": {
820                    "line": 28,
821                    "column": 2
822                  }
823                }
824              },
825              "loc": {
826                "start": {
827                  "line": 23,
828                  "column": 14
829                },
830                "end": {
831                  "line": 28,
832                  "column": 2
833                }
834              }
835            },
836            "overloads": [],
837            "decorators": [],
838            "loc": {
839              "start": {
840                "line": 23,
841                "column": 1
842              },
843              "end": {
844                "line": 28,
845                "column": 2
846              }
847            }
848          }
849        ],
850        "loc": {
851          "start": {
852            "line": 1,
853            "column": 1
854          },
855          "end": {
856            "line": 1,
857            "column": 1
858          }
859        }
860      },
861      "loc": {
862        "start": {
863          "line": 1,
864          "column": 1
865        },
866        "end": {
867          "line": 1,
868          "column": 1
869        }
870      }
871    },
872    {
873      "type": "ClassDeclaration",
874      "definition": {
875        "id": {
876          "type": "Identifier",
877          "name": "$jsnew",
878          "decorators": [],
879          "loc": {
880            "start": {
881              "line": 1,
882              "column": 1
883            },
884            "end": {
885              "line": 1,
886              "column": 1
887            }
888          }
889        },
890        "superClass": null,
891        "implements": [],
892        "body": [
893          {
894            "type": "ClassProperty",
895            "key": {
896              "type": "Identifier",
897              "name": "qname_start_from",
898              "decorators": [],
899              "loc": {
900                "start": {
901                  "line": 1,
902                  "column": 1
903                },
904                "end": {
905                  "line": 1,
906                  "column": 1
907                }
908              }
909            },
910            "accessibility": "private",
911            "static": true,
912            "readonly": true,
913            "declare": false,
914            "optional": false,
915            "computed": false,
916            "typeAnnotation": {
917              "type": "ETSPrimitiveType",
918              "loc": {
919                "start": {
920                  "line": 1,
921                  "column": 1
922                },
923                "end": {
924                  "line": 1,
925                  "column": 1
926                }
927              }
928            },
929            "definite": false,
930            "decorators": [],
931            "loc": {
932              "start": {
933                "line": 1,
934                "column": 1
935              },
936              "end": {
937                "line": 1,
938                "column": 1
939              }
940            }
941          },
942          {
943            "type": "ClassStaticBlock",
944            "value": {
945              "type": "FunctionExpression",
946              "function": {
947                "type": "ScriptFunction",
948                "id": {
949                  "type": "Identifier",
950                  "name": "<cctor>",
951                  "decorators": [],
952                  "loc": {
953                    "start": {
954                      "line": 1,
955                      "column": 1
956                    },
957                    "end": {
958                      "line": 1,
959                      "column": 1
960                    }
961                  }
962                },
963                "generator": false,
964                "async": false,
965                "expression": true,
966                "params": [],
967                "body": {
968                  "type": "BlockStatement",
969                  "statements": [
970                    {
971                      "type": "ExpressionStatement",
972                      "expression": {
973                        "type": "CallExpression",
974                        "callee": {
975                          "type": "MemberExpression",
976                          "object": {
977                            "type": "Identifier",
978                            "name": "JSRuntime",
979                            "decorators": [],
980                            "loc": {
981                              "start": {
982                                "line": 1,
983                                "column": 1
984                              },
985                              "end": {
986                                "line": 1,
987                                "column": 1
988                              }
989                            }
990                          },
991                          "property": {
992                            "type": "Identifier",
993                            "name": "__initJSNewClass",
994                            "decorators": [],
995                            "loc": {
996                              "start": {
997                                "line": 1,
998                                "column": 1
999                              },
1000                              "end": {
1001                                "line": 1,
1002                                "column": 1
1003                              }
1004                            }
1005                          },
1006                          "computed": false,
1007                          "optional": false,
1008                          "loc": {
1009                            "start": {
1010                              "line": 1,
1011                              "column": 1
1012                            },
1013                            "end": {
1014                              "line": 1,
1015                              "column": 1
1016                            }
1017                          }
1018                        },
1019                        "arguments": [],
1020                        "optional": false,
1021                        "loc": {
1022                          "start": {
1023                            "line": 1,
1024                            "column": 1
1025                          },
1026                          "end": {
1027                            "line": 1,
1028                            "column": 1
1029                          }
1030                        }
1031                      },
1032                      "loc": {
1033                        "start": {
1034                          "line": 1,
1035                          "column": 1
1036                        },
1037                        "end": {
1038                          "line": 1,
1039                          "column": 1
1040                        }
1041                      }
1042                    }
1043                  ],
1044                  "loc": {
1045                    "start": {
1046                      "line": 1,
1047                      "column": 1
1048                    },
1049                    "end": {
1050                      "line": 1,
1051                      "column": 1
1052                    }
1053                  }
1054                },
1055                "loc": {
1056                  "start": {
1057                    "line": 1,
1058                    "column": 1
1059                  },
1060                  "end": {
1061                    "line": 1,
1062                    "column": 1
1063                  }
1064                }
1065              },
1066              "loc": {
1067                "start": {
1068                  "line": 1,
1069                  "column": 1
1070                },
1071                "end": {
1072                  "line": 1,
1073                  "column": 1
1074                }
1075              }
1076            },
1077            "loc": {
1078              "start": {
1079                "line": 1,
1080                "column": 1
1081              },
1082              "end": {
1083                "line": 1,
1084                "column": 1
1085              }
1086            }
1087          },
1088          {
1089            "type": "MethodDefinition",
1090            "key": {
1091              "type": "Identifier",
1092              "name": "invoke",
1093              "decorators": [],
1094              "loc": {
1095                "start": {
1096                  "line": 1,
1097                  "column": 1
1098                },
1099                "end": {
1100                  "line": 1,
1101                  "column": 1
1102                }
1103              }
1104            },
1105            "kind": "method",
1106            "accessibility": "public",
1107            "static": true,
1108            "optional": false,
1109            "computed": false,
1110            "value": {
1111              "type": "FunctionExpression",
1112              "function": {
1113                "type": "ScriptFunction",
1114                "id": {
1115                  "type": "Identifier",
1116                  "name": "invoke",
1117                  "decorators": [],
1118                  "loc": {
1119                    "start": {
1120                      "line": 1,
1121                      "column": 1
1122                    },
1123                    "end": {
1124                      "line": 1,
1125                      "column": 1
1126                    }
1127                  }
1128                },
1129                "generator": false,
1130                "async": false,
1131                "expression": false,
1132                "params": [
1133                  {
1134                    "type": "ETSParameterExpression",
1135                    "name": {
1136                      "type": "Identifier",
1137                      "name": "obj",
1138                      "typeAnnotation": {
1139                        "type": "OpaqueType",
1140                        "loc": {
1141                          "start": {
1142                            "line": 1,
1143                            "column": 1
1144                          },
1145                          "end": {
1146                            "line": 1,
1147                            "column": 1
1148                          }
1149                        }
1150                      },
1151                      "decorators": [],
1152                      "loc": {
1153                        "start": {
1154                          "line": 1,
1155                          "column": 1
1156                        },
1157                        "end": {
1158                          "line": 1,
1159                          "column": 1
1160                        }
1161                      }
1162                    },
1163                    "loc": {
1164                      "start": {
1165                        "line": 1,
1166                        "column": 1
1167                      },
1168                      "end": {
1169                        "line": 1,
1170                        "column": 1
1171                      }
1172                    }
1173                  },
1174                  {
1175                    "type": "ETSParameterExpression",
1176                    "name": {
1177                      "type": "Identifier",
1178                      "name": "qname_start",
1179                      "typeAnnotation": {
1180                        "type": "ETSPrimitiveType",
1181                        "loc": {
1182                          "start": {
1183                            "line": 1,
1184                            "column": 1
1185                          },
1186                          "end": {
1187                            "line": 1,
1188                            "column": 1
1189                          }
1190                        }
1191                      },
1192                      "decorators": [],
1193                      "loc": {
1194                        "start": {
1195                          "line": 1,
1196                          "column": 1
1197                        },
1198                        "end": {
1199                          "line": 1,
1200                          "column": 1
1201                        }
1202                      }
1203                    },
1204                    "loc": {
1205                      "start": {
1206                        "line": 1,
1207                        "column": 1
1208                      },
1209                      "end": {
1210                        "line": 1,
1211                        "column": 1
1212                      }
1213                    }
1214                  },
1215                  {
1216                    "type": "ETSParameterExpression",
1217                    "name": {
1218                      "type": "Identifier",
1219                      "name": "qname_len",
1220                      "typeAnnotation": {
1221                        "type": "ETSPrimitiveType",
1222                        "loc": {
1223                          "start": {
1224                            "line": 1,
1225                            "column": 1
1226                          },
1227                          "end": {
1228                            "line": 1,
1229                            "column": 1
1230                          }
1231                        }
1232                      },
1233                      "decorators": [],
1234                      "loc": {
1235                        "start": {
1236                          "line": 1,
1237                          "column": 1
1238                        },
1239                        "end": {
1240                          "line": 1,
1241                          "column": 1
1242                        }
1243                      }
1244                    },
1245                    "loc": {
1246                      "start": {
1247                        "line": 1,
1248                        "column": 1
1249                      },
1250                      "end": {
1251                        "line": 1,
1252                        "column": 1
1253                      }
1254                    }
1255                  },
1256                  {
1257                    "type": "ETSParameterExpression",
1258                    "name": {
1259                      "type": "Identifier",
1260                      "name": "p0",
1261                      "typeAnnotation": {
1262                        "type": "OpaqueType",
1263                        "loc": {
1264                          "start": {
1265                            "line": 1,
1266                            "column": 1
1267                          },
1268                          "end": {
1269                            "line": 1,
1270                            "column": 1
1271                          }
1272                        }
1273                      },
1274                      "decorators": [],
1275                      "loc": {
1276                        "start": {
1277                          "line": 1,
1278                          "column": 1
1279                        },
1280                        "end": {
1281                          "line": 1,
1282                          "column": 1
1283                        }
1284                      }
1285                    },
1286                    "loc": {
1287                      "start": {
1288                        "line": 1,
1289                        "column": 1
1290                      },
1291                      "end": {
1292                        "line": 1,
1293                        "column": 1
1294                      }
1295                    }
1296                  },
1297                  {
1298                    "type": "ETSParameterExpression",
1299                    "name": {
1300                      "type": "Identifier",
1301                      "name": "p1",
1302                      "typeAnnotation": {
1303                        "type": "OpaqueType",
1304                        "loc": {
1305                          "start": {
1306                            "line": 1,
1307                            "column": 1
1308                          },
1309                          "end": {
1310                            "line": 1,
1311                            "column": 1
1312                          }
1313                        }
1314                      },
1315                      "decorators": [],
1316                      "loc": {
1317                        "start": {
1318                          "line": 1,
1319                          "column": 1
1320                        },
1321                        "end": {
1322                          "line": 1,
1323                          "column": 1
1324                        }
1325                      }
1326                    },
1327                    "loc": {
1328                      "start": {
1329                        "line": 1,
1330                        "column": 1
1331                      },
1332                      "end": {
1333                        "line": 1,
1334                        "column": 1
1335                      }
1336                    }
1337                  },
1338                  {
1339                    "type": "ETSParameterExpression",
1340                    "name": {
1341                      "type": "Identifier",
1342                      "name": "p2",
1343                      "typeAnnotation": {
1344                        "type": "OpaqueType",
1345                        "loc": {
1346                          "start": {
1347                            "line": 1,
1348                            "column": 1
1349                          },
1350                          "end": {
1351                            "line": 1,
1352                            "column": 1
1353                          }
1354                        }
1355                      },
1356                      "decorators": [],
1357                      "loc": {
1358                        "start": {
1359                          "line": 1,
1360                          "column": 1
1361                        },
1362                        "end": {
1363                          "line": 1,
1364                          "column": 1
1365                        }
1366                      }
1367                    },
1368                    "loc": {
1369                      "start": {
1370                        "line": 1,
1371                        "column": 1
1372                      },
1373                      "end": {
1374                        "line": 1,
1375                        "column": 1
1376                      }
1377                    }
1378                  }
1379                ],
1380                "returnType": {
1381                  "type": "OpaqueType",
1382                  "loc": {
1383                    "start": {
1384                      "line": 1,
1385                      "column": 1
1386                    },
1387                    "end": {
1388                      "line": 1,
1389                      "column": 1
1390                    }
1391                  }
1392                },
1393                "loc": {
1394                  "start": {
1395                    "line": 1,
1396                    "column": 1
1397                  },
1398                  "end": {
1399                    "line": 1,
1400                    "column": 1
1401                  }
1402                }
1403              },
1404              "loc": {
1405                "start": {
1406                  "line": 1,
1407                  "column": 1
1408                },
1409                "end": {
1410                  "line": 1,
1411                  "column": 1
1412                }
1413              }
1414            },
1415            "overloads": [],
1416            "decorators": [],
1417            "loc": {
1418              "start": {
1419                "line": 1,
1420                "column": 1
1421              },
1422              "end": {
1423                "line": 1,
1424                "column": 1
1425              }
1426            }
1427          }
1428        ],
1429        "loc": {
1430          "start": {
1431            "line": 1,
1432            "column": 1
1433          },
1434          "end": {
1435            "line": 1,
1436            "column": 1
1437          }
1438        }
1439      },
1440      "loc": {
1441        "start": {
1442          "line": 1,
1443          "column": 1
1444        },
1445        "end": {
1446          "line": 1,
1447          "column": 1
1448        }
1449      }
1450    },
1451    {
1452      "type": "ClassDeclaration",
1453      "definition": {
1454        "id": {
1455          "type": "Identifier",
1456          "name": "$jscall",
1457          "decorators": [],
1458          "loc": {
1459            "start": {
1460              "line": 1,
1461              "column": 1
1462            },
1463            "end": {
1464              "line": 1,
1465              "column": 1
1466            }
1467          }
1468        },
1469        "superClass": null,
1470        "implements": [],
1471        "body": [
1472          {
1473            "type": "ClassProperty",
1474            "key": {
1475              "type": "Identifier",
1476              "name": "qname_start_from",
1477              "decorators": [],
1478              "loc": {
1479                "start": {
1480                  "line": 1,
1481                  "column": 1
1482                },
1483                "end": {
1484                  "line": 1,
1485                  "column": 1
1486                }
1487              }
1488            },
1489            "accessibility": "private",
1490            "static": true,
1491            "readonly": true,
1492            "declare": false,
1493            "optional": false,
1494            "computed": false,
1495            "typeAnnotation": {
1496              "type": "ETSPrimitiveType",
1497              "loc": {
1498                "start": {
1499                  "line": 1,
1500                  "column": 1
1501                },
1502                "end": {
1503                  "line": 1,
1504                  "column": 1
1505                }
1506              }
1507            },
1508            "definite": false,
1509            "decorators": [],
1510            "loc": {
1511              "start": {
1512                "line": 1,
1513                "column": 1
1514              },
1515              "end": {
1516                "line": 1,
1517                "column": 1
1518              }
1519            }
1520          },
1521          {
1522            "type": "ClassStaticBlock",
1523            "value": {
1524              "type": "FunctionExpression",
1525              "function": {
1526                "type": "ScriptFunction",
1527                "id": {
1528                  "type": "Identifier",
1529                  "name": "<cctor>",
1530                  "decorators": [],
1531                  "loc": {
1532                    "start": {
1533                      "line": 1,
1534                      "column": 1
1535                    },
1536                    "end": {
1537                      "line": 1,
1538                      "column": 1
1539                    }
1540                  }
1541                },
1542                "generator": false,
1543                "async": false,
1544                "expression": true,
1545                "params": [],
1546                "body": {
1547                  "type": "BlockStatement",
1548                  "statements": [
1549                    {
1550                      "type": "ExpressionStatement",
1551                      "expression": {
1552                        "type": "CallExpression",
1553                        "callee": {
1554                          "type": "MemberExpression",
1555                          "object": {
1556                            "type": "Identifier",
1557                            "name": "JSRuntime",
1558                            "decorators": [],
1559                            "loc": {
1560                              "start": {
1561                                "line": 1,
1562                                "column": 1
1563                              },
1564                              "end": {
1565                                "line": 1,
1566                                "column": 1
1567                              }
1568                            }
1569                          },
1570                          "property": {
1571                            "type": "Identifier",
1572                            "name": "__initJSCallClass",
1573                            "decorators": [],
1574                            "loc": {
1575                              "start": {
1576                                "line": 1,
1577                                "column": 1
1578                              },
1579                              "end": {
1580                                "line": 1,
1581                                "column": 1
1582                              }
1583                            }
1584                          },
1585                          "computed": false,
1586                          "optional": false,
1587                          "loc": {
1588                            "start": {
1589                              "line": 1,
1590                              "column": 1
1591                            },
1592                            "end": {
1593                              "line": 1,
1594                              "column": 1
1595                            }
1596                          }
1597                        },
1598                        "arguments": [],
1599                        "optional": false,
1600                        "loc": {
1601                          "start": {
1602                            "line": 1,
1603                            "column": 1
1604                          },
1605                          "end": {
1606                            "line": 1,
1607                            "column": 1
1608                          }
1609                        }
1610                      },
1611                      "loc": {
1612                        "start": {
1613                          "line": 1,
1614                          "column": 1
1615                        },
1616                        "end": {
1617                          "line": 1,
1618                          "column": 1
1619                        }
1620                      }
1621                    }
1622                  ],
1623                  "loc": {
1624                    "start": {
1625                      "line": 1,
1626                      "column": 1
1627                    },
1628                    "end": {
1629                      "line": 1,
1630                      "column": 1
1631                    }
1632                  }
1633                },
1634                "loc": {
1635                  "start": {
1636                    "line": 1,
1637                    "column": 1
1638                  },
1639                  "end": {
1640                    "line": 1,
1641                    "column": 1
1642                  }
1643                }
1644              },
1645              "loc": {
1646                "start": {
1647                  "line": 1,
1648                  "column": 1
1649                },
1650                "end": {
1651                  "line": 1,
1652                  "column": 1
1653                }
1654              }
1655            },
1656            "loc": {
1657              "start": {
1658                "line": 1,
1659                "column": 1
1660              },
1661              "end": {
1662                "line": 1,
1663                "column": 1
1664              }
1665            }
1666          },
1667          {
1668            "type": "MethodDefinition",
1669            "key": {
1670              "type": "Identifier",
1671              "name": "invoke",
1672              "decorators": [],
1673              "loc": {
1674                "start": {
1675                  "line": 1,
1676                  "column": 1
1677                },
1678                "end": {
1679                  "line": 1,
1680                  "column": 1
1681                }
1682              }
1683            },
1684            "kind": "method",
1685            "accessibility": "public",
1686            "static": true,
1687            "optional": false,
1688            "computed": false,
1689            "value": {
1690              "type": "FunctionExpression",
1691              "function": {
1692                "type": "ScriptFunction",
1693                "id": {
1694                  "type": "Identifier",
1695                  "name": "invoke",
1696                  "decorators": [],
1697                  "loc": {
1698                    "start": {
1699                      "line": 1,
1700                      "column": 1
1701                    },
1702                    "end": {
1703                      "line": 1,
1704                      "column": 1
1705                    }
1706                  }
1707                },
1708                "generator": false,
1709                "async": false,
1710                "expression": false,
1711                "params": [
1712                  {
1713                    "type": "ETSParameterExpression",
1714                    "name": {
1715                      "type": "Identifier",
1716                      "name": "obj",
1717                      "typeAnnotation": {
1718                        "type": "OpaqueType",
1719                        "loc": {
1720                          "start": {
1721                            "line": 1,
1722                            "column": 1
1723                          },
1724                          "end": {
1725                            "line": 1,
1726                            "column": 1
1727                          }
1728                        }
1729                      },
1730                      "decorators": [],
1731                      "loc": {
1732                        "start": {
1733                          "line": 1,
1734                          "column": 1
1735                        },
1736                        "end": {
1737                          "line": 1,
1738                          "column": 1
1739                        }
1740                      }
1741                    },
1742                    "loc": {
1743                      "start": {
1744                        "line": 1,
1745                        "column": 1
1746                      },
1747                      "end": {
1748                        "line": 1,
1749                        "column": 1
1750                      }
1751                    }
1752                  },
1753                  {
1754                    "type": "ETSParameterExpression",
1755                    "name": {
1756                      "type": "Identifier",
1757                      "name": "qname_start",
1758                      "typeAnnotation": {
1759                        "type": "ETSPrimitiveType",
1760                        "loc": {
1761                          "start": {
1762                            "line": 1,
1763                            "column": 1
1764                          },
1765                          "end": {
1766                            "line": 1,
1767                            "column": 1
1768                          }
1769                        }
1770                      },
1771                      "decorators": [],
1772                      "loc": {
1773                        "start": {
1774                          "line": 1,
1775                          "column": 1
1776                        },
1777                        "end": {
1778                          "line": 1,
1779                          "column": 1
1780                        }
1781                      }
1782                    },
1783                    "loc": {
1784                      "start": {
1785                        "line": 1,
1786                        "column": 1
1787                      },
1788                      "end": {
1789                        "line": 1,
1790                        "column": 1
1791                      }
1792                    }
1793                  },
1794                  {
1795                    "type": "ETSParameterExpression",
1796                    "name": {
1797                      "type": "Identifier",
1798                      "name": "qname_len",
1799                      "typeAnnotation": {
1800                        "type": "ETSPrimitiveType",
1801                        "loc": {
1802                          "start": {
1803                            "line": 1,
1804                            "column": 1
1805                          },
1806                          "end": {
1807                            "line": 1,
1808                            "column": 1
1809                          }
1810                        }
1811                      },
1812                      "decorators": [],
1813                      "loc": {
1814                        "start": {
1815                          "line": 1,
1816                          "column": 1
1817                        },
1818                        "end": {
1819                          "line": 1,
1820                          "column": 1
1821                        }
1822                      }
1823                    },
1824                    "loc": {
1825                      "start": {
1826                        "line": 1,
1827                        "column": 1
1828                      },
1829                      "end": {
1830                        "line": 1,
1831                        "column": 1
1832                      }
1833                    }
1834                  },
1835                  {
1836                    "type": "ETSParameterExpression",
1837                    "name": {
1838                      "type": "Identifier",
1839                      "name": "p0",
1840                      "typeAnnotation": {
1841                        "type": "OpaqueType",
1842                        "loc": {
1843                          "start": {
1844                            "line": 1,
1845                            "column": 1
1846                          },
1847                          "end": {
1848                            "line": 1,
1849                            "column": 1
1850                          }
1851                        }
1852                      },
1853                      "decorators": [],
1854                      "loc": {
1855                        "start": {
1856                          "line": 1,
1857                          "column": 1
1858                        },
1859                        "end": {
1860                          "line": 1,
1861                          "column": 1
1862                        }
1863                      }
1864                    },
1865                    "loc": {
1866                      "start": {
1867                        "line": 1,
1868                        "column": 1
1869                      },
1870                      "end": {
1871                        "line": 1,
1872                        "column": 1
1873                      }
1874                    }
1875                  },
1876                  {
1877                    "type": "ETSParameterExpression",
1878                    "name": {
1879                      "type": "Identifier",
1880                      "name": "p1",
1881                      "typeAnnotation": {
1882                        "type": "OpaqueType",
1883                        "loc": {
1884                          "start": {
1885                            "line": 1,
1886                            "column": 1
1887                          },
1888                          "end": {
1889                            "line": 1,
1890                            "column": 1
1891                          }
1892                        }
1893                      },
1894                      "decorators": [],
1895                      "loc": {
1896                        "start": {
1897                          "line": 1,
1898                          "column": 1
1899                        },
1900                        "end": {
1901                          "line": 1,
1902                          "column": 1
1903                        }
1904                      }
1905                    },
1906                    "loc": {
1907                      "start": {
1908                        "line": 1,
1909                        "column": 1
1910                      },
1911                      "end": {
1912                        "line": 1,
1913                        "column": 1
1914                      }
1915                    }
1916                  }
1917                ],
1918                "returnType": {
1919                  "type": "OpaqueType",
1920                  "loc": {
1921                    "start": {
1922                      "line": 1,
1923                      "column": 1
1924                    },
1925                    "end": {
1926                      "line": 1,
1927                      "column": 1
1928                    }
1929                  }
1930                },
1931                "loc": {
1932                  "start": {
1933                    "line": 1,
1934                    "column": 1
1935                  },
1936                  "end": {
1937                    "line": 1,
1938                    "column": 1
1939                  }
1940                }
1941              },
1942              "loc": {
1943                "start": {
1944                  "line": 1,
1945                  "column": 1
1946                },
1947                "end": {
1948                  "line": 1,
1949                  "column": 1
1950                }
1951              }
1952            },
1953            "overloads": [
1954              {
1955                "type": "MethodDefinition",
1956                "key": {
1957                  "type": "Identifier",
1958                  "name": "invoke",
1959                  "decorators": [],
1960                  "loc": {
1961                    "start": {
1962                      "line": 1,
1963                      "column": 1
1964                    },
1965                    "end": {
1966                      "line": 1,
1967                      "column": 1
1968                    }
1969                  }
1970                },
1971                "kind": "method",
1972                "accessibility": "public",
1973                "static": true,
1974                "optional": false,
1975                "computed": false,
1976                "value": {
1977                  "type": "FunctionExpression",
1978                  "function": {
1979                    "type": "ScriptFunction",
1980                    "id": {
1981                      "type": "Identifier",
1982                      "name": "invoke",
1983                      "decorators": [],
1984                      "loc": {
1985                        "start": {
1986                          "line": 1,
1987                          "column": 1
1988                        },
1989                        "end": {
1990                          "line": 1,
1991                          "column": 1
1992                        }
1993                      }
1994                    },
1995                    "generator": false,
1996                    "async": false,
1997                    "expression": false,
1998                    "params": [
1999                      {
2000                        "type": "ETSParameterExpression",
2001                        "name": {
2002                          "type": "Identifier",
2003                          "name": "obj",
2004                          "typeAnnotation": {
2005                            "type": "OpaqueType",
2006                            "loc": {
2007                              "start": {
2008                                "line": 1,
2009                                "column": 1
2010                              },
2011                              "end": {
2012                                "line": 1,
2013                                "column": 1
2014                              }
2015                            }
2016                          },
2017                          "decorators": [],
2018                          "loc": {
2019                            "start": {
2020                              "line": 1,
2021                              "column": 1
2022                            },
2023                            "end": {
2024                              "line": 1,
2025                              "column": 1
2026                            }
2027                          }
2028                        },
2029                        "loc": {
2030                          "start": {
2031                            "line": 1,
2032                            "column": 1
2033                          },
2034                          "end": {
2035                            "line": 1,
2036                            "column": 1
2037                          }
2038                        }
2039                      },
2040                      {
2041                        "type": "ETSParameterExpression",
2042                        "name": {
2043                          "type": "Identifier",
2044                          "name": "this",
2045                          "typeAnnotation": {
2046                            "type": "OpaqueType",
2047                            "loc": {
2048                              "start": {
2049                                "line": 1,
2050                                "column": 1
2051                              },
2052                              "end": {
2053                                "line": 1,
2054                                "column": 1
2055                              }
2056                            }
2057                          },
2058                          "decorators": [],
2059                          "loc": {
2060                            "start": {
2061                              "line": 1,
2062                              "column": 1
2063                            },
2064                            "end": {
2065                              "line": 1,
2066                              "column": 1
2067                            }
2068                          }
2069                        },
2070                        "loc": {
2071                          "start": {
2072                            "line": 1,
2073                            "column": 1
2074                          },
2075                          "end": {
2076                            "line": 1,
2077                            "column": 1
2078                          }
2079                        }
2080                      }
2081                    ],
2082                    "returnType": {
2083                      "type": "OpaqueType",
2084                      "loc": {
2085                        "start": {
2086                          "line": 1,
2087                          "column": 1
2088                        },
2089                        "end": {
2090                          "line": 1,
2091                          "column": 1
2092                        }
2093                      }
2094                    },
2095                    "loc": {
2096                      "start": {
2097                        "line": 1,
2098                        "column": 1
2099                      },
2100                      "end": {
2101                        "line": 1,
2102                        "column": 1
2103                      }
2104                    }
2105                  },
2106                  "loc": {
2107                    "start": {
2108                      "line": 1,
2109                      "column": 1
2110                    },
2111                    "end": {
2112                      "line": 1,
2113                      "column": 1
2114                    }
2115                  }
2116                },
2117                "overloads": [],
2118                "decorators": [],
2119                "loc": {
2120                  "start": {
2121                    "line": 1,
2122                    "column": 1
2123                  },
2124                  "end": {
2125                    "line": 1,
2126                    "column": 1
2127                  }
2128                }
2129              }
2130            ],
2131            "decorators": [],
2132            "loc": {
2133              "start": {
2134                "line": 1,
2135                "column": 1
2136              },
2137              "end": {
2138                "line": 1,
2139                "column": 1
2140              }
2141            }
2142          },
2143          {
2144            "type": "MethodDefinition",
2145            "key": {
2146              "type": "Identifier",
2147              "name": "invoke",
2148              "decorators": [],
2149              "loc": {
2150                "start": {
2151                  "line": 1,
2152                  "column": 1
2153                },
2154                "end": {
2155                  "line": 1,
2156                  "column": 1
2157                }
2158              }
2159            },
2160            "kind": "method",
2161            "accessibility": "public",
2162            "static": true,
2163            "optional": false,
2164            "computed": false,
2165            "value": {
2166              "type": "FunctionExpression",
2167              "function": {
2168                "type": "ScriptFunction",
2169                "id": {
2170                  "type": "Identifier",
2171                  "name": "invoke",
2172                  "decorators": [],
2173                  "loc": {
2174                    "start": {
2175                      "line": 1,
2176                      "column": 1
2177                    },
2178                    "end": {
2179                      "line": 1,
2180                      "column": 1
2181                    }
2182                  }
2183                },
2184                "generator": false,
2185                "async": false,
2186                "expression": false,
2187                "params": [
2188                  {
2189                    "type": "ETSParameterExpression",
2190                    "name": {
2191                      "type": "Identifier",
2192                      "name": "obj",
2193                      "typeAnnotation": {
2194                        "type": "OpaqueType",
2195                        "loc": {
2196                          "start": {
2197                            "line": 1,
2198                            "column": 1
2199                          },
2200                          "end": {
2201                            "line": 1,
2202                            "column": 1
2203                          }
2204                        }
2205                      },
2206                      "decorators": [],
2207                      "loc": {
2208                        "start": {
2209                          "line": 1,
2210                          "column": 1
2211                        },
2212                        "end": {
2213                          "line": 1,
2214                          "column": 1
2215                        }
2216                      }
2217                    },
2218                    "loc": {
2219                      "start": {
2220                        "line": 1,
2221                        "column": 1
2222                      },
2223                      "end": {
2224                        "line": 1,
2225                        "column": 1
2226                      }
2227                    }
2228                  },
2229                  {
2230                    "type": "ETSParameterExpression",
2231                    "name": {
2232                      "type": "Identifier",
2233                      "name": "this",
2234                      "typeAnnotation": {
2235                        "type": "OpaqueType",
2236                        "loc": {
2237                          "start": {
2238                            "line": 1,
2239                            "column": 1
2240                          },
2241                          "end": {
2242                            "line": 1,
2243                            "column": 1
2244                          }
2245                        }
2246                      },
2247                      "decorators": [],
2248                      "loc": {
2249                        "start": {
2250                          "line": 1,
2251                          "column": 1
2252                        },
2253                        "end": {
2254                          "line": 1,
2255                          "column": 1
2256                        }
2257                      }
2258                    },
2259                    "loc": {
2260                      "start": {
2261                        "line": 1,
2262                        "column": 1
2263                      },
2264                      "end": {
2265                        "line": 1,
2266                        "column": 1
2267                      }
2268                    }
2269                  }
2270                ],
2271                "returnType": {
2272                  "type": "OpaqueType",
2273                  "loc": {
2274                    "start": {
2275                      "line": 1,
2276                      "column": 1
2277                    },
2278                    "end": {
2279                      "line": 1,
2280                      "column": 1
2281                    }
2282                  }
2283                },
2284                "loc": {
2285                  "start": {
2286                    "line": 1,
2287                    "column": 1
2288                  },
2289                  "end": {
2290                    "line": 1,
2291                    "column": 1
2292                  }
2293                }
2294              },
2295              "loc": {
2296                "start": {
2297                  "line": 1,
2298                  "column": 1
2299                },
2300                "end": {
2301                  "line": 1,
2302                  "column": 1
2303                }
2304              }
2305            },
2306            "overloads": [],
2307            "decorators": [],
2308            "loc": {
2309              "start": {
2310                "line": 1,
2311                "column": 1
2312              },
2313              "end": {
2314                "line": 1,
2315                "column": 1
2316              }
2317            }
2318          }
2319        ],
2320        "loc": {
2321          "start": {
2322            "line": 1,
2323            "column": 1
2324          },
2325          "end": {
2326            "line": 1,
2327            "column": 1
2328          }
2329        }
2330      },
2331      "loc": {
2332        "start": {
2333          "line": 1,
2334          "column": 1
2335        },
2336        "end": {
2337          "line": 1,
2338          "column": 1
2339        }
2340      }
2341    },
2342    {
2343      "type": "ClassDeclaration",
2344      "definition": {
2345        "id": {
2346          "type": "Identifier",
2347          "name": "$dynmodule",
2348          "decorators": [],
2349          "loc": {
2350            "start": {
2351              "line": 1,
2352              "column": 1
2353            },
2354            "end": {
2355              "line": 1,
2356              "column": 1
2357            }
2358          }
2359        },
2360        "superClass": null,
2361        "implements": [],
2362        "body": [
2363          {
2364            "type": "ClassProperty",
2365            "key": {
2366              "type": "Identifier",
2367              "name": "dynamic_js_import_tests0",
2368              "decorators": [],
2369              "loc": {
2370                "start": {
2371                  "line": 1,
2372                  "column": 1
2373                },
2374                "end": {
2375                  "line": 1,
2376                  "column": 1
2377                }
2378              }
2379            },
2380            "accessibility": "public",
2381            "static": true,
2382            "readonly": true,
2383            "declare": false,
2384            "optional": false,
2385            "computed": false,
2386            "typeAnnotation": {
2387              "type": "OpaqueType",
2388              "loc": {
2389                "start": {
2390                  "line": 1,
2391                  "column": 1
2392                },
2393                "end": {
2394                  "line": 1,
2395                  "column": 1
2396                }
2397              }
2398            },
2399            "definite": false,
2400            "decorators": [],
2401            "loc": {
2402              "start": {
2403                "line": 1,
2404                "column": 1
2405              },
2406              "end": {
2407                "line": 1,
2408                "column": 1
2409              }
2410            }
2411          },
2412          {
2413            "type": "ClassProperty",
2414            "key": {
2415              "type": "Identifier",
2416              "name": "dynamic_js_import_tests1",
2417              "decorators": [],
2418              "loc": {
2419                "start": {
2420                  "line": 1,
2421                  "column": 1
2422                },
2423                "end": {
2424                  "line": 1,
2425                  "column": 1
2426                }
2427              }
2428            },
2429            "accessibility": "public",
2430            "static": true,
2431            "readonly": true,
2432            "declare": false,
2433            "optional": false,
2434            "computed": false,
2435            "typeAnnotation": {
2436              "type": "OpaqueType",
2437              "loc": {
2438                "start": {
2439                  "line": 1,
2440                  "column": 1
2441                },
2442                "end": {
2443                  "line": 1,
2444                  "column": 1
2445                }
2446              }
2447            },
2448            "definite": false,
2449            "decorators": [],
2450            "loc": {
2451              "start": {
2452                "line": 1,
2453                "column": 1
2454              },
2455              "end": {
2456                "line": 1,
2457                "column": 1
2458              }
2459            }
2460          },
2461          {
2462            "type": "ClassStaticBlock",
2463            "value": {
2464              "type": "FunctionExpression",
2465              "function": {
2466                "type": "ScriptFunction",
2467                "id": {
2468                  "type": "Identifier",
2469                  "name": "<cctor>",
2470                  "decorators": [],
2471                  "loc": {
2472                    "start": {
2473                      "line": 1,
2474                      "column": 1
2475                    },
2476                    "end": {
2477                      "line": 1,
2478                      "column": 1
2479                    }
2480                  }
2481                },
2482                "generator": false,
2483                "async": false,
2484                "expression": true,
2485                "params": [],
2486                "body": {
2487                  "type": "BlockStatement",
2488                  "statements": [
2489                    {
2490                      "type": "ExpressionStatement",
2491                      "expression": {
2492                        "type": "AssignmentExpression",
2493                        "operator": "=",
2494                        "left": {
2495                          "type": "MemberExpression",
2496                          "object": {
2497                            "type": "Identifier",
2498                            "name": "$dynmodule",
2499                            "decorators": [],
2500                            "loc": {
2501                              "start": {
2502                                "line": 1,
2503                                "column": 1
2504                              },
2505                              "end": {
2506                                "line": 1,
2507                                "column": 1
2508                              }
2509                            }
2510                          },
2511                          "property": {
2512                            "type": "Identifier",
2513                            "name": "dynamic_js_import_tests0",
2514                            "decorators": [],
2515                            "loc": {
2516                              "start": {
2517                                "line": 1,
2518                                "column": 1
2519                              },
2520                              "end": {
2521                                "line": 1,
2522                                "column": 1
2523                              }
2524                            }
2525                          },
2526                          "computed": false,
2527                          "optional": false,
2528                          "loc": {
2529                            "start": {
2530                              "line": 1,
2531                              "column": 1
2532                            },
2533                            "end": {
2534                              "line": 1,
2535                              "column": 1
2536                            }
2537                          }
2538                        },
2539                        "right": {
2540                          "type": "CallExpression",
2541                          "callee": {
2542                            "type": "MemberExpression",
2543                            "object": {
2544                              "type": "Identifier",
2545                              "name": "JSRuntime",
2546                              "decorators": [],
2547                              "loc": {
2548                                "start": {
2549                                  "line": 1,
2550                                  "column": 1
2551                                },
2552                                "end": {
2553                                  "line": 1,
2554                                  "column": 1
2555                                }
2556                              }
2557                            },
2558                            "property": {
2559                              "type": "Identifier",
2560                              "name": "loadModule",
2561                              "decorators": [],
2562                              "loc": {
2563                                "start": {
2564                                  "line": 1,
2565                                  "column": 1
2566                                },
2567                                "end": {
2568                                  "line": 1,
2569                                  "column": 1
2570                                }
2571                              }
2572                            },
2573                            "computed": false,
2574                            "optional": false,
2575                            "loc": {
2576                              "start": {
2577                                "line": 1,
2578                                "column": 1
2579                              },
2580                              "end": {
2581                                "line": 1,
2582                                "column": 1
2583                              }
2584                            }
2585                          },
2586                          "arguments": [
2587                            {
2588                              "type": "StringLiteral",
2589                              "value": "dynamic_js_import_tests",
2590                              "loc": {
2591                                "start": {
2592                                  "line": 1,
2593                                  "column": 1
2594                                },
2595                                "end": {
2596                                  "line": 1,
2597                                  "column": 1
2598                                }
2599                              }
2600                            }
2601                          ],
2602                          "optional": false,
2603                          "loc": {
2604                            "start": {
2605                              "line": 1,
2606                              "column": 1
2607                            },
2608                            "end": {
2609                              "line": 1,
2610                              "column": 1
2611                            }
2612                          }
2613                        },
2614                        "loc": {
2615                          "start": {
2616                            "line": 1,
2617                            "column": 1
2618                          },
2619                          "end": {
2620                            "line": 1,
2621                            "column": 1
2622                          }
2623                        }
2624                      },
2625                      "loc": {
2626                        "start": {
2627                          "line": 1,
2628                          "column": 1
2629                        },
2630                        "end": {
2631                          "line": 1,
2632                          "column": 1
2633                        }
2634                      }
2635                    },
2636                    {
2637                      "type": "ExpressionStatement",
2638                      "expression": {
2639                        "type": "AssignmentExpression",
2640                        "operator": "=",
2641                        "left": {
2642                          "type": "MemberExpression",
2643                          "object": {
2644                            "type": "Identifier",
2645                            "name": "$dynmodule",
2646                            "decorators": [],
2647                            "loc": {
2648                              "start": {
2649                                "line": 1,
2650                                "column": 1
2651                              },
2652                              "end": {
2653                                "line": 1,
2654                                "column": 1
2655                              }
2656                            }
2657                          },
2658                          "property": {
2659                            "type": "Identifier",
2660                            "name": "dynamic_js_import_tests1",
2661                            "decorators": [],
2662                            "loc": {
2663                              "start": {
2664                                "line": 1,
2665                                "column": 1
2666                              },
2667                              "end": {
2668                                "line": 1,
2669                                "column": 1
2670                              }
2671                            }
2672                          },
2673                          "computed": false,
2674                          "optional": false,
2675                          "loc": {
2676                            "start": {
2677                              "line": 1,
2678                              "column": 1
2679                            },
2680                            "end": {
2681                              "line": 1,
2682                              "column": 1
2683                            }
2684                          }
2685                        },
2686                        "right": {
2687                          "type": "CallExpression",
2688                          "callee": {
2689                            "type": "MemberExpression",
2690                            "object": {
2691                              "type": "Identifier",
2692                              "name": "JSRuntime",
2693                              "decorators": [],
2694                              "loc": {
2695                                "start": {
2696                                  "line": 1,
2697                                  "column": 1
2698                                },
2699                                "end": {
2700                                  "line": 1,
2701                                  "column": 1
2702                                }
2703                              }
2704                            },
2705                            "property": {
2706                              "type": "Identifier",
2707                              "name": "loadModule",
2708                              "decorators": [],
2709                              "loc": {
2710                                "start": {
2711                                  "line": 1,
2712                                  "column": 1
2713                                },
2714                                "end": {
2715                                  "line": 1,
2716                                  "column": 1
2717                                }
2718                              }
2719                            },
2720                            "computed": false,
2721                            "optional": false,
2722                            "loc": {
2723                              "start": {
2724                                "line": 1,
2725                                "column": 1
2726                              },
2727                              "end": {
2728                                "line": 1,
2729                                "column": 1
2730                              }
2731                            }
2732                          },
2733                          "arguments": [
2734                            {
2735                              "type": "StringLiteral",
2736                              "value": "dynamic_js_import_tests",
2737                              "loc": {
2738                                "start": {
2739                                  "line": 1,
2740                                  "column": 1
2741                                },
2742                                "end": {
2743                                  "line": 1,
2744                                  "column": 1
2745                                }
2746                              }
2747                            }
2748                          ],
2749                          "optional": false,
2750                          "loc": {
2751                            "start": {
2752                              "line": 1,
2753                              "column": 1
2754                            },
2755                            "end": {
2756                              "line": 1,
2757                              "column": 1
2758                            }
2759                          }
2760                        },
2761                        "loc": {
2762                          "start": {
2763                            "line": 1,
2764                            "column": 1
2765                          },
2766                          "end": {
2767                            "line": 1,
2768                            "column": 1
2769                          }
2770                        }
2771                      },
2772                      "loc": {
2773                        "start": {
2774                          "line": 1,
2775                          "column": 1
2776                        },
2777                        "end": {
2778                          "line": 1,
2779                          "column": 1
2780                        }
2781                      }
2782                    }
2783                  ],
2784                  "loc": {
2785                    "start": {
2786                      "line": 1,
2787                      "column": 1
2788                    },
2789                    "end": {
2790                      "line": 1,
2791                      "column": 1
2792                    }
2793                  }
2794                },
2795                "loc": {
2796                  "start": {
2797                    "line": 1,
2798                    "column": 1
2799                  },
2800                  "end": {
2801                    "line": 1,
2802                    "column": 1
2803                  }
2804                }
2805              },
2806              "loc": {
2807                "start": {
2808                  "line": 1,
2809                  "column": 1
2810                },
2811                "end": {
2812                  "line": 1,
2813                  "column": 1
2814                }
2815              }
2816            },
2817            "loc": {
2818              "start": {
2819                "line": 1,
2820                "column": 1
2821              },
2822              "end": {
2823                "line": 1,
2824                "column": 1
2825              }
2826            }
2827          },
2828          {
2829            "type": "MethodDefinition",
2830            "key": {
2831              "type": "Identifier",
2832              "name": "init",
2833              "decorators": [],
2834              "loc": {
2835                "start": {
2836                  "line": 1,
2837                  "column": 1
2838                },
2839                "end": {
2840                  "line": 1,
2841                  "column": 1
2842                }
2843              }
2844            },
2845            "kind": "method",
2846            "accessibility": "public",
2847            "static": true,
2848            "optional": false,
2849            "computed": false,
2850            "value": {
2851              "type": "FunctionExpression",
2852              "function": {
2853                "type": "ScriptFunction",
2854                "id": {
2855                  "type": "Identifier",
2856                  "name": "init",
2857                  "decorators": [],
2858                  "loc": {
2859                    "start": {
2860                      "line": 1,
2861                      "column": 1
2862                    },
2863                    "end": {
2864                      "line": 1,
2865                      "column": 1
2866                    }
2867                  }
2868                },
2869                "generator": false,
2870                "async": false,
2871                "expression": false,
2872                "params": [],
2873                "returnType": {
2874                  "type": "OpaqueType",
2875                  "loc": {
2876                    "start": {
2877                      "line": 1,
2878                      "column": 1
2879                    },
2880                    "end": {
2881                      "line": 1,
2882                      "column": 1
2883                    }
2884                  }
2885                },
2886                "body": {
2887                  "type": "BlockStatement",
2888                  "statements": [],
2889                  "loc": {
2890                    "start": {
2891                      "line": 1,
2892                      "column": 1
2893                    },
2894                    "end": {
2895                      "line": 1,
2896                      "column": 1
2897                    }
2898                  }
2899                },
2900                "loc": {
2901                  "start": {
2902                    "line": 1,
2903                    "column": 1
2904                  },
2905                  "end": {
2906                    "line": 1,
2907                    "column": 1
2908                  }
2909                }
2910              },
2911              "loc": {
2912                "start": {
2913                  "line": 1,
2914                  "column": 1
2915                },
2916                "end": {
2917                  "line": 1,
2918                  "column": 1
2919                }
2920              }
2921            },
2922            "overloads": [],
2923            "decorators": [],
2924            "loc": {
2925              "start": {
2926                "line": 1,
2927                "column": 1
2928              },
2929              "end": {
2930                "line": 1,
2931                "column": 1
2932              }
2933            }
2934          }
2935        ],
2936        "loc": {
2937          "start": {
2938            "line": 1,
2939            "column": 1
2940          },
2941          "end": {
2942            "line": 1,
2943            "column": 1
2944          }
2945        }
2946      },
2947      "loc": {
2948        "start": {
2949          "line": 1,
2950          "column": 1
2951        },
2952        "end": {
2953          "line": 1,
2954          "column": 1
2955        }
2956      }
2957    }
2958  ],
2959  "loc": {
2960    "start": {
2961      "line": 1,
2962      "column": 1
2963    },
2964    "end": {
2965      "line": 29,
2966      "column": 1
2967    }
2968  }
2969}
2970