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