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