• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ImportDeclaration",
6      "source": {
7        "type": "StringLiteral",
8        "value": "std/math",
9        "loc": {
10          "start": {
11            "line": 16,
12            "column": 20,
13            "program": "Morph3d.ets"
14          },
15          "end": {
16            "line": 16,
17            "column": 30,
18            "program": "Morph3d.ets"
19          }
20        }
21      },
22      "specifiers": [
23        {
24          "type": "ImportSpecifier",
25          "local": {
26            "type": "Identifier",
27            "name": "PI",
28            "decorators": [],
29            "loc": {
30              "start": {
31                "line": 16,
32                "column": 10,
33                "program": "Morph3d.ets"
34              },
35              "end": {
36                "line": 16,
37                "column": 12,
38                "program": "Morph3d.ets"
39              }
40            }
41          },
42          "imported": {
43            "type": "Identifier",
44            "name": "PI",
45            "decorators": [],
46            "loc": {
47              "start": {
48                "line": 16,
49                "column": 10,
50                "program": "Morph3d.ets"
51              },
52              "end": {
53                "line": 16,
54                "column": 12,
55                "program": "Morph3d.ets"
56              }
57            }
58          },
59          "loc": {
60            "start": {
61              "line": 16,
62              "column": 10,
63              "program": "Morph3d.ets"
64            },
65            "end": {
66              "line": 16,
67              "column": 12,
68              "program": "Morph3d.ets"
69            }
70          }
71        }
72      ],
73      "loc": {
74        "start": {
75          "line": 16,
76          "column": 1,
77          "program": "Morph3d.ets"
78        },
79        "end": {
80          "line": 16,
81          "column": 31,
82          "program": "Morph3d.ets"
83        }
84      }
85    },
86    {
87      "type": "ClassDeclaration",
88      "definition": {
89        "id": {
90          "type": "Identifier",
91          "name": "Morph3d",
92          "decorators": [],
93          "loc": {
94            "start": {
95              "line": 18,
96              "column": 14,
97              "program": "Morph3d.ets"
98            },
99            "end": {
100              "line": 18,
101              "column": 21,
102              "program": "Morph3d.ets"
103            }
104          }
105        },
106        "superClass": null,
107        "implements": [],
108        "body": [
109          {
110            "type": "ClassProperty",
111            "key": {
112              "type": "Identifier",
113              "name": "param",
114              "decorators": [],
115              "loc": {
116                "start": {
117                  "line": 19,
118                  "column": 27,
119                  "program": "Morph3d.ets"
120                },
121                "end": {
122                  "line": 19,
123                  "column": 32,
124                  "program": "Morph3d.ets"
125                }
126              }
127            },
128            "value": {
129              "type": "NumberLiteral",
130              "value": 120,
131              "loc": {
132                "start": {
133                  "line": 19,
134                  "column": 40,
135                  "program": "Morph3d.ets"
136                },
137                "end": {
138                  "line": 19,
139                  "column": 43,
140                  "program": "Morph3d.ets"
141                }
142              }
143            },
144            "accessibility": "private",
145            "static": true,
146            "readonly": true,
147            "declare": false,
148            "optional": false,
149            "computed": false,
150            "typeAnnotation": {
151              "type": "ETSPrimitiveType",
152              "loc": {
153                "start": {
154                  "line": 19,
155                  "column": 34,
156                  "program": "Morph3d.ets"
157                },
158                "end": {
159                  "line": 19,
160                  "column": 37,
161                  "program": "Morph3d.ets"
162                }
163              }
164            },
165            "definite": false,
166            "decorators": [],
167            "loc": {
168              "start": {
169                "line": 19,
170                "column": 27,
171                "program": "Morph3d.ets"
172              },
173              "end": {
174                "line": 19,
175                "column": 43,
176                "program": "Morph3d.ets"
177              }
178            }
179          },
180          {
181            "type": "ClassProperty",
182            "key": {
183              "type": "Identifier",
184              "name": "n",
185              "decorators": [],
186              "loc": {
187                "start": {
188                  "line": 20,
189                  "column": 27,
190                  "program": "Morph3d.ets"
191                },
192                "end": {
193                  "line": 20,
194                  "column": 28,
195                  "program": "Morph3d.ets"
196                }
197              }
198            },
199            "value": {
200              "type": "NumberLiteral",
201              "value": 15,
202              "loc": {
203                "start": {
204                  "line": 20,
205                  "column": 36,
206                  "program": "Morph3d.ets"
207                },
208                "end": {
209                  "line": 20,
210                  "column": 38,
211                  "program": "Morph3d.ets"
212                }
213              }
214            },
215            "accessibility": "private",
216            "static": true,
217            "readonly": true,
218            "declare": false,
219            "optional": false,
220            "computed": false,
221            "typeAnnotation": {
222              "type": "ETSPrimitiveType",
223              "loc": {
224                "start": {
225                  "line": 20,
226                  "column": 30,
227                  "program": "Morph3d.ets"
228                },
229                "end": {
230                  "line": 20,
231                  "column": 33,
232                  "program": "Morph3d.ets"
233                }
234              }
235            },
236            "definite": false,
237            "decorators": [],
238            "loc": {
239              "start": {
240                "line": 20,
241                "column": 27,
242                "program": "Morph3d.ets"
243              },
244              "end": {
245                "line": 20,
246                "column": 38,
247                "program": "Morph3d.ets"
248              }
249            }
250          },
251          {
252            "type": "ClassProperty",
253            "key": {
254              "type": "Identifier",
255              "name": "a",
256              "decorators": [],
257              "loc": {
258                "start": {
259                  "line": 22,
260                  "column": 10,
261                  "program": "Morph3d.ets"
262                },
263                "end": {
264                  "line": 22,
265                  "column": 11,
266                  "program": "Morph3d.ets"
267                }
268              }
269            },
270            "value": {
271              "type": "ArrayExpression",
272              "elements": [],
273              "loc": {
274                "start": {
275                  "line": 22,
276                  "column": 24,
277                  "program": "Morph3d.ets"
278                },
279                "end": {
280                  "line": 22,
281                  "column": 26,
282                  "program": "Morph3d.ets"
283                }
284              }
285            },
286            "accessibility": "public",
287            "static": true,
288            "readonly": false,
289            "declare": false,
290            "optional": false,
291            "computed": false,
292            "typeAnnotation": {
293              "type": "ETSTypeReference",
294              "part": {
295                "type": "ETSTypeReferencePart",
296                "name": {
297                  "type": "Identifier",
298                  "name": "Array",
299                  "decorators": [],
300                  "loc": {
301                    "start": {
302                      "line": 1,
303                      "column": 1,
304                      "program": "Morph3d.ets"
305                    },
306                    "end": {
307                      "line": 1,
308                      "column": 3,
309                      "program": "Morph3d.ets"
310                    }
311                  }
312                },
313                "typeParams": {
314                  "type": "TSTypeParameterInstantiation",
315                  "params": [
316                    {
317                      "type": "ETSPrimitiveType",
318                      "loc": {
319                        "start": {
320                          "line": 1,
321                          "column": 3,
322                          "program": "Morph3d.ets"
323                        },
324                        "end": {
325                          "line": 1,
326                          "column": 3,
327                          "program": "Morph3d.ets"
328                        }
329                      }
330                    }
331                  ],
332                  "loc": {
333                    "start": {
334                      "line": 1,
335                      "column": 3,
336                      "program": "Morph3d.ets"
337                    },
338                    "end": {
339                      "line": 1,
340                      "column": 3,
341                      "program": "Morph3d.ets"
342                    }
343                  }
344                },
345                "loc": {
346                  "start": {
347                    "line": 1,
348                    "column": 1,
349                    "program": "Morph3d.ets"
350                  },
351                  "end": {
352                    "line": 1,
353                    "column": 3,
354                    "program": "Morph3d.ets"
355                  }
356                }
357              },
358              "loc": {
359                "start": {
360                  "line": 22,
361                  "column": 19,
362                  "program": "Morph3d.ets"
363                },
364                "end": {
365                  "line": 22,
366                  "column": 21,
367                  "program": "Morph3d.ets"
368                }
369              }
370            },
371            "definite": false,
372            "decorators": [],
373            "loc": {
374              "start": {
375                "line": 22,
376                "column": 10,
377                "program": "Morph3d.ets"
378              },
379              "end": {
380                "line": 22,
381                "column": 26,
382                "program": "Morph3d.ets"
383              }
384            }
385          },
386          {
387            "type": "MethodDefinition",
388            "key": {
389              "type": "Identifier",
390              "name": "setup",
391              "decorators": [],
392              "loc": {
393                "start": {
394                  "line": 24,
395                  "column": 10,
396                  "program": "Morph3d.ets"
397                },
398                "end": {
399                  "line": 24,
400                  "column": 15,
401                  "program": "Morph3d.ets"
402                }
403              }
404            },
405            "kind": "method",
406            "accessibility": "public",
407            "static": false,
408            "optional": false,
409            "computed": false,
410            "value": {
411              "type": "FunctionExpression",
412              "function": {
413                "type": "ScriptFunction",
414                "id": {
415                  "type": "Identifier",
416                  "name": "setup",
417                  "decorators": [],
418                  "loc": {
419                    "start": {
420                      "line": 24,
421                      "column": 10,
422                      "program": "Morph3d.ets"
423                    },
424                    "end": {
425                      "line": 24,
426                      "column": 15,
427                      "program": "Morph3d.ets"
428                    }
429                  }
430                },
431                "generator": false,
432                "async": false,
433                "expression": false,
434                "params": [],
435                "returnType": {
436                  "type": "ETSPrimitiveType",
437                  "loc": {
438                    "start": {
439                      "line": 24,
440                      "column": 19,
441                      "program": "Morph3d.ets"
442                    },
443                    "end": {
444                      "line": 24,
445                      "column": 23,
446                      "program": "Morph3d.ets"
447                    }
448                  }
449                },
450                "body": {
451                  "type": "BlockStatement",
452                  "statements": [
453                    {
454                      "type": "ExpressionStatement",
455                      "expression": {
456                        "type": "AssignmentExpression",
457                        "operator": "=",
458                        "left": {
459                          "type": "MemberExpression",
460                          "object": {
461                            "type": "Identifier",
462                            "name": "Morph3d",
463                            "decorators": [],
464                            "loc": {
465                              "start": {
466                                "line": 26,
467                                "column": 5,
468                                "program": "Morph3d.ets"
469                              },
470                              "end": {
471                                "line": 26,
472                                "column": 12,
473                                "program": "Morph3d.ets"
474                              }
475                            }
476                          },
477                          "property": {
478                            "type": "Identifier",
479                            "name": "a",
480                            "decorators": [],
481                            "loc": {
482                              "start": {
483                                "line": 26,
484                                "column": 13,
485                                "program": "Morph3d.ets"
486                              },
487                              "end": {
488                                "line": 26,
489                                "column": 14,
490                                "program": "Morph3d.ets"
491                              }
492                            }
493                          },
494                          "computed": false,
495                          "optional": false,
496                          "loc": {
497                            "start": {
498                              "line": 26,
499                              "column": 5,
500                              "program": "Morph3d.ets"
501                            },
502                            "end": {
503                              "line": 26,
504                              "column": 14,
505                              "program": "Morph3d.ets"
506                            }
507                          }
508                        },
509                        "right": {
510                          "type": "ETSNewArrayInstanceExpression",
511                          "typeReference": {
512                            "type": "ETSPrimitiveType",
513                            "loc": {
514                              "start": {
515                                "line": 26,
516                                "column": 21,
517                                "program": "Morph3d.ets"
518                              },
519                              "end": {
520                                "line": 26,
521                                "column": 27,
522                                "program": "Morph3d.ets"
523                              }
524                            }
525                          },
526                          "dimension": {
527                            "type": "BinaryExpression",
528                            "operator": "*",
529                            "left": {
530                              "type": "BinaryExpression",
531                              "operator": "*",
532                              "left": {
533                                "type": "MemberExpression",
534                                "object": {
535                                  "type": "Identifier",
536                                  "name": "Morph3d",
537                                  "decorators": [],
538                                  "loc": {
539                                    "start": {
540                                      "line": 26,
541                                      "column": 28,
542                                      "program": "Morph3d.ets"
543                                    },
544                                    "end": {
545                                      "line": 26,
546                                      "column": 35,
547                                      "program": "Morph3d.ets"
548                                    }
549                                  }
550                                },
551                                "property": {
552                                  "type": "Identifier",
553                                  "name": "param",
554                                  "decorators": [],
555                                  "loc": {
556                                    "start": {
557                                      "line": 26,
558                                      "column": 36,
559                                      "program": "Morph3d.ets"
560                                    },
561                                    "end": {
562                                      "line": 26,
563                                      "column": 41,
564                                      "program": "Morph3d.ets"
565                                    }
566                                  }
567                                },
568                                "computed": false,
569                                "optional": false,
570                                "loc": {
571                                  "start": {
572                                    "line": 26,
573                                    "column": 28,
574                                    "program": "Morph3d.ets"
575                                  },
576                                  "end": {
577                                    "line": 26,
578                                    "column": 41,
579                                    "program": "Morph3d.ets"
580                                  }
581                                }
582                              },
583                              "right": {
584                                "type": "MemberExpression",
585                                "object": {
586                                  "type": "Identifier",
587                                  "name": "Morph3d",
588                                  "decorators": [],
589                                  "loc": {
590                                    "start": {
591                                      "line": 26,
592                                      "column": 44,
593                                      "program": "Morph3d.ets"
594                                    },
595                                    "end": {
596                                      "line": 26,
597                                      "column": 51,
598                                      "program": "Morph3d.ets"
599                                    }
600                                  }
601                                },
602                                "property": {
603                                  "type": "Identifier",
604                                  "name": "param",
605                                  "decorators": [],
606                                  "loc": {
607                                    "start": {
608                                      "line": 26,
609                                      "column": 52,
610                                      "program": "Morph3d.ets"
611                                    },
612                                    "end": {
613                                      "line": 26,
614                                      "column": 57,
615                                      "program": "Morph3d.ets"
616                                    }
617                                  }
618                                },
619                                "computed": false,
620                                "optional": false,
621                                "loc": {
622                                  "start": {
623                                    "line": 26,
624                                    "column": 44,
625                                    "program": "Morph3d.ets"
626                                  },
627                                  "end": {
628                                    "line": 26,
629                                    "column": 57,
630                                    "program": "Morph3d.ets"
631                                  }
632                                }
633                              },
634                              "loc": {
635                                "start": {
636                                  "line": 26,
637                                  "column": 28,
638                                  "program": "Morph3d.ets"
639                                },
640                                "end": {
641                                  "line": 26,
642                                  "column": 57,
643                                  "program": "Morph3d.ets"
644                                }
645                              }
646                            },
647                            "right": {
648                              "type": "NumberLiteral",
649                              "value": 3,
650                              "loc": {
651                                "start": {
652                                  "line": 26,
653                                  "column": 60,
654                                  "program": "Morph3d.ets"
655                                },
656                                "end": {
657                                  "line": 26,
658                                  "column": 61,
659                                  "program": "Morph3d.ets"
660                                }
661                              }
662                            },
663                            "loc": {
664                              "start": {
665                                "line": 26,
666                                "column": 28,
667                                "program": "Morph3d.ets"
668                              },
669                              "end": {
670                                "line": 26,
671                                "column": 61,
672                                "program": "Morph3d.ets"
673                              }
674                            }
675                          },
676                          "loc": {
677                            "start": {
678                              "line": 26,
679                              "column": 17,
680                              "program": "Morph3d.ets"
681                            },
682                            "end": {
683                              "line": 26,
684                              "column": 62,
685                              "program": "Morph3d.ets"
686                            }
687                          }
688                        },
689                        "loc": {
690                          "start": {
691                            "line": 26,
692                            "column": 5,
693                            "program": "Morph3d.ets"
694                          },
695                          "end": {
696                            "line": 26,
697                            "column": 62,
698                            "program": "Morph3d.ets"
699                          }
700                        }
701                      },
702                      "loc": {
703                        "start": {
704                          "line": 26,
705                          "column": 5,
706                          "program": "Morph3d.ets"
707                        },
708                        "end": {
709                          "line": 26,
710                          "column": 63,
711                          "program": "Morph3d.ets"
712                        }
713                      }
714                    },
715                    {
716                      "type": "ForUpdateStatement",
717                      "init": {
718                        "type": "VariableDeclaration",
719                        "declarations": [
720                          {
721                            "type": "VariableDeclarator",
722                            "id": {
723                              "type": "Identifier",
724                              "name": "i",
725                              "typeAnnotation": {
726                                "type": "ETSPrimitiveType",
727                                "loc": {
728                                  "start": {
729                                    "line": 27,
730                                    "column": 17,
731                                    "program": "Morph3d.ets"
732                                  },
733                                  "end": {
734                                    "line": 27,
735                                    "column": 20,
736                                    "program": "Morph3d.ets"
737                                  }
738                                }
739                              },
740                              "decorators": [],
741                              "loc": {
742                                "start": {
743                                  "line": 27,
744                                  "column": 14,
745                                  "program": "Morph3d.ets"
746                                },
747                                "end": {
748                                  "line": 27,
749                                  "column": 15,
750                                  "program": "Morph3d.ets"
751                                }
752                              }
753                            },
754                            "init": {
755                              "type": "NumberLiteral",
756                              "value": 0,
757                              "loc": {
758                                "start": {
759                                  "line": 27,
760                                  "column": 23,
761                                  "program": "Morph3d.ets"
762                                },
763                                "end": {
764                                  "line": 27,
765                                  "column": 24,
766                                  "program": "Morph3d.ets"
767                                }
768                              }
769                            },
770                            "loc": {
771                              "start": {
772                                "line": 27,
773                                "column": 14,
774                                "program": "Morph3d.ets"
775                              },
776                              "end": {
777                                "line": 27,
778                                "column": 24,
779                                "program": "Morph3d.ets"
780                              }
781                            }
782                          }
783                        ],
784                        "kind": "let",
785                        "loc": {
786                          "start": {
787                            "line": 27,
788                            "column": 10,
789                            "program": "Morph3d.ets"
790                          },
791                          "end": {
792                            "line": 27,
793                            "column": 24,
794                            "program": "Morph3d.ets"
795                          }
796                        }
797                      },
798                      "test": {
799                        "type": "BinaryExpression",
800                        "operator": "<",
801                        "left": {
802                          "type": "Identifier",
803                          "name": "i",
804                          "decorators": [],
805                          "loc": {
806                            "start": {
807                              "line": 27,
808                              "column": 26,
809                              "program": "Morph3d.ets"
810                            },
811                            "end": {
812                              "line": 27,
813                              "column": 27,
814                              "program": "Morph3d.ets"
815                            }
816                          }
817                        },
818                        "right": {
819                          "type": "BinaryExpression",
820                          "operator": "*",
821                          "left": {
822                            "type": "BinaryExpression",
823                            "operator": "*",
824                            "left": {
825                              "type": "MemberExpression",
826                              "object": {
827                                "type": "Identifier",
828                                "name": "Morph3d",
829                                "decorators": [],
830                                "loc": {
831                                  "start": {
832                                    "line": 27,
833                                    "column": 30,
834                                    "program": "Morph3d.ets"
835                                  },
836                                  "end": {
837                                    "line": 27,
838                                    "column": 37,
839                                    "program": "Morph3d.ets"
840                                  }
841                                }
842                              },
843                              "property": {
844                                "type": "Identifier",
845                                "name": "param",
846                                "decorators": [],
847                                "loc": {
848                                  "start": {
849                                    "line": 27,
850                                    "column": 38,
851                                    "program": "Morph3d.ets"
852                                  },
853                                  "end": {
854                                    "line": 27,
855                                    "column": 43,
856                                    "program": "Morph3d.ets"
857                                  }
858                                }
859                              },
860                              "computed": false,
861                              "optional": false,
862                              "loc": {
863                                "start": {
864                                  "line": 27,
865                                  "column": 30,
866                                  "program": "Morph3d.ets"
867                                },
868                                "end": {
869                                  "line": 27,
870                                  "column": 43,
871                                  "program": "Morph3d.ets"
872                                }
873                              }
874                            },
875                            "right": {
876                              "type": "MemberExpression",
877                              "object": {
878                                "type": "Identifier",
879                                "name": "Morph3d",
880                                "decorators": [],
881                                "loc": {
882                                  "start": {
883                                    "line": 27,
884                                    "column": 46,
885                                    "program": "Morph3d.ets"
886                                  },
887                                  "end": {
888                                    "line": 27,
889                                    "column": 53,
890                                    "program": "Morph3d.ets"
891                                  }
892                                }
893                              },
894                              "property": {
895                                "type": "Identifier",
896                                "name": "param",
897                                "decorators": [],
898                                "loc": {
899                                  "start": {
900                                    "line": 27,
901                                    "column": 54,
902                                    "program": "Morph3d.ets"
903                                  },
904                                  "end": {
905                                    "line": 27,
906                                    "column": 59,
907                                    "program": "Morph3d.ets"
908                                  }
909                                }
910                              },
911                              "computed": false,
912                              "optional": false,
913                              "loc": {
914                                "start": {
915                                  "line": 27,
916                                  "column": 46,
917                                  "program": "Morph3d.ets"
918                                },
919                                "end": {
920                                  "line": 27,
921                                  "column": 59,
922                                  "program": "Morph3d.ets"
923                                }
924                              }
925                            },
926                            "loc": {
927                              "start": {
928                                "line": 27,
929                                "column": 30,
930                                "program": "Morph3d.ets"
931                              },
932                              "end": {
933                                "line": 27,
934                                "column": 59,
935                                "program": "Morph3d.ets"
936                              }
937                            }
938                          },
939                          "right": {
940                            "type": "NumberLiteral",
941                            "value": 3,
942                            "loc": {
943                              "start": {
944                                "line": 27,
945                                "column": 62,
946                                "program": "Morph3d.ets"
947                              },
948                              "end": {
949                                "line": 27,
950                                "column": 63,
951                                "program": "Morph3d.ets"
952                              }
953                            }
954                          },
955                          "loc": {
956                            "start": {
957                              "line": 27,
958                              "column": 30,
959                              "program": "Morph3d.ets"
960                            },
961                            "end": {
962                              "line": 27,
963                              "column": 63,
964                              "program": "Morph3d.ets"
965                            }
966                          }
967                        },
968                        "loc": {
969                          "start": {
970                            "line": 27,
971                            "column": 26,
972                            "program": "Morph3d.ets"
973                          },
974                          "end": {
975                            "line": 27,
976                            "column": 63,
977                            "program": "Morph3d.ets"
978                          }
979                        }
980                      },
981                      "update": {
982                        "type": "UpdateExpression",
983                        "operator": "++",
984                        "prefix": false,
985                        "argument": {
986                          "type": "Identifier",
987                          "name": "i",
988                          "decorators": [],
989                          "loc": {
990                            "start": {
991                              "line": 27,
992                              "column": 65,
993                              "program": "Morph3d.ets"
994                            },
995                            "end": {
996                              "line": 27,
997                              "column": 66,
998                              "program": "Morph3d.ets"
999                            }
1000                          }
1001                        },
1002                        "loc": {
1003                          "start": {
1004                            "line": 27,
1005                            "column": 65,
1006                            "program": "Morph3d.ets"
1007                          },
1008                          "end": {
1009                            "line": 27,
1010                            "column": 68,
1011                            "program": "Morph3d.ets"
1012                          }
1013                        }
1014                      },
1015                      "body": {
1016                        "type": "BlockStatement",
1017                        "statements": [
1018                          {
1019                            "type": "ExpressionStatement",
1020                            "expression": {
1021                              "type": "AssignmentExpression",
1022                              "operator": "=",
1023                              "left": {
1024                                "type": "MemberExpression",
1025                                "object": {
1026                                  "type": "MemberExpression",
1027                                  "object": {
1028                                    "type": "Identifier",
1029                                    "name": "Morph3d",
1030                                    "decorators": [],
1031                                    "loc": {
1032                                      "start": {
1033                                        "line": 28,
1034                                        "column": 7,
1035                                        "program": "Morph3d.ets"
1036                                      },
1037                                      "end": {
1038                                        "line": 28,
1039                                        "column": 14,
1040                                        "program": "Morph3d.ets"
1041                                      }
1042                                    }
1043                                  },
1044                                  "property": {
1045                                    "type": "Identifier",
1046                                    "name": "a",
1047                                    "decorators": [],
1048                                    "loc": {
1049                                      "start": {
1050                                        "line": 28,
1051                                        "column": 15,
1052                                        "program": "Morph3d.ets"
1053                                      },
1054                                      "end": {
1055                                        "line": 28,
1056                                        "column": 16,
1057                                        "program": "Morph3d.ets"
1058                                      }
1059                                    }
1060                                  },
1061                                  "computed": false,
1062                                  "optional": false,
1063                                  "loc": {
1064                                    "start": {
1065                                      "line": 28,
1066                                      "column": 7,
1067                                      "program": "Morph3d.ets"
1068                                    },
1069                                    "end": {
1070                                      "line": 28,
1071                                      "column": 16,
1072                                      "program": "Morph3d.ets"
1073                                    }
1074                                  }
1075                                },
1076                                "property": {
1077                                  "type": "Identifier",
1078                                  "name": "i",
1079                                  "decorators": [],
1080                                  "loc": {
1081                                    "start": {
1082                                      "line": 28,
1083                                      "column": 17,
1084                                      "program": "Morph3d.ets"
1085                                    },
1086                                    "end": {
1087                                      "line": 28,
1088                                      "column": 18,
1089                                      "program": "Morph3d.ets"
1090                                    }
1091                                  }
1092                                },
1093                                "computed": true,
1094                                "optional": false,
1095                                "loc": {
1096                                  "start": {
1097                                    "line": 28,
1098                                    "column": 7,
1099                                    "program": "Morph3d.ets"
1100                                  },
1101                                  "end": {
1102                                    "line": 28,
1103                                    "column": 19,
1104                                    "program": "Morph3d.ets"
1105                                  }
1106                                }
1107                              },
1108                              "right": {
1109                                "type": "NumberLiteral",
1110                                "value": 0,
1111                                "loc": {
1112                                  "start": {
1113                                    "line": 28,
1114                                    "column": 22,
1115                                    "program": "Morph3d.ets"
1116                                  },
1117                                  "end": {
1118                                    "line": 28,
1119                                    "column": 23,
1120                                    "program": "Morph3d.ets"
1121                                  }
1122                                }
1123                              },
1124                              "loc": {
1125                                "start": {
1126                                  "line": 28,
1127                                  "column": 7,
1128                                  "program": "Morph3d.ets"
1129                                },
1130                                "end": {
1131                                  "line": 28,
1132                                  "column": 23,
1133                                  "program": "Morph3d.ets"
1134                                }
1135                              }
1136                            },
1137                            "loc": {
1138                              "start": {
1139                                "line": 28,
1140                                "column": 7,
1141                                "program": "Morph3d.ets"
1142                              },
1143                              "end": {
1144                                "line": 28,
1145                                "column": 24,
1146                                "program": "Morph3d.ets"
1147                              }
1148                            }
1149                          }
1150                        ],
1151                        "loc": {
1152                          "start": {
1153                            "line": 27,
1154                            "column": 70,
1155                            "program": "Morph3d.ets"
1156                          },
1157                          "end": {
1158                            "line": 29,
1159                            "column": 6,
1160                            "program": "Morph3d.ets"
1161                          }
1162                        }
1163                      },
1164                      "loc": {
1165                        "start": {
1166                          "line": 27,
1167                          "column": 5,
1168                          "program": "Morph3d.ets"
1169                        },
1170                        "end": {
1171                          "line": 29,
1172                          "column": 6,
1173                          "program": "Morph3d.ets"
1174                        }
1175                      }
1176                    }
1177                  ],
1178                  "loc": {
1179                    "start": {
1180                      "line": 24,
1181                      "column": 24,
1182                      "program": "Morph3d.ets"
1183                    },
1184                    "end": {
1185                      "line": 30,
1186                      "column": 4,
1187                      "program": "Morph3d.ets"
1188                    }
1189                  }
1190                },
1191                "loc": {
1192                  "start": {
1193                    "line": 24,
1194                    "column": 15,
1195                    "program": "Morph3d.ets"
1196                  },
1197                  "end": {
1198                    "line": 30,
1199                    "column": 4,
1200                    "program": "Morph3d.ets"
1201                  }
1202                }
1203              },
1204              "loc": {
1205                "start": {
1206                  "line": 24,
1207                  "column": 15,
1208                  "program": "Morph3d.ets"
1209                },
1210                "end": {
1211                  "line": 30,
1212                  "column": 4,
1213                  "program": "Morph3d.ets"
1214                }
1215              }
1216            },
1217            "overloads": [],
1218            "decorators": [],
1219            "loc": {
1220              "start": {
1221                "line": 24,
1222                "column": 3,
1223                "program": "Morph3d.ets"
1224              },
1225              "end": {
1226                "line": 30,
1227                "column": 4,
1228                "program": "Morph3d.ets"
1229              }
1230            }
1231          },
1232          {
1233            "type": "MethodDefinition",
1234            "key": {
1235              "type": "Identifier",
1236              "name": "morph",
1237              "decorators": [],
1238              "loc": {
1239                "start": {
1240                  "line": 32,
1241                  "column": 11,
1242                  "program": "Morph3d.ets"
1243                },
1244                "end": {
1245                  "line": 32,
1246                  "column": 16,
1247                  "program": "Morph3d.ets"
1248                }
1249              }
1250            },
1251            "kind": "method",
1252            "accessibility": "private",
1253            "static": false,
1254            "optional": false,
1255            "computed": false,
1256            "value": {
1257              "type": "FunctionExpression",
1258              "function": {
1259                "type": "ScriptFunction",
1260                "id": {
1261                  "type": "Identifier",
1262                  "name": "morph",
1263                  "decorators": [],
1264                  "loc": {
1265                    "start": {
1266                      "line": 32,
1267                      "column": 11,
1268                      "program": "Morph3d.ets"
1269                    },
1270                    "end": {
1271                      "line": 32,
1272                      "column": 16,
1273                      "program": "Morph3d.ets"
1274                    }
1275                  }
1276                },
1277                "generator": false,
1278                "async": false,
1279                "expression": false,
1280                "params": [
1281                  {
1282                    "type": "ETSParameterExpression",
1283                    "name": {
1284                      "type": "Identifier",
1285                      "name": "f",
1286                      "typeAnnotation": {
1287                        "type": "ETSPrimitiveType",
1288                        "loc": {
1289                          "start": {
1290                            "line": 32,
1291                            "column": 20,
1292                            "program": "Morph3d.ets"
1293                          },
1294                          "end": {
1295                            "line": 32,
1296                            "column": 26,
1297                            "program": "Morph3d.ets"
1298                          }
1299                        }
1300                      },
1301                      "decorators": [],
1302                      "loc": {
1303                        "start": {
1304                          "line": 32,
1305                          "column": 17,
1306                          "program": "Morph3d.ets"
1307                        },
1308                        "end": {
1309                          "line": 32,
1310                          "column": 26,
1311                          "program": "Morph3d.ets"
1312                        }
1313                      }
1314                    },
1315                    "loc": {
1316                      "start": {
1317                        "line": 32,
1318                        "column": 17,
1319                        "program": "Morph3d.ets"
1320                      },
1321                      "end": {
1322                        "line": 32,
1323                        "column": 26,
1324                        "program": "Morph3d.ets"
1325                      }
1326                    }
1327                  }
1328                ],
1329                "returnType": {
1330                  "type": "ETSPrimitiveType",
1331                  "loc": {
1332                    "start": {
1333                      "line": 32,
1334                      "column": 29,
1335                      "program": "Morph3d.ets"
1336                    },
1337                    "end": {
1338                      "line": 32,
1339                      "column": 33,
1340                      "program": "Morph3d.ets"
1341                    }
1342                  }
1343                },
1344                "body": {
1345                  "type": "BlockStatement",
1346                  "statements": [
1347                    {
1348                      "type": "VariableDeclaration",
1349                      "declarations": [
1350                        {
1351                          "type": "VariableDeclarator",
1352                          "id": {
1353                            "type": "Identifier",
1354                            "name": "paramPI2",
1355                            "typeAnnotation": {
1356                              "type": "ETSPrimitiveType",
1357                              "loc": {
1358                                "start": {
1359                                  "line": 33,
1360                                  "column": 21,
1361                                  "program": "Morph3d.ets"
1362                                },
1363                                "end": {
1364                                  "line": 33,
1365                                  "column": 27,
1366                                  "program": "Morph3d.ets"
1367                                }
1368                              }
1369                            },
1370                            "decorators": [],
1371                            "loc": {
1372                              "start": {
1373                                "line": 33,
1374                                "column": 11,
1375                                "program": "Morph3d.ets"
1376                              },
1377                              "end": {
1378                                "line": 33,
1379                                "column": 19,
1380                                "program": "Morph3d.ets"
1381                              }
1382                            }
1383                          },
1384                          "init": {
1385                            "type": "BinaryExpression",
1386                            "operator": "/",
1387                            "left": {
1388                              "type": "BinaryExpression",
1389                              "operator": "*",
1390                              "left": {
1391                                "type": "Identifier",
1392                                "name": "PI",
1393                                "decorators": [],
1394                                "loc": {
1395                                  "start": {
1396                                    "line": 33,
1397                                    "column": 30,
1398                                    "program": "Morph3d.ets"
1399                                  },
1400                                  "end": {
1401                                    "line": 33,
1402                                    "column": 32,
1403                                    "program": "Morph3d.ets"
1404                                  }
1405                                }
1406                              },
1407                              "right": {
1408                                "type": "NumberLiteral",
1409                                "value": 8,
1410                                "loc": {
1411                                  "start": {
1412                                    "line": 33,
1413                                    "column": 35,
1414                                    "program": "Morph3d.ets"
1415                                  },
1416                                  "end": {
1417                                    "line": 33,
1418                                    "column": 36,
1419                                    "program": "Morph3d.ets"
1420                                  }
1421                                }
1422                              },
1423                              "loc": {
1424                                "start": {
1425                                  "line": 33,
1426                                  "column": 30,
1427                                  "program": "Morph3d.ets"
1428                                },
1429                                "end": {
1430                                  "line": 33,
1431                                  "column": 36,
1432                                  "program": "Morph3d.ets"
1433                                }
1434                              }
1435                            },
1436                            "right": {
1437                              "type": "MemberExpression",
1438                              "object": {
1439                                "type": "Identifier",
1440                                "name": "Morph3d",
1441                                "decorators": [],
1442                                "loc": {
1443                                  "start": {
1444                                    "line": 33,
1445                                    "column": 39,
1446                                    "program": "Morph3d.ets"
1447                                  },
1448                                  "end": {
1449                                    "line": 33,
1450                                    "column": 46,
1451                                    "program": "Morph3d.ets"
1452                                  }
1453                                }
1454                              },
1455                              "property": {
1456                                "type": "Identifier",
1457                                "name": "param",
1458                                "decorators": [],
1459                                "loc": {
1460                                  "start": {
1461                                    "line": 33,
1462                                    "column": 47,
1463                                    "program": "Morph3d.ets"
1464                                  },
1465                                  "end": {
1466                                    "line": 33,
1467                                    "column": 52,
1468                                    "program": "Morph3d.ets"
1469                                  }
1470                                }
1471                              },
1472                              "computed": false,
1473                              "optional": false,
1474                              "loc": {
1475                                "start": {
1476                                  "line": 33,
1477                                  "column": 39,
1478                                  "program": "Morph3d.ets"
1479                                },
1480                                "end": {
1481                                  "line": 33,
1482                                  "column": 52,
1483                                  "program": "Morph3d.ets"
1484                                }
1485                              }
1486                            },
1487                            "loc": {
1488                              "start": {
1489                                "line": 33,
1490                                "column": 30,
1491                                "program": "Morph3d.ets"
1492                              },
1493                              "end": {
1494                                "line": 33,
1495                                "column": 52,
1496                                "program": "Morph3d.ets"
1497                              }
1498                            }
1499                          },
1500                          "loc": {
1501                            "start": {
1502                              "line": 33,
1503                              "column": 11,
1504                              "program": "Morph3d.ets"
1505                            },
1506                            "end": {
1507                              "line": 33,
1508                              "column": 52,
1509                              "program": "Morph3d.ets"
1510                            }
1511                          }
1512                        }
1513                      ],
1514                      "kind": "const",
1515                      "loc": {
1516                        "start": {
1517                          "line": 33,
1518                          "column": 5,
1519                          "program": "Morph3d.ets"
1520                        },
1521                        "end": {
1522                          "line": 33,
1523                          "column": 53,
1524                          "program": "Morph3d.ets"
1525                        }
1526                      }
1527                    },
1528                    {
1529                      "type": "VariableDeclaration",
1530                      "declarations": [
1531                        {
1532                          "type": "VariableDeclarator",
1533                          "id": {
1534                            "type": "Identifier",
1535                            "name": "f30",
1536                            "typeAnnotation": {
1537                              "type": "ETSPrimitiveType",
1538                              "loc": {
1539                                "start": {
1540                                  "line": 34,
1541                                  "column": 16,
1542                                  "program": "Morph3d.ets"
1543                                },
1544                                "end": {
1545                                  "line": 34,
1546                                  "column": 22,
1547                                  "program": "Morph3d.ets"
1548                                }
1549                              }
1550                            },
1551                            "decorators": [],
1552                            "loc": {
1553                              "start": {
1554                                "line": 34,
1555                                "column": 11,
1556                                "program": "Morph3d.ets"
1557                              },
1558                              "end": {
1559                                "line": 34,
1560                                "column": 14,
1561                                "program": "Morph3d.ets"
1562                              }
1563                            }
1564                          },
1565                          "init": {
1566                            "type": "UnaryExpression",
1567                            "operator": "-",
1568                            "prefix": true,
1569                            "argument": {
1570                              "type": "BinaryExpression",
1571                              "operator": "*",
1572                              "left": {
1573                                "type": "NumberLiteral",
1574                                "value": 50,
1575                                "loc": {
1576                                  "start": {
1577                                    "line": 34,
1578                                    "column": 27,
1579                                    "program": "Morph3d.ets"
1580                                  },
1581                                  "end": {
1582                                    "line": 34,
1583                                    "column": 29,
1584                                    "program": "Morph3d.ets"
1585                                  }
1586                                }
1587                              },
1588                              "right": {
1589                                "type": "CallExpression",
1590                                "callee": {
1591                                  "type": "Identifier",
1592                                  "name": "sin",
1593                                  "decorators": [],
1594                                  "loc": {
1595                                    "start": {
1596                                      "line": 34,
1597                                      "column": 32,
1598                                      "program": "Morph3d.ets"
1599                                    },
1600                                    "end": {
1601                                      "line": 34,
1602                                      "column": 35,
1603                                      "program": "Morph3d.ets"
1604                                    }
1605                                  }
1606                                },
1607                                "arguments": [
1608                                  {
1609                                    "type": "BinaryExpression",
1610                                    "operator": "*",
1611                                    "left": {
1612                                      "type": "BinaryExpression",
1613                                      "operator": "*",
1614                                      "left": {
1615                                        "type": "Identifier",
1616                                        "name": "f",
1617                                        "decorators": [],
1618                                        "loc": {
1619                                          "start": {
1620                                            "line": 34,
1621                                            "column": 36,
1622                                            "program": "Morph3d.ets"
1623                                          },
1624                                          "end": {
1625                                            "line": 34,
1626                                            "column": 37,
1627                                            "program": "Morph3d.ets"
1628                                          }
1629                                        }
1630                                      },
1631                                      "right": {
1632                                        "type": "Identifier",
1633                                        "name": "PI",
1634                                        "decorators": [],
1635                                        "loc": {
1636                                          "start": {
1637                                            "line": 34,
1638                                            "column": 40,
1639                                            "program": "Morph3d.ets"
1640                                          },
1641                                          "end": {
1642                                            "line": 34,
1643                                            "column": 42,
1644                                            "program": "Morph3d.ets"
1645                                          }
1646                                        }
1647                                      },
1648                                      "loc": {
1649                                        "start": {
1650                                          "line": 34,
1651                                          "column": 36,
1652                                          "program": "Morph3d.ets"
1653                                        },
1654                                        "end": {
1655                                          "line": 34,
1656                                          "column": 42,
1657                                          "program": "Morph3d.ets"
1658                                        }
1659                                      }
1660                                    },
1661                                    "right": {
1662                                      "type": "NumberLiteral",
1663                                      "value": 2,
1664                                      "loc": {
1665                                        "start": {
1666                                          "line": 34,
1667                                          "column": 45,
1668                                          "program": "Morph3d.ets"
1669                                        },
1670                                        "end": {
1671                                          "line": 34,
1672                                          "column": 46,
1673                                          "program": "Morph3d.ets"
1674                                        }
1675                                      }
1676                                    },
1677                                    "loc": {
1678                                      "start": {
1679                                        "line": 34,
1680                                        "column": 36,
1681                                        "program": "Morph3d.ets"
1682                                      },
1683                                      "end": {
1684                                        "line": 34,
1685                                        "column": 46,
1686                                        "program": "Morph3d.ets"
1687                                      }
1688                                    }
1689                                  }
1690                                ],
1691                                "optional": false,
1692                                "loc": {
1693                                  "start": {
1694                                    "line": 34,
1695                                    "column": 32,
1696                                    "program": "Morph3d.ets"
1697                                  },
1698                                  "end": {
1699                                    "line": 34,
1700                                    "column": 47,
1701                                    "program": "Morph3d.ets"
1702                                  }
1703                                }
1704                              },
1705                              "loc": {
1706                                "start": {
1707                                  "line": 34,
1708                                  "column": 26,
1709                                  "program": "Morph3d.ets"
1710                                },
1711                                "end": {
1712                                  "line": 34,
1713                                  "column": 48,
1714                                  "program": "Morph3d.ets"
1715                                }
1716                              }
1717                            },
1718                            "loc": {
1719                              "start": {
1720                                "line": 34,
1721                                "column": 25,
1722                                "program": "Morph3d.ets"
1723                              },
1724                              "end": {
1725                                "line": 34,
1726                                "column": 48,
1727                                "program": "Morph3d.ets"
1728                              }
1729                            }
1730                          },
1731                          "loc": {
1732                            "start": {
1733                              "line": 34,
1734                              "column": 11,
1735                              "program": "Morph3d.ets"
1736                            },
1737                            "end": {
1738                              "line": 34,
1739                              "column": 48,
1740                              "program": "Morph3d.ets"
1741                            }
1742                          }
1743                        }
1744                      ],
1745                      "kind": "const",
1746                      "loc": {
1747                        "start": {
1748                          "line": 34,
1749                          "column": 5,
1750                          "program": "Morph3d.ets"
1751                        },
1752                        "end": {
1753                          "line": 34,
1754                          "column": 49,
1755                          "program": "Morph3d.ets"
1756                        }
1757                      }
1758                    },
1759                    {
1760                      "type": "ForUpdateStatement",
1761                      "init": {
1762                        "type": "VariableDeclaration",
1763                        "declarations": [
1764                          {
1765                            "type": "VariableDeclarator",
1766                            "id": {
1767                              "type": "Identifier",
1768                              "name": "i",
1769                              "typeAnnotation": {
1770                                "type": "ETSPrimitiveType",
1771                                "loc": {
1772                                  "start": {
1773                                    "line": 36,
1774                                    "column": 17,
1775                                    "program": "Morph3d.ets"
1776                                  },
1777                                  "end": {
1778                                    "line": 36,
1779                                    "column": 20,
1780                                    "program": "Morph3d.ets"
1781                                  }
1782                                }
1783                              },
1784                              "decorators": [],
1785                              "loc": {
1786                                "start": {
1787                                  "line": 36,
1788                                  "column": 14,
1789                                  "program": "Morph3d.ets"
1790                                },
1791                                "end": {
1792                                  "line": 36,
1793                                  "column": 15,
1794                                  "program": "Morph3d.ets"
1795                                }
1796                              }
1797                            },
1798                            "init": {
1799                              "type": "NumberLiteral",
1800                              "value": 0,
1801                              "loc": {
1802                                "start": {
1803                                  "line": 36,
1804                                  "column": 24,
1805                                  "program": "Morph3d.ets"
1806                                },
1807                                "end": {
1808                                  "line": 36,
1809                                  "column": 25,
1810                                  "program": "Morph3d.ets"
1811                                }
1812                              }
1813                            },
1814                            "loc": {
1815                              "start": {
1816                                "line": 36,
1817                                "column": 14,
1818                                "program": "Morph3d.ets"
1819                              },
1820                              "end": {
1821                                "line": 36,
1822                                "column": 25,
1823                                "program": "Morph3d.ets"
1824                              }
1825                            }
1826                          }
1827                        ],
1828                        "kind": "let",
1829                        "loc": {
1830                          "start": {
1831                            "line": 36,
1832                            "column": 10,
1833                            "program": "Morph3d.ets"
1834                          },
1835                          "end": {
1836                            "line": 36,
1837                            "column": 25,
1838                            "program": "Morph3d.ets"
1839                          }
1840                        }
1841                      },
1842                      "test": {
1843                        "type": "BinaryExpression",
1844                        "operator": "<",
1845                        "left": {
1846                          "type": "Identifier",
1847                          "name": "i",
1848                          "decorators": [],
1849                          "loc": {
1850                            "start": {
1851                              "line": 36,
1852                              "column": 27,
1853                              "program": "Morph3d.ets"
1854                            },
1855                            "end": {
1856                              "line": 36,
1857                              "column": 28,
1858                              "program": "Morph3d.ets"
1859                            }
1860                          }
1861                        },
1862                        "right": {
1863                          "type": "MemberExpression",
1864                          "object": {
1865                            "type": "Identifier",
1866                            "name": "Morph3d",
1867                            "decorators": [],
1868                            "loc": {
1869                              "start": {
1870                                "line": 36,
1871                                "column": 31,
1872                                "program": "Morph3d.ets"
1873                              },
1874                              "end": {
1875                                "line": 36,
1876                                "column": 38,
1877                                "program": "Morph3d.ets"
1878                              }
1879                            }
1880                          },
1881                          "property": {
1882                            "type": "Identifier",
1883                            "name": "param",
1884                            "decorators": [],
1885                            "loc": {
1886                              "start": {
1887                                "line": 36,
1888                                "column": 39,
1889                                "program": "Morph3d.ets"
1890                              },
1891                              "end": {
1892                                "line": 36,
1893                                "column": 44,
1894                                "program": "Morph3d.ets"
1895                              }
1896                            }
1897                          },
1898                          "computed": false,
1899                          "optional": false,
1900                          "loc": {
1901                            "start": {
1902                              "line": 36,
1903                              "column": 31,
1904                              "program": "Morph3d.ets"
1905                            },
1906                            "end": {
1907                              "line": 36,
1908                              "column": 44,
1909                              "program": "Morph3d.ets"
1910                            }
1911                          }
1912                        },
1913                        "loc": {
1914                          "start": {
1915                            "line": 36,
1916                            "column": 27,
1917                            "program": "Morph3d.ets"
1918                          },
1919                          "end": {
1920                            "line": 36,
1921                            "column": 44,
1922                            "program": "Morph3d.ets"
1923                          }
1924                        }
1925                      },
1926                      "update": {
1927                        "type": "UpdateExpression",
1928                        "operator": "++",
1929                        "prefix": true,
1930                        "argument": {
1931                          "type": "Identifier",
1932                          "name": "i",
1933                          "decorators": [],
1934                          "loc": {
1935                            "start": {
1936                              "line": 36,
1937                              "column": 48,
1938                              "program": "Morph3d.ets"
1939                            },
1940                            "end": {
1941                              "line": 36,
1942                              "column": 49,
1943                              "program": "Morph3d.ets"
1944                            }
1945                          }
1946                        },
1947                        "loc": {
1948                          "start": {
1949                            "line": 36,
1950                            "column": 46,
1951                            "program": "Morph3d.ets"
1952                          },
1953                          "end": {
1954                            "line": 36,
1955                            "column": 49,
1956                            "program": "Morph3d.ets"
1957                          }
1958                        }
1959                      },
1960                      "body": {
1961                        "type": "BlockStatement",
1962                        "statements": [
1963                          {
1964                            "type": "ForUpdateStatement",
1965                            "init": {
1966                              "type": "VariableDeclaration",
1967                              "declarations": [
1968                                {
1969                                  "type": "VariableDeclarator",
1970                                  "id": {
1971                                    "type": "Identifier",
1972                                    "name": "j",
1973                                    "typeAnnotation": {
1974                                      "type": "ETSPrimitiveType",
1975                                      "loc": {
1976                                        "start": {
1977                                          "line": 37,
1978                                          "column": 19,
1979                                          "program": "Morph3d.ets"
1980                                        },
1981                                        "end": {
1982                                          "line": 37,
1983                                          "column": 22,
1984                                          "program": "Morph3d.ets"
1985                                        }
1986                                      }
1987                                    },
1988                                    "decorators": [],
1989                                    "loc": {
1990                                      "start": {
1991                                        "line": 37,
1992                                        "column": 16,
1993                                        "program": "Morph3d.ets"
1994                                      },
1995                                      "end": {
1996                                        "line": 37,
1997                                        "column": 17,
1998                                        "program": "Morph3d.ets"
1999                                      }
2000                                    }
2001                                  },
2002                                  "init": {
2003                                    "type": "NumberLiteral",
2004                                    "value": 0,
2005                                    "loc": {
2006                                      "start": {
2007                                        "line": 37,
2008                                        "column": 25,
2009                                        "program": "Morph3d.ets"
2010                                      },
2011                                      "end": {
2012                                        "line": 37,
2013                                        "column": 26,
2014                                        "program": "Morph3d.ets"
2015                                      }
2016                                    }
2017                                  },
2018                                  "loc": {
2019                                    "start": {
2020                                      "line": 37,
2021                                      "column": 16,
2022                                      "program": "Morph3d.ets"
2023                                    },
2024                                    "end": {
2025                                      "line": 37,
2026                                      "column": 26,
2027                                      "program": "Morph3d.ets"
2028                                    }
2029                                  }
2030                                }
2031                              ],
2032                              "kind": "let",
2033                              "loc": {
2034                                "start": {
2035                                  "line": 37,
2036                                  "column": 12,
2037                                  "program": "Morph3d.ets"
2038                                },
2039                                "end": {
2040                                  "line": 37,
2041                                  "column": 26,
2042                                  "program": "Morph3d.ets"
2043                                }
2044                              }
2045                            },
2046                            "test": {
2047                              "type": "BinaryExpression",
2048                              "operator": "<",
2049                              "left": {
2050                                "type": "Identifier",
2051                                "name": "j",
2052                                "decorators": [],
2053                                "loc": {
2054                                  "start": {
2055                                    "line": 37,
2056                                    "column": 28,
2057                                    "program": "Morph3d.ets"
2058                                  },
2059                                  "end": {
2060                                    "line": 37,
2061                                    "column": 29,
2062                                    "program": "Morph3d.ets"
2063                                  }
2064                                }
2065                              },
2066                              "right": {
2067                                "type": "MemberExpression",
2068                                "object": {
2069                                  "type": "Identifier",
2070                                  "name": "Morph3d",
2071                                  "decorators": [],
2072                                  "loc": {
2073                                    "start": {
2074                                      "line": 37,
2075                                      "column": 32,
2076                                      "program": "Morph3d.ets"
2077                                    },
2078                                    "end": {
2079                                      "line": 37,
2080                                      "column": 39,
2081                                      "program": "Morph3d.ets"
2082                                    }
2083                                  }
2084                                },
2085                                "property": {
2086                                  "type": "Identifier",
2087                                  "name": "param",
2088                                  "decorators": [],
2089                                  "loc": {
2090                                    "start": {
2091                                      "line": 37,
2092                                      "column": 40,
2093                                      "program": "Morph3d.ets"
2094                                    },
2095                                    "end": {
2096                                      "line": 37,
2097                                      "column": 45,
2098                                      "program": "Morph3d.ets"
2099                                    }
2100                                  }
2101                                },
2102                                "computed": false,
2103                                "optional": false,
2104                                "loc": {
2105                                  "start": {
2106                                    "line": 37,
2107                                    "column": 32,
2108                                    "program": "Morph3d.ets"
2109                                  },
2110                                  "end": {
2111                                    "line": 37,
2112                                    "column": 45,
2113                                    "program": "Morph3d.ets"
2114                                  }
2115                                }
2116                              },
2117                              "loc": {
2118                                "start": {
2119                                  "line": 37,
2120                                  "column": 28,
2121                                  "program": "Morph3d.ets"
2122                                },
2123                                "end": {
2124                                  "line": 37,
2125                                  "column": 45,
2126                                  "program": "Morph3d.ets"
2127                                }
2128                              }
2129                            },
2130                            "update": {
2131                              "type": "UpdateExpression",
2132                              "operator": "++",
2133                              "prefix": true,
2134                              "argument": {
2135                                "type": "Identifier",
2136                                "name": "j",
2137                                "decorators": [],
2138                                "loc": {
2139                                  "start": {
2140                                    "line": 37,
2141                                    "column": 49,
2142                                    "program": "Morph3d.ets"
2143                                  },
2144                                  "end": {
2145                                    "line": 37,
2146                                    "column": 50,
2147                                    "program": "Morph3d.ets"
2148                                  }
2149                                }
2150                              },
2151                              "loc": {
2152                                "start": {
2153                                  "line": 37,
2154                                  "column": 47,
2155                                  "program": "Morph3d.ets"
2156                                },
2157                                "end": {
2158                                  "line": 37,
2159                                  "column": 50,
2160                                  "program": "Morph3d.ets"
2161                                }
2162                              }
2163                            },
2164                            "body": {
2165                              "type": "BlockStatement",
2166                              "statements": [
2167                                {
2168                                  "type": "ExpressionStatement",
2169                                  "expression": {
2170                                    "type": "AssignmentExpression",
2171                                    "operator": "=",
2172                                    "left": {
2173                                      "type": "MemberExpression",
2174                                      "object": {
2175                                        "type": "MemberExpression",
2176                                        "object": {
2177                                          "type": "Identifier",
2178                                          "name": "Morph3d",
2179                                          "decorators": [],
2180                                          "loc": {
2181                                            "start": {
2182                                              "line": 38,
2183                                              "column": 9,
2184                                              "program": "Morph3d.ets"
2185                                            },
2186                                            "end": {
2187                                              "line": 38,
2188                                              "column": 16,
2189                                              "program": "Morph3d.ets"
2190                                            }
2191                                          }
2192                                        },
2193                                        "property": {
2194                                          "type": "Identifier",
2195                                          "name": "a",
2196                                          "decorators": [],
2197                                          "loc": {
2198                                            "start": {
2199                                              "line": 38,
2200                                              "column": 17,
2201                                              "program": "Morph3d.ets"
2202                                            },
2203                                            "end": {
2204                                              "line": 38,
2205                                              "column": 18,
2206                                              "program": "Morph3d.ets"
2207                                            }
2208                                          }
2209                                        },
2210                                        "computed": false,
2211                                        "optional": false,
2212                                        "loc": {
2213                                          "start": {
2214                                            "line": 38,
2215                                            "column": 9,
2216                                            "program": "Morph3d.ets"
2217                                          },
2218                                          "end": {
2219                                            "line": 38,
2220                                            "column": 18,
2221                                            "program": "Morph3d.ets"
2222                                          }
2223                                        }
2224                                      },
2225                                      "property": {
2226                                        "type": "BinaryExpression",
2227                                        "operator": "+",
2228                                        "left": {
2229                                          "type": "BinaryExpression",
2230                                          "operator": "*",
2231                                          "left": {
2232                                            "type": "NumberLiteral",
2233                                            "value": 3,
2234                                            "loc": {
2235                                              "start": {
2236                                                "line": 38,
2237                                                "column": 19,
2238                                                "program": "Morph3d.ets"
2239                                              },
2240                                              "end": {
2241                                                "line": 38,
2242                                                "column": 20,
2243                                                "program": "Morph3d.ets"
2244                                              }
2245                                            }
2246                                          },
2247                                          "right": {
2248                                            "type": "BinaryExpression",
2249                                            "operator": "+",
2250                                            "left": {
2251                                              "type": "BinaryExpression",
2252                                              "operator": "*",
2253                                              "left": {
2254                                                "type": "Identifier",
2255                                                "name": "i",
2256                                                "decorators": [],
2257                                                "loc": {
2258                                                  "start": {
2259                                                    "line": 38,
2260                                                    "column": 24,
2261                                                    "program": "Morph3d.ets"
2262                                                  },
2263                                                  "end": {
2264                                                    "line": 38,
2265                                                    "column": 25,
2266                                                    "program": "Morph3d.ets"
2267                                                  }
2268                                                }
2269                                              },
2270                                              "right": {
2271                                                "type": "MemberExpression",
2272                                                "object": {
2273                                                  "type": "Identifier",
2274                                                  "name": "Morph3d",
2275                                                  "decorators": [],
2276                                                  "loc": {
2277                                                    "start": {
2278                                                      "line": 38,
2279                                                      "column": 28,
2280                                                      "program": "Morph3d.ets"
2281                                                    },
2282                                                    "end": {
2283                                                      "line": 38,
2284                                                      "column": 35,
2285                                                      "program": "Morph3d.ets"
2286                                                    }
2287                                                  }
2288                                                },
2289                                                "property": {
2290                                                  "type": "Identifier",
2291                                                  "name": "param",
2292                                                  "decorators": [],
2293                                                  "loc": {
2294                                                    "start": {
2295                                                      "line": 38,
2296                                                      "column": 36,
2297                                                      "program": "Morph3d.ets"
2298                                                    },
2299                                                    "end": {
2300                                                      "line": 38,
2301                                                      "column": 41,
2302                                                      "program": "Morph3d.ets"
2303                                                    }
2304                                                  }
2305                                                },
2306                                                "computed": false,
2307                                                "optional": false,
2308                                                "loc": {
2309                                                  "start": {
2310                                                    "line": 38,
2311                                                    "column": 28,
2312                                                    "program": "Morph3d.ets"
2313                                                  },
2314                                                  "end": {
2315                                                    "line": 38,
2316                                                    "column": 41,
2317                                                    "program": "Morph3d.ets"
2318                                                  }
2319                                                }
2320                                              },
2321                                              "loc": {
2322                                                "start": {
2323                                                  "line": 38,
2324                                                  "column": 24,
2325                                                  "program": "Morph3d.ets"
2326                                                },
2327                                                "end": {
2328                                                  "line": 38,
2329                                                  "column": 41,
2330                                                  "program": "Morph3d.ets"
2331                                                }
2332                                              }
2333                                            },
2334                                            "right": {
2335                                              "type": "Identifier",
2336                                              "name": "j",
2337                                              "decorators": [],
2338                                              "loc": {
2339                                                "start": {
2340                                                  "line": 38,
2341                                                  "column": 44,
2342                                                  "program": "Morph3d.ets"
2343                                                },
2344                                                "end": {
2345                                                  "line": 38,
2346                                                  "column": 45,
2347                                                  "program": "Morph3d.ets"
2348                                                }
2349                                              }
2350                                            },
2351                                            "loc": {
2352                                              "start": {
2353                                                "line": 38,
2354                                                "column": 23,
2355                                                "program": "Morph3d.ets"
2356                                              },
2357                                              "end": {
2358                                                "line": 38,
2359                                                "column": 46,
2360                                                "program": "Morph3d.ets"
2361                                              }
2362                                            }
2363                                          },
2364                                          "loc": {
2365                                            "start": {
2366                                              "line": 38,
2367                                              "column": 19,
2368                                              "program": "Morph3d.ets"
2369                                            },
2370                                            "end": {
2371                                              "line": 38,
2372                                              "column": 46,
2373                                              "program": "Morph3d.ets"
2374                                            }
2375                                          }
2376                                        },
2377                                        "right": {
2378                                          "type": "NumberLiteral",
2379                                          "value": 1,
2380                                          "loc": {
2381                                            "start": {
2382                                              "line": 38,
2383                                              "column": 49,
2384                                              "program": "Morph3d.ets"
2385                                            },
2386                                            "end": {
2387                                              "line": 38,
2388                                              "column": 50,
2389                                              "program": "Morph3d.ets"
2390                                            }
2391                                          }
2392                                        },
2393                                        "loc": {
2394                                          "start": {
2395                                            "line": 38,
2396                                            "column": 19,
2397                                            "program": "Morph3d.ets"
2398                                          },
2399                                          "end": {
2400                                            "line": 38,
2401                                            "column": 50,
2402                                            "program": "Morph3d.ets"
2403                                          }
2404                                        }
2405                                      },
2406                                      "computed": true,
2407                                      "optional": false,
2408                                      "loc": {
2409                                        "start": {
2410                                          "line": 38,
2411                                          "column": 9,
2412                                          "program": "Morph3d.ets"
2413                                        },
2414                                        "end": {
2415                                          "line": 38,
2416                                          "column": 51,
2417                                          "program": "Morph3d.ets"
2418                                        }
2419                                      }
2420                                    },
2421                                    "right": {
2422                                      "type": "BinaryExpression",
2423                                      "operator": "*",
2424                                      "left": {
2425                                        "type": "CallExpression",
2426                                        "callee": {
2427                                          "type": "Identifier",
2428                                          "name": "sin",
2429                                          "decorators": [],
2430                                          "loc": {
2431                                            "start": {
2432                                              "line": 38,
2433                                              "column": 54,
2434                                              "program": "Morph3d.ets"
2435                                            },
2436                                            "end": {
2437                                              "line": 38,
2438                                              "column": 57,
2439                                              "program": "Morph3d.ets"
2440                                            }
2441                                          }
2442                                        },
2443                                        "arguments": [
2444                                          {
2445                                            "type": "BinaryExpression",
2446                                            "operator": "*",
2447                                            "left": {
2448                                              "type": "BinaryExpression",
2449                                              "operator": "-",
2450                                              "left": {
2451                                                "type": "Identifier",
2452                                                "name": "j",
2453                                                "decorators": [],
2454                                                "loc": {
2455                                                  "start": {
2456                                                    "line": 38,
2457                                                    "column": 59,
2458                                                    "program": "Morph3d.ets"
2459                                                  },
2460                                                  "end": {
2461                                                    "line": 38,
2462                                                    "column": 60,
2463                                                    "program": "Morph3d.ets"
2464                                                  }
2465                                                }
2466                                              },
2467                                              "right": {
2468                                                "type": "NumberLiteral",
2469                                                "value": 1,
2470                                                "loc": {
2471                                                  "start": {
2472                                                    "line": 38,
2473                                                    "column": 63,
2474                                                    "program": "Morph3d.ets"
2475                                                  },
2476                                                  "end": {
2477                                                    "line": 38,
2478                                                    "column": 64,
2479                                                    "program": "Morph3d.ets"
2480                                                  }
2481                                                }
2482                                              },
2483                                              "loc": {
2484                                                "start": {
2485                                                  "line": 38,
2486                                                  "column": 58,
2487                                                  "program": "Morph3d.ets"
2488                                                },
2489                                                "end": {
2490                                                  "line": 38,
2491                                                  "column": 65,
2492                                                  "program": "Morph3d.ets"
2493                                                }
2494                                              }
2495                                            },
2496                                            "right": {
2497                                              "type": "Identifier",
2498                                              "name": "paramPI2",
2499                                              "decorators": [],
2500                                              "loc": {
2501                                                "start": {
2502                                                  "line": 38,
2503                                                  "column": 68,
2504                                                  "program": "Morph3d.ets"
2505                                                },
2506                                                "end": {
2507                                                  "line": 38,
2508                                                  "column": 76,
2509                                                  "program": "Morph3d.ets"
2510                                                }
2511                                              }
2512                                            },
2513                                            "loc": {
2514                                              "start": {
2515                                                "line": 38,
2516                                                "column": 58,
2517                                                "program": "Morph3d.ets"
2518                                              },
2519                                              "end": {
2520                                                "line": 38,
2521                                                "column": 76,
2522                                                "program": "Morph3d.ets"
2523                                              }
2524                                            }
2525                                          }
2526                                        ],
2527                                        "optional": false,
2528                                        "loc": {
2529                                          "start": {
2530                                            "line": 38,
2531                                            "column": 54,
2532                                            "program": "Morph3d.ets"
2533                                          },
2534                                          "end": {
2535                                            "line": 38,
2536                                            "column": 77,
2537                                            "program": "Morph3d.ets"
2538                                          }
2539                                        }
2540                                      },
2541                                      "right": {
2542                                        "type": "UnaryExpression",
2543                                        "operator": "-",
2544                                        "prefix": true,
2545                                        "argument": {
2546                                          "type": "Identifier",
2547                                          "name": "f30",
2548                                          "decorators": [],
2549                                          "loc": {
2550                                            "start": {
2551                                              "line": 38,
2552                                              "column": 81,
2553                                              "program": "Morph3d.ets"
2554                                            },
2555                                            "end": {
2556                                              "line": 38,
2557                                              "column": 84,
2558                                              "program": "Morph3d.ets"
2559                                            }
2560                                          }
2561                                        },
2562                                        "loc": {
2563                                          "start": {
2564                                            "line": 38,
2565                                            "column": 80,
2566                                            "program": "Morph3d.ets"
2567                                          },
2568                                          "end": {
2569                                            "line": 38,
2570                                            "column": 84,
2571                                            "program": "Morph3d.ets"
2572                                          }
2573                                        }
2574                                      },
2575                                      "loc": {
2576                                        "start": {
2577                                          "line": 38,
2578                                          "column": 54,
2579                                          "program": "Morph3d.ets"
2580                                        },
2581                                        "end": {
2582                                          "line": 38,
2583                                          "column": 84,
2584                                          "program": "Morph3d.ets"
2585                                        }
2586                                      }
2587                                    },
2588                                    "loc": {
2589                                      "start": {
2590                                        "line": 38,
2591                                        "column": 9,
2592                                        "program": "Morph3d.ets"
2593                                      },
2594                                      "end": {
2595                                        "line": 38,
2596                                        "column": 84,
2597                                        "program": "Morph3d.ets"
2598                                      }
2599                                    }
2600                                  },
2601                                  "loc": {
2602                                    "start": {
2603                                      "line": 38,
2604                                      "column": 9,
2605                                      "program": "Morph3d.ets"
2606                                    },
2607                                    "end": {
2608                                      "line": 38,
2609                                      "column": 85,
2610                                      "program": "Morph3d.ets"
2611                                    }
2612                                  }
2613                                }
2614                              ],
2615                              "loc": {
2616                                "start": {
2617                                  "line": 37,
2618                                  "column": 52,
2619                                  "program": "Morph3d.ets"
2620                                },
2621                                "end": {
2622                                  "line": 39,
2623                                  "column": 8,
2624                                  "program": "Morph3d.ets"
2625                                }
2626                              }
2627                            },
2628                            "loc": {
2629                              "start": {
2630                                "line": 37,
2631                                "column": 7,
2632                                "program": "Morph3d.ets"
2633                              },
2634                              "end": {
2635                                "line": 39,
2636                                "column": 8,
2637                                "program": "Morph3d.ets"
2638                              }
2639                            }
2640                          }
2641                        ],
2642                        "loc": {
2643                          "start": {
2644                            "line": 36,
2645                            "column": 51,
2646                            "program": "Morph3d.ets"
2647                          },
2648                          "end": {
2649                            "line": 40,
2650                            "column": 6,
2651                            "program": "Morph3d.ets"
2652                          }
2653                        }
2654                      },
2655                      "loc": {
2656                        "start": {
2657                          "line": 36,
2658                          "column": 5,
2659                          "program": "Morph3d.ets"
2660                        },
2661                        "end": {
2662                          "line": 40,
2663                          "column": 6,
2664                          "program": "Morph3d.ets"
2665                        }
2666                      }
2667                    }
2668                  ],
2669                  "loc": {
2670                    "start": {
2671                      "line": 32,
2672                      "column": 34,
2673                      "program": "Morph3d.ets"
2674                    },
2675                    "end": {
2676                      "line": 41,
2677                      "column": 4,
2678                      "program": "Morph3d.ets"
2679                    }
2680                  }
2681                },
2682                "loc": {
2683                  "start": {
2684                    "line": 32,
2685                    "column": 16,
2686                    "program": "Morph3d.ets"
2687                  },
2688                  "end": {
2689                    "line": 41,
2690                    "column": 4,
2691                    "program": "Morph3d.ets"
2692                  }
2693                }
2694              },
2695              "loc": {
2696                "start": {
2697                  "line": 32,
2698                  "column": 16,
2699                  "program": "Morph3d.ets"
2700                },
2701                "end": {
2702                  "line": 41,
2703                  "column": 4,
2704                  "program": "Morph3d.ets"
2705                }
2706              }
2707            },
2708            "overloads": [],
2709            "decorators": [],
2710            "loc": {
2711              "start": {
2712                "line": 32,
2713                "column": 3,
2714                "program": "Morph3d.ets"
2715              },
2716              "end": {
2717                "line": 41,
2718                "column": 4,
2719                "program": "Morph3d.ets"
2720              }
2721            }
2722          },
2723          {
2724            "type": "MethodDefinition",
2725            "key": {
2726              "type": "Identifier",
2727              "name": "run",
2728              "decorators": [],
2729              "loc": {
2730                "start": {
2731                  "line": 43,
2732                  "column": 10,
2733                  "program": "Morph3d.ets"
2734                },
2735                "end": {
2736                  "line": 43,
2737                  "column": 13,
2738                  "program": "Morph3d.ets"
2739                }
2740              }
2741            },
2742            "kind": "method",
2743            "accessibility": "public",
2744            "static": false,
2745            "optional": false,
2746            "computed": false,
2747            "value": {
2748              "type": "FunctionExpression",
2749              "function": {
2750                "type": "ScriptFunction",
2751                "id": {
2752                  "type": "Identifier",
2753                  "name": "run",
2754                  "decorators": [],
2755                  "loc": {
2756                    "start": {
2757                      "line": 43,
2758                      "column": 10,
2759                      "program": "Morph3d.ets"
2760                    },
2761                    "end": {
2762                      "line": 43,
2763                      "column": 13,
2764                      "program": "Morph3d.ets"
2765                    }
2766                  }
2767                },
2768                "generator": false,
2769                "async": false,
2770                "expression": false,
2771                "params": [],
2772                "returnType": {
2773                  "type": "ETSPrimitiveType",
2774                  "loc": {
2775                    "start": {
2776                      "line": 43,
2777                      "column": 17,
2778                      "program": "Morph3d.ets"
2779                    },
2780                    "end": {
2781                      "line": 43,
2782                      "column": 21,
2783                      "program": "Morph3d.ets"
2784                    }
2785                  }
2786                },
2787                "body": {
2788                  "type": "BlockStatement",
2789                  "statements": [
2790                    {
2791                      "type": "VariableDeclaration",
2792                      "declarations": [
2793                        {
2794                          "type": "VariableDeclarator",
2795                          "id": {
2796                            "type": "Identifier",
2797                            "name": "loops",
2798                            "typeAnnotation": {
2799                              "type": "ETSPrimitiveType",
2800                              "loc": {
2801                                "start": {
2802                                  "line": 44,
2803                                  "column": 16,
2804                                  "program": "Morph3d.ets"
2805                                },
2806                                "end": {
2807                                  "line": 44,
2808                                  "column": 19,
2809                                  "program": "Morph3d.ets"
2810                                }
2811                              }
2812                            },
2813                            "decorators": [],
2814                            "loc": {
2815                              "start": {
2816                                "line": 44,
2817                                "column": 9,
2818                                "program": "Morph3d.ets"
2819                              },
2820                              "end": {
2821                                "line": 44,
2822                                "column": 14,
2823                                "program": "Morph3d.ets"
2824                              }
2825                            }
2826                          },
2827                          "init": {
2828                            "type": "MemberExpression",
2829                            "object": {
2830                              "type": "Identifier",
2831                              "name": "Morph3d",
2832                              "decorators": [],
2833                              "loc": {
2834                                "start": {
2835                                  "line": 44,
2836                                  "column": 22,
2837                                  "program": "Morph3d.ets"
2838                                },
2839                                "end": {
2840                                  "line": 44,
2841                                  "column": 29,
2842                                  "program": "Morph3d.ets"
2843                                }
2844                              }
2845                            },
2846                            "property": {
2847                              "type": "Identifier",
2848                              "name": "n",
2849                              "decorators": [],
2850                              "loc": {
2851                                "start": {
2852                                  "line": 44,
2853                                  "column": 30,
2854                                  "program": "Morph3d.ets"
2855                                },
2856                                "end": {
2857                                  "line": 44,
2858                                  "column": 31,
2859                                  "program": "Morph3d.ets"
2860                                }
2861                              }
2862                            },
2863                            "computed": false,
2864                            "optional": false,
2865                            "loc": {
2866                              "start": {
2867                                "line": 44,
2868                                "column": 22,
2869                                "program": "Morph3d.ets"
2870                              },
2871                              "end": {
2872                                "line": 44,
2873                                "column": 31,
2874                                "program": "Morph3d.ets"
2875                              }
2876                            }
2877                          },
2878                          "loc": {
2879                            "start": {
2880                              "line": 44,
2881                              "column": 9,
2882                              "program": "Morph3d.ets"
2883                            },
2884                            "end": {
2885                              "line": 44,
2886                              "column": 31,
2887                              "program": "Morph3d.ets"
2888                            }
2889                          }
2890                        }
2891                      ],
2892                      "kind": "let",
2893                      "loc": {
2894                        "start": {
2895                          "line": 44,
2896                          "column": 5,
2897                          "program": "Morph3d.ets"
2898                        },
2899                        "end": {
2900                          "line": 44,
2901                          "column": 32,
2902                          "program": "Morph3d.ets"
2903                        }
2904                      }
2905                    },
2906                    {
2907                      "type": "ForUpdateStatement",
2908                      "init": {
2909                        "type": "VariableDeclaration",
2910                        "declarations": [
2911                          {
2912                            "type": "VariableDeclarator",
2913                            "id": {
2914                              "type": "Identifier",
2915                              "name": "i",
2916                              "typeAnnotation": {
2917                                "type": "ETSPrimitiveType",
2918                                "loc": {
2919                                  "start": {
2920                                    "line": 45,
2921                                    "column": 17,
2922                                    "program": "Morph3d.ets"
2923                                  },
2924                                  "end": {
2925                                    "line": 45,
2926                                    "column": 20,
2927                                    "program": "Morph3d.ets"
2928                                  }
2929                                }
2930                              },
2931                              "decorators": [],
2932                              "loc": {
2933                                "start": {
2934                                  "line": 45,
2935                                  "column": 14,
2936                                  "program": "Morph3d.ets"
2937                                },
2938                                "end": {
2939                                  "line": 45,
2940                                  "column": 15,
2941                                  "program": "Morph3d.ets"
2942                                }
2943                              }
2944                            },
2945                            "init": {
2946                              "type": "NumberLiteral",
2947                              "value": 0,
2948                              "loc": {
2949                                "start": {
2950                                  "line": 45,
2951                                  "column": 23,
2952                                  "program": "Morph3d.ets"
2953                                },
2954                                "end": {
2955                                  "line": 45,
2956                                  "column": 24,
2957                                  "program": "Morph3d.ets"
2958                                }
2959                              }
2960                            },
2961                            "loc": {
2962                              "start": {
2963                                "line": 45,
2964                                "column": 14,
2965                                "program": "Morph3d.ets"
2966                              },
2967                              "end": {
2968                                "line": 45,
2969                                "column": 24,
2970                                "program": "Morph3d.ets"
2971                              }
2972                            }
2973                          }
2974                        ],
2975                        "kind": "let",
2976                        "loc": {
2977                          "start": {
2978                            "line": 45,
2979                            "column": 10,
2980                            "program": "Morph3d.ets"
2981                          },
2982                          "end": {
2983                            "line": 45,
2984                            "column": 24,
2985                            "program": "Morph3d.ets"
2986                          }
2987                        }
2988                      },
2989                      "test": {
2990                        "type": "BinaryExpression",
2991                        "operator": "<",
2992                        "left": {
2993                          "type": "Identifier",
2994                          "name": "i",
2995                          "decorators": [],
2996                          "loc": {
2997                            "start": {
2998                              "line": 45,
2999                              "column": 26,
3000                              "program": "Morph3d.ets"
3001                            },
3002                            "end": {
3003                              "line": 45,
3004                              "column": 27,
3005                              "program": "Morph3d.ets"
3006                            }
3007                          }
3008                        },
3009                        "right": {
3010                          "type": "Identifier",
3011                          "name": "loops",
3012                          "decorators": [],
3013                          "loc": {
3014                            "start": {
3015                              "line": 45,
3016                              "column": 30,
3017                              "program": "Morph3d.ets"
3018                            },
3019                            "end": {
3020                              "line": 45,
3021                              "column": 35,
3022                              "program": "Morph3d.ets"
3023                            }
3024                          }
3025                        },
3026                        "loc": {
3027                          "start": {
3028                            "line": 45,
3029                            "column": 26,
3030                            "program": "Morph3d.ets"
3031                          },
3032                          "end": {
3033                            "line": 45,
3034                            "column": 35,
3035                            "program": "Morph3d.ets"
3036                          }
3037                        }
3038                      },
3039                      "update": {
3040                        "type": "UpdateExpression",
3041                        "operator": "++",
3042                        "prefix": false,
3043                        "argument": {
3044                          "type": "Identifier",
3045                          "name": "i",
3046                          "decorators": [],
3047                          "loc": {
3048                            "start": {
3049                              "line": 45,
3050                              "column": 37,
3051                              "program": "Morph3d.ets"
3052                            },
3053                            "end": {
3054                              "line": 45,
3055                              "column": 38,
3056                              "program": "Morph3d.ets"
3057                            }
3058                          }
3059                        },
3060                        "loc": {
3061                          "start": {
3062                            "line": 45,
3063                            "column": 37,
3064                            "program": "Morph3d.ets"
3065                          },
3066                          "end": {
3067                            "line": 45,
3068                            "column": 40,
3069                            "program": "Morph3d.ets"
3070                          }
3071                        }
3072                      },
3073                      "body": {
3074                        "type": "BlockStatement",
3075                        "statements": [
3076                          {
3077                            "type": "ExpressionStatement",
3078                            "expression": {
3079                              "type": "CallExpression",
3080                              "callee": {
3081                                "type": "MemberExpression",
3082                                "object": {
3083                                  "type": "ThisExpression",
3084                                  "loc": {
3085                                    "start": {
3086                                      "line": 46,
3087                                      "column": 7,
3088                                      "program": "Morph3d.ets"
3089                                    },
3090                                    "end": {
3091                                      "line": 46,
3092                                      "column": 11,
3093                                      "program": "Morph3d.ets"
3094                                    }
3095                                  }
3096                                },
3097                                "property": {
3098                                  "type": "Identifier",
3099                                  "name": "morph",
3100                                  "decorators": [],
3101                                  "loc": {
3102                                    "start": {
3103                                      "line": 46,
3104                                      "column": 12,
3105                                      "program": "Morph3d.ets"
3106                                    },
3107                                    "end": {
3108                                      "line": 46,
3109                                      "column": 17,
3110                                      "program": "Morph3d.ets"
3111                                    }
3112                                  }
3113                                },
3114                                "computed": false,
3115                                "optional": false,
3116                                "loc": {
3117                                  "start": {
3118                                    "line": 46,
3119                                    "column": 7,
3120                                    "program": "Morph3d.ets"
3121                                  },
3122                                  "end": {
3123                                    "line": 46,
3124                                    "column": 17,
3125                                    "program": "Morph3d.ets"
3126                                  }
3127                                }
3128                              },
3129                              "arguments": [
3130                                {
3131                                  "type": "BinaryExpression",
3132                                  "operator": "/",
3133                                  "left": {
3134                                    "type": "Identifier",
3135                                    "name": "i",
3136                                    "decorators": [],
3137                                    "loc": {
3138                                      "start": {
3139                                        "line": 46,
3140                                        "column": 18,
3141                                        "program": "Morph3d.ets"
3142                                      },
3143                                      "end": {
3144                                        "line": 46,
3145                                        "column": 19,
3146                                        "program": "Morph3d.ets"
3147                                      }
3148                                    }
3149                                  },
3150                                  "right": {
3151                                    "type": "Identifier",
3152                                    "name": "loops",
3153                                    "decorators": [],
3154                                    "loc": {
3155                                      "start": {
3156                                        "line": 46,
3157                                        "column": 22,
3158                                        "program": "Morph3d.ets"
3159                                      },
3160                                      "end": {
3161                                        "line": 46,
3162                                        "column": 27,
3163                                        "program": "Morph3d.ets"
3164                                      }
3165                                    }
3166                                  },
3167                                  "loc": {
3168                                    "start": {
3169                                      "line": 46,
3170                                      "column": 18,
3171                                      "program": "Morph3d.ets"
3172                                    },
3173                                    "end": {
3174                                      "line": 46,
3175                                      "column": 27,
3176                                      "program": "Morph3d.ets"
3177                                    }
3178                                  }
3179                                }
3180                              ],
3181                              "optional": false,
3182                              "loc": {
3183                                "start": {
3184                                  "line": 46,
3185                                  "column": 7,
3186                                  "program": "Morph3d.ets"
3187                                },
3188                                "end": {
3189                                  "line": 46,
3190                                  "column": 28,
3191                                  "program": "Morph3d.ets"
3192                                }
3193                              }
3194                            },
3195                            "loc": {
3196                              "start": {
3197                                "line": 46,
3198                                "column": 7,
3199                                "program": "Morph3d.ets"
3200                              },
3201                              "end": {
3202                                "line": 46,
3203                                "column": 29,
3204                                "program": "Morph3d.ets"
3205                              }
3206                            }
3207                          }
3208                        ],
3209                        "loc": {
3210                          "start": {
3211                            "line": 45,
3212                            "column": 42,
3213                            "program": "Morph3d.ets"
3214                          },
3215                          "end": {
3216                            "line": 47,
3217                            "column": 6,
3218                            "program": "Morph3d.ets"
3219                          }
3220                        }
3221                      },
3222                      "loc": {
3223                        "start": {
3224                          "line": 45,
3225                          "column": 5,
3226                          "program": "Morph3d.ets"
3227                        },
3228                        "end": {
3229                          "line": 47,
3230                          "column": 6,
3231                          "program": "Morph3d.ets"
3232                        }
3233                      }
3234                    },
3235                    {
3236                      "type": "VariableDeclaration",
3237                      "declarations": [
3238                        {
3239                          "type": "VariableDeclarator",
3240                          "id": {
3241                            "type": "Identifier",
3242                            "name": "testOutput",
3243                            "typeAnnotation": {
3244                              "type": "ETSPrimitiveType",
3245                              "loc": {
3246                                "start": {
3247                                  "line": 49,
3248                                  "column": 21,
3249                                  "program": "Morph3d.ets"
3250                                },
3251                                "end": {
3252                                  "line": 49,
3253                                  "column": 27,
3254                                  "program": "Morph3d.ets"
3255                                }
3256                              }
3257                            },
3258                            "decorators": [],
3259                            "loc": {
3260                              "start": {
3261                                "line": 49,
3262                                "column": 9,
3263                                "program": "Morph3d.ets"
3264                              },
3265                              "end": {
3266                                "line": 49,
3267                                "column": 19,
3268                                "program": "Morph3d.ets"
3269                              }
3270                            }
3271                          },
3272                          "init": {
3273                            "type": "NumberLiteral",
3274                            "value": 0,
3275                            "loc": {
3276                              "start": {
3277                                "line": 49,
3278                                "column": 30,
3279                                "program": "Morph3d.ets"
3280                              },
3281                              "end": {
3282                                "line": 49,
3283                                "column": 33,
3284                                "program": "Morph3d.ets"
3285                              }
3286                            }
3287                          },
3288                          "loc": {
3289                            "start": {
3290                              "line": 49,
3291                              "column": 9,
3292                              "program": "Morph3d.ets"
3293                            },
3294                            "end": {
3295                              "line": 49,
3296                              "column": 33,
3297                              "program": "Morph3d.ets"
3298                            }
3299                          }
3300                        }
3301                      ],
3302                      "kind": "let",
3303                      "loc": {
3304                        "start": {
3305                          "line": 49,
3306                          "column": 5,
3307                          "program": "Morph3d.ets"
3308                        },
3309                        "end": {
3310                          "line": 49,
3311                          "column": 34,
3312                          "program": "Morph3d.ets"
3313                        }
3314                      }
3315                    },
3316                    {
3317                      "type": "ForUpdateStatement",
3318                      "init": {
3319                        "type": "VariableDeclaration",
3320                        "declarations": [
3321                          {
3322                            "type": "VariableDeclarator",
3323                            "id": {
3324                              "type": "Identifier",
3325                              "name": "i",
3326                              "typeAnnotation": {
3327                                "type": "ETSPrimitiveType",
3328                                "loc": {
3329                                  "start": {
3330                                    "line": 50,
3331                                    "column": 17,
3332                                    "program": "Morph3d.ets"
3333                                  },
3334                                  "end": {
3335                                    "line": 50,
3336                                    "column": 20,
3337                                    "program": "Morph3d.ets"
3338                                  }
3339                                }
3340                              },
3341                              "decorators": [],
3342                              "loc": {
3343                                "start": {
3344                                  "line": 50,
3345                                  "column": 14,
3346                                  "program": "Morph3d.ets"
3347                                },
3348                                "end": {
3349                                  "line": 50,
3350                                  "column": 15,
3351                                  "program": "Morph3d.ets"
3352                                }
3353                              }
3354                            },
3355                            "init": {
3356                              "type": "NumberLiteral",
3357                              "value": 0,
3358                              "loc": {
3359                                "start": {
3360                                  "line": 50,
3361                                  "column": 23,
3362                                  "program": "Morph3d.ets"
3363                                },
3364                                "end": {
3365                                  "line": 50,
3366                                  "column": 24,
3367                                  "program": "Morph3d.ets"
3368                                }
3369                              }
3370                            },
3371                            "loc": {
3372                              "start": {
3373                                "line": 50,
3374                                "column": 14,
3375                                "program": "Morph3d.ets"
3376                              },
3377                              "end": {
3378                                "line": 50,
3379                                "column": 24,
3380                                "program": "Morph3d.ets"
3381                              }
3382                            }
3383                          }
3384                        ],
3385                        "kind": "let",
3386                        "loc": {
3387                          "start": {
3388                            "line": 50,
3389                            "column": 10,
3390                            "program": "Morph3d.ets"
3391                          },
3392                          "end": {
3393                            "line": 50,
3394                            "column": 24,
3395                            "program": "Morph3d.ets"
3396                          }
3397                        }
3398                      },
3399                      "test": {
3400                        "type": "BinaryExpression",
3401                        "operator": "<",
3402                        "left": {
3403                          "type": "Identifier",
3404                          "name": "i",
3405                          "decorators": [],
3406                          "loc": {
3407                            "start": {
3408                              "line": 50,
3409                              "column": 26,
3410                              "program": "Morph3d.ets"
3411                            },
3412                            "end": {
3413                              "line": 50,
3414                              "column": 27,
3415                              "program": "Morph3d.ets"
3416                            }
3417                          }
3418                        },
3419                        "right": {
3420                          "type": "MemberExpression",
3421                          "object": {
3422                            "type": "Identifier",
3423                            "name": "Morph3d",
3424                            "decorators": [],
3425                            "loc": {
3426                              "start": {
3427                                "line": 50,
3428                                "column": 30,
3429                                "program": "Morph3d.ets"
3430                              },
3431                              "end": {
3432                                "line": 50,
3433                                "column": 37,
3434                                "program": "Morph3d.ets"
3435                              }
3436                            }
3437                          },
3438                          "property": {
3439                            "type": "Identifier",
3440                            "name": "param",
3441                            "decorators": [],
3442                            "loc": {
3443                              "start": {
3444                                "line": 50,
3445                                "column": 38,
3446                                "program": "Morph3d.ets"
3447                              },
3448                              "end": {
3449                                "line": 50,
3450                                "column": 43,
3451                                "program": "Morph3d.ets"
3452                              }
3453                            }
3454                          },
3455                          "computed": false,
3456                          "optional": false,
3457                          "loc": {
3458                            "start": {
3459                              "line": 50,
3460                              "column": 30,
3461                              "program": "Morph3d.ets"
3462                            },
3463                            "end": {
3464                              "line": 50,
3465                              "column": 43,
3466                              "program": "Morph3d.ets"
3467                            }
3468                          }
3469                        },
3470                        "loc": {
3471                          "start": {
3472                            "line": 50,
3473                            "column": 26,
3474                            "program": "Morph3d.ets"
3475                          },
3476                          "end": {
3477                            "line": 50,
3478                            "column": 43,
3479                            "program": "Morph3d.ets"
3480                          }
3481                        }
3482                      },
3483                      "update": {
3484                        "type": "UpdateExpression",
3485                        "operator": "++",
3486                        "prefix": false,
3487                        "argument": {
3488                          "type": "Identifier",
3489                          "name": "i",
3490                          "decorators": [],
3491                          "loc": {
3492                            "start": {
3493                              "line": 50,
3494                              "column": 45,
3495                              "program": "Morph3d.ets"
3496                            },
3497                            "end": {
3498                              "line": 50,
3499                              "column": 46,
3500                              "program": "Morph3d.ets"
3501                            }
3502                          }
3503                        },
3504                        "loc": {
3505                          "start": {
3506                            "line": 50,
3507                            "column": 45,
3508                            "program": "Morph3d.ets"
3509                          },
3510                          "end": {
3511                            "line": 50,
3512                            "column": 48,
3513                            "program": "Morph3d.ets"
3514                          }
3515                        }
3516                      },
3517                      "body": {
3518                        "type": "BlockStatement",
3519                        "statements": [
3520                          {
3521                            "type": "ExpressionStatement",
3522                            "expression": {
3523                              "type": "AssignmentExpression",
3524                              "operator": "+=",
3525                              "left": {
3526                                "type": "Identifier",
3527                                "name": "testOutput",
3528                                "decorators": [],
3529                                "loc": {
3530                                  "start": {
3531                                    "line": 51,
3532                                    "column": 7,
3533                                    "program": "Morph3d.ets"
3534                                  },
3535                                  "end": {
3536                                    "line": 51,
3537                                    "column": 17,
3538                                    "program": "Morph3d.ets"
3539                                  }
3540                                }
3541                              },
3542                              "right": {
3543                                "type": "MemberExpression",
3544                                "object": {
3545                                  "type": "MemberExpression",
3546                                  "object": {
3547                                    "type": "Identifier",
3548                                    "name": "Morph3d",
3549                                    "decorators": [],
3550                                    "loc": {
3551                                      "start": {
3552                                        "line": 51,
3553                                        "column": 21,
3554                                        "program": "Morph3d.ets"
3555                                      },
3556                                      "end": {
3557                                        "line": 51,
3558                                        "column": 28,
3559                                        "program": "Morph3d.ets"
3560                                      }
3561                                    }
3562                                  },
3563                                  "property": {
3564                                    "type": "Identifier",
3565                                    "name": "a",
3566                                    "decorators": [],
3567                                    "loc": {
3568                                      "start": {
3569                                        "line": 51,
3570                                        "column": 29,
3571                                        "program": "Morph3d.ets"
3572                                      },
3573                                      "end": {
3574                                        "line": 51,
3575                                        "column": 30,
3576                                        "program": "Morph3d.ets"
3577                                      }
3578                                    }
3579                                  },
3580                                  "computed": false,
3581                                  "optional": false,
3582                                  "loc": {
3583                                    "start": {
3584                                      "line": 51,
3585                                      "column": 21,
3586                                      "program": "Morph3d.ets"
3587                                    },
3588                                    "end": {
3589                                      "line": 51,
3590                                      "column": 30,
3591                                      "program": "Morph3d.ets"
3592                                    }
3593                                  }
3594                                },
3595                                "property": {
3596                                  "type": "BinaryExpression",
3597                                  "operator": "+",
3598                                  "left": {
3599                                    "type": "BinaryExpression",
3600                                    "operator": "*",
3601                                    "left": {
3602                                      "type": "NumberLiteral",
3603                                      "value": 3,
3604                                      "loc": {
3605                                        "start": {
3606                                          "line": 51,
3607                                          "column": 31,
3608                                          "program": "Morph3d.ets"
3609                                        },
3610                                        "end": {
3611                                          "line": 51,
3612                                          "column": 32,
3613                                          "program": "Morph3d.ets"
3614                                        }
3615                                      }
3616                                    },
3617                                    "right": {
3618                                      "type": "BinaryExpression",
3619                                      "operator": "+",
3620                                      "left": {
3621                                        "type": "BinaryExpression",
3622                                        "operator": "*",
3623                                        "left": {
3624                                          "type": "Identifier",
3625                                          "name": "i",
3626                                          "decorators": [],
3627                                          "loc": {
3628                                            "start": {
3629                                              "line": 51,
3630                                              "column": 36,
3631                                              "program": "Morph3d.ets"
3632                                            },
3633                                            "end": {
3634                                              "line": 51,
3635                                              "column": 37,
3636                                              "program": "Morph3d.ets"
3637                                            }
3638                                          }
3639                                        },
3640                                        "right": {
3641                                          "type": "MemberExpression",
3642                                          "object": {
3643                                            "type": "Identifier",
3644                                            "name": "Morph3d",
3645                                            "decorators": [],
3646                                            "loc": {
3647                                              "start": {
3648                                                "line": 51,
3649                                                "column": 40,
3650                                                "program": "Morph3d.ets"
3651                                              },
3652                                              "end": {
3653                                                "line": 51,
3654                                                "column": 47,
3655                                                "program": "Morph3d.ets"
3656                                              }
3657                                            }
3658                                          },
3659                                          "property": {
3660                                            "type": "Identifier",
3661                                            "name": "param",
3662                                            "decorators": [],
3663                                            "loc": {
3664                                              "start": {
3665                                                "line": 51,
3666                                                "column": 48,
3667                                                "program": "Morph3d.ets"
3668                                              },
3669                                              "end": {
3670                                                "line": 51,
3671                                                "column": 53,
3672                                                "program": "Morph3d.ets"
3673                                              }
3674                                            }
3675                                          },
3676                                          "computed": false,
3677                                          "optional": false,
3678                                          "loc": {
3679                                            "start": {
3680                                              "line": 51,
3681                                              "column": 40,
3682                                              "program": "Morph3d.ets"
3683                                            },
3684                                            "end": {
3685                                              "line": 51,
3686                                              "column": 53,
3687                                              "program": "Morph3d.ets"
3688                                            }
3689                                          }
3690                                        },
3691                                        "loc": {
3692                                          "start": {
3693                                            "line": 51,
3694                                            "column": 36,
3695                                            "program": "Morph3d.ets"
3696                                          },
3697                                          "end": {
3698                                            "line": 51,
3699                                            "column": 53,
3700                                            "program": "Morph3d.ets"
3701                                          }
3702                                        }
3703                                      },
3704                                      "right": {
3705                                        "type": "Identifier",
3706                                        "name": "i",
3707                                        "decorators": [],
3708                                        "loc": {
3709                                          "start": {
3710                                            "line": 51,
3711                                            "column": 56,
3712                                            "program": "Morph3d.ets"
3713                                          },
3714                                          "end": {
3715                                            "line": 51,
3716                                            "column": 57,
3717                                            "program": "Morph3d.ets"
3718                                          }
3719                                        }
3720                                      },
3721                                      "loc": {
3722                                        "start": {
3723                                          "line": 51,
3724                                          "column": 35,
3725                                          "program": "Morph3d.ets"
3726                                        },
3727                                        "end": {
3728                                          "line": 51,
3729                                          "column": 58,
3730                                          "program": "Morph3d.ets"
3731                                        }
3732                                      }
3733                                    },
3734                                    "loc": {
3735                                      "start": {
3736                                        "line": 51,
3737                                        "column": 31,
3738                                        "program": "Morph3d.ets"
3739                                      },
3740                                      "end": {
3741                                        "line": 51,
3742                                        "column": 58,
3743                                        "program": "Morph3d.ets"
3744                                      }
3745                                    }
3746                                  },
3747                                  "right": {
3748                                    "type": "NumberLiteral",
3749                                    "value": 1,
3750                                    "loc": {
3751                                      "start": {
3752                                        "line": 51,
3753                                        "column": 61,
3754                                        "program": "Morph3d.ets"
3755                                      },
3756                                      "end": {
3757                                        "line": 51,
3758                                        "column": 62,
3759                                        "program": "Morph3d.ets"
3760                                      }
3761                                    }
3762                                  },
3763                                  "loc": {
3764                                    "start": {
3765                                      "line": 51,
3766                                      "column": 31,
3767                                      "program": "Morph3d.ets"
3768                                    },
3769                                    "end": {
3770                                      "line": 51,
3771                                      "column": 62,
3772                                      "program": "Morph3d.ets"
3773                                    }
3774                                  }
3775                                },
3776                                "computed": true,
3777                                "optional": false,
3778                                "loc": {
3779                                  "start": {
3780                                    "line": 51,
3781                                    "column": 21,
3782                                    "program": "Morph3d.ets"
3783                                  },
3784                                  "end": {
3785                                    "line": 51,
3786                                    "column": 63,
3787                                    "program": "Morph3d.ets"
3788                                  }
3789                                }
3790                              },
3791                              "loc": {
3792                                "start": {
3793                                  "line": 51,
3794                                  "column": 7,
3795                                  "program": "Morph3d.ets"
3796                                },
3797                                "end": {
3798                                  "line": 51,
3799                                  "column": 63,
3800                                  "program": "Morph3d.ets"
3801                                }
3802                              }
3803                            },
3804                            "loc": {
3805                              "start": {
3806                                "line": 51,
3807                                "column": 7,
3808                                "program": "Morph3d.ets"
3809                              },
3810                              "end": {
3811                                "line": 51,
3812                                "column": 64,
3813                                "program": "Morph3d.ets"
3814                              }
3815                            }
3816                          }
3817                        ],
3818                        "loc": {
3819                          "start": {
3820                            "line": 50,
3821                            "column": 50,
3822                            "program": "Morph3d.ets"
3823                          },
3824                          "end": {
3825                            "line": 52,
3826                            "column": 6,
3827                            "program": "Morph3d.ets"
3828                          }
3829                        }
3830                      },
3831                      "loc": {
3832                        "start": {
3833                          "line": 50,
3834                          "column": 5,
3835                          "program": "Morph3d.ets"
3836                        },
3837                        "end": {
3838                          "line": 52,
3839                          "column": 6,
3840                          "program": "Morph3d.ets"
3841                        }
3842                      }
3843                    },
3844                    {
3845                      "type": "VariableDeclaration",
3846                      "declarations": [
3847                        {
3848                          "type": "VariableDeclarator",
3849                          "id": {
3850                            "type": "Identifier",
3851                            "name": "epsilon",
3852                            "typeAnnotation": {
3853                              "type": "ETSPrimitiveType",
3854                              "loc": {
3855                                "start": {
3856                                  "line": 53,
3857                                  "column": 18,
3858                                  "program": "Morph3d.ets"
3859                                },
3860                                "end": {
3861                                  "line": 53,
3862                                  "column": 24,
3863                                  "program": "Morph3d.ets"
3864                                }
3865                              }
3866                            },
3867                            "decorators": [],
3868                            "loc": {
3869                              "start": {
3870                                "line": 53,
3871                                "column": 9,
3872                                "program": "Morph3d.ets"
3873                              },
3874                              "end": {
3875                                "line": 53,
3876                                "column": 16,
3877                                "program": "Morph3d.ets"
3878                              }
3879                            }
3880                          },
3881                          "init": {
3882                            "type": "NumberLiteral",
3883                            "value": 1e-13,
3884                            "loc": {
3885                              "start": {
3886                                "line": 53,
3887                                "column": 27,
3888                                "program": "Morph3d.ets"
3889                              },
3890                              "end": {
3891                                "line": 53,
3892                                "column": 32,
3893                                "program": "Morph3d.ets"
3894                              }
3895                            }
3896                          },
3897                          "loc": {
3898                            "start": {
3899                              "line": 53,
3900                              "column": 9,
3901                              "program": "Morph3d.ets"
3902                            },
3903                            "end": {
3904                              "line": 53,
3905                              "column": 32,
3906                              "program": "Morph3d.ets"
3907                            }
3908                          }
3909                        }
3910                      ],
3911                      "kind": "let",
3912                      "loc": {
3913                        "start": {
3914                          "line": 53,
3915                          "column": 5,
3916                          "program": "Morph3d.ets"
3917                        },
3918                        "end": {
3919                          "line": 53,
3920                          "column": 33,
3921                          "program": "Morph3d.ets"
3922                        }
3923                      }
3924                    },
3925                    {
3926                      "type": "ExpressionStatement",
3927                      "expression": {
3928                        "type": "CallExpression",
3929                        "callee": {
3930                          "type": "Identifier",
3931                          "name": "assertLT",
3932                          "decorators": [],
3933                          "loc": {
3934                            "start": {
3935                              "line": 55,
3936                              "column": 5,
3937                              "program": "Morph3d.ets"
3938                            },
3939                            "end": {
3940                              "line": 55,
3941                              "column": 13,
3942                              "program": "Morph3d.ets"
3943                            }
3944                          }
3945                        },
3946                        "arguments": [
3947                          {
3948                            "type": "CallExpression",
3949                            "callee": {
3950                              "type": "Identifier",
3951                              "name": "abs",
3952                              "decorators": [],
3953                              "loc": {
3954                                "start": {
3955                                  "line": 55,
3956                                  "column": 14,
3957                                  "program": "Morph3d.ets"
3958                                },
3959                                "end": {
3960                                  "line": 55,
3961                                  "column": 17,
3962                                  "program": "Morph3d.ets"
3963                                }
3964                              }
3965                            },
3966                            "arguments": [
3967                              {
3968                                "type": "Identifier",
3969                                "name": "testOutput",
3970                                "decorators": [],
3971                                "loc": {
3972                                  "start": {
3973                                    "line": 55,
3974                                    "column": 18,
3975                                    "program": "Morph3d.ets"
3976                                  },
3977                                  "end": {
3978                                    "line": 55,
3979                                    "column": 28,
3980                                    "program": "Morph3d.ets"
3981                                  }
3982                                }
3983                              }
3984                            ],
3985                            "optional": false,
3986                            "loc": {
3987                              "start": {
3988                                "line": 55,
3989                                "column": 14,
3990                                "program": "Morph3d.ets"
3991                              },
3992                              "end": {
3993                                "line": 55,
3994                                "column": 29,
3995                                "program": "Morph3d.ets"
3996                              }
3997                            }
3998                          },
3999                          {
4000                            "type": "Identifier",
4001                            "name": "epsilon",
4002                            "decorators": [],
4003                            "loc": {
4004                              "start": {
4005                                "line": 55,
4006                                "column": 31,
4007                                "program": "Morph3d.ets"
4008                              },
4009                              "end": {
4010                                "line": 55,
4011                                "column": 38,
4012                                "program": "Morph3d.ets"
4013                              }
4014                            }
4015                          },
4016                          {
4017                            "type": "StringLiteral",
4018                            "value": "Incorrect result",
4019                            "loc": {
4020                              "start": {
4021                                "line": 55,
4022                                "column": 40,
4023                                "program": "Morph3d.ets"
4024                              },
4025                              "end": {
4026                                "line": 55,
4027                                "column": 58,
4028                                "program": "Morph3d.ets"
4029                              }
4030                            }
4031                          }
4032                        ],
4033                        "optional": false,
4034                        "loc": {
4035                          "start": {
4036                            "line": 55,
4037                            "column": 5,
4038                            "program": "Morph3d.ets"
4039                          },
4040                          "end": {
4041                            "line": 55,
4042                            "column": 59,
4043                            "program": "Morph3d.ets"
4044                          }
4045                        }
4046                      },
4047                      "loc": {
4048                        "start": {
4049                          "line": 55,
4050                          "column": 5,
4051                          "program": "Morph3d.ets"
4052                        },
4053                        "end": {
4054                          "line": 55,
4055                          "column": 60,
4056                          "program": "Morph3d.ets"
4057                        }
4058                      }
4059                    }
4060                  ],
4061                  "loc": {
4062                    "start": {
4063                      "line": 43,
4064                      "column": 22,
4065                      "program": "Morph3d.ets"
4066                    },
4067                    "end": {
4068                      "line": 56,
4069                      "column": 4,
4070                      "program": "Morph3d.ets"
4071                    }
4072                  }
4073                },
4074                "loc": {
4075                  "start": {
4076                    "line": 43,
4077                    "column": 13,
4078                    "program": "Morph3d.ets"
4079                  },
4080                  "end": {
4081                    "line": 56,
4082                    "column": 4,
4083                    "program": "Morph3d.ets"
4084                  }
4085                }
4086              },
4087              "loc": {
4088                "start": {
4089                  "line": 43,
4090                  "column": 13,
4091                  "program": "Morph3d.ets"
4092                },
4093                "end": {
4094                  "line": 56,
4095                  "column": 4,
4096                  "program": "Morph3d.ets"
4097                }
4098              }
4099            },
4100            "overloads": [],
4101            "decorators": [],
4102            "loc": {
4103              "start": {
4104                "line": 43,
4105                "column": 3,
4106                "program": "Morph3d.ets"
4107              },
4108              "end": {
4109                "line": 56,
4110                "column": 4,
4111                "program": "Morph3d.ets"
4112              }
4113            }
4114          },
4115          {
4116            "type": "MethodDefinition",
4117            "key": {
4118              "type": "Identifier",
4119              "name": "constructor",
4120              "decorators": [],
4121              "loc": {
4122                "start": {
4123                  "line": 18,
4124                  "column": 23,
4125                  "program": "Morph3d.ets"
4126                },
4127                "end": {
4128                  "line": 18,
4129                  "column": 23,
4130                  "program": "Morph3d.ets"
4131                }
4132              }
4133            },
4134            "kind": "constructor",
4135            "static": false,
4136            "optional": false,
4137            "computed": false,
4138            "value": {
4139              "type": "FunctionExpression",
4140              "function": {
4141                "type": "ScriptFunction",
4142                "id": {
4143                  "type": "Identifier",
4144                  "name": "constructor",
4145                  "decorators": [],
4146                  "loc": {
4147                    "start": {
4148                      "line": 18,
4149                      "column": 23,
4150                      "program": "Morph3d.ets"
4151                    },
4152                    "end": {
4153                      "line": 18,
4154                      "column": 23,
4155                      "program": "Morph3d.ets"
4156                    }
4157                  }
4158                },
4159                "generator": false,
4160                "async": false,
4161                "expression": false,
4162                "params": [],
4163                "body": {
4164                  "type": "BlockStatement",
4165                  "statements": [],
4166                  "loc": {
4167                    "start": {
4168                      "line": 18,
4169                      "column": 23,
4170                      "program": "Morph3d.ets"
4171                    },
4172                    "end": {
4173                      "line": 18,
4174                      "column": 23,
4175                      "program": "Morph3d.ets"
4176                    }
4177                  }
4178                },
4179                "loc": {
4180                  "start": {
4181                    "line": 18,
4182                    "column": 23,
4183                    "program": "Morph3d.ets"
4184                  },
4185                  "end": {
4186                    "line": 18,
4187                    "column": 23,
4188                    "program": "Morph3d.ets"
4189                  }
4190                }
4191              },
4192              "loc": {
4193                "start": {
4194                  "line": 18,
4195                  "column": 23,
4196                  "program": "Morph3d.ets"
4197                },
4198                "end": {
4199                  "line": 18,
4200                  "column": 23,
4201                  "program": "Morph3d.ets"
4202                }
4203              }
4204            },
4205            "overloads": [],
4206            "decorators": [],
4207            "loc": {
4208              "start": {
4209                "line": 1,
4210                "column": 1,
4211                "program": null
4212              },
4213              "end": {
4214                "line": 1,
4215                "column": 1,
4216                "program": null
4217              }
4218            }
4219          }
4220        ],
4221        "loc": {
4222          "start": {
4223            "line": 18,
4224            "column": 22,
4225            "program": "Morph3d.ets"
4226          },
4227          "end": {
4228            "line": 60,
4229            "column": 9,
4230            "program": "Morph3d.ets"
4231          }
4232        }
4233      },
4234      "loc": {
4235        "start": {
4236          "line": 18,
4237          "column": 8,
4238          "program": "Morph3d.ets"
4239        },
4240        "end": {
4241          "line": 60,
4242          "column": 9,
4243          "program": "Morph3d.ets"
4244        }
4245      }
4246    },
4247    {
4248      "type": "ClassDeclaration",
4249      "definition": {
4250        "id": {
4251          "type": "Identifier",
4252          "name": "ETSGLOBAL",
4253          "decorators": [],
4254          "loc": {
4255            "start": {
4256              "line": 1,
4257              "column": 1,
4258              "program": "Morph3d.ets"
4259            },
4260            "end": {
4261              "line": 1,
4262              "column": 1,
4263              "program": "Morph3d.ets"
4264            }
4265          }
4266        },
4267        "superClass": null,
4268        "implements": [],
4269        "body": [
4270          {
4271            "type": "MethodDefinition",
4272            "key": {
4273              "type": "Identifier",
4274              "name": "_$init$_",
4275              "decorators": [],
4276              "loc": {
4277                "start": {
4278                  "line": 1,
4279                  "column": 1,
4280                  "program": null
4281                },
4282                "end": {
4283                  "line": 1,
4284                  "column": 1,
4285                  "program": null
4286                }
4287              }
4288            },
4289            "kind": "method",
4290            "accessibility": "public",
4291            "static": true,
4292            "optional": false,
4293            "computed": false,
4294            "value": {
4295              "type": "FunctionExpression",
4296              "function": {
4297                "type": "ScriptFunction",
4298                "id": {
4299                  "type": "Identifier",
4300                  "name": "_$init$_",
4301                  "decorators": [],
4302                  "loc": {
4303                    "start": {
4304                      "line": 1,
4305                      "column": 1,
4306                      "program": null
4307                    },
4308                    "end": {
4309                      "line": 1,
4310                      "column": 1,
4311                      "program": null
4312                    }
4313                  }
4314                },
4315                "generator": false,
4316                "async": false,
4317                "expression": false,
4318                "params": [],
4319                "body": {
4320                  "type": "BlockStatement",
4321                  "statements": [],
4322                  "loc": {
4323                    "start": {
4324                      "line": 1,
4325                      "column": 1,
4326                      "program": null
4327                    },
4328                    "end": {
4329                      "line": 1,
4330                      "column": 1,
4331                      "program": null
4332                    }
4333                  }
4334                },
4335                "loc": {
4336                  "start": {
4337                    "line": 1,
4338                    "column": 1,
4339                    "program": null
4340                  },
4341                  "end": {
4342                    "line": 1,
4343                    "column": 1,
4344                    "program": null
4345                  }
4346                }
4347              },
4348              "loc": {
4349                "start": {
4350                  "line": 1,
4351                  "column": 1,
4352                  "program": null
4353                },
4354                "end": {
4355                  "line": 1,
4356                  "column": 1,
4357                  "program": null
4358                }
4359              }
4360            },
4361            "overloads": [],
4362            "decorators": [],
4363            "loc": {
4364              "start": {
4365                "line": 1,
4366                "column": 1,
4367                "program": "Morph3d.ets"
4368              },
4369              "end": {
4370                "line": 1,
4371                "column": 1,
4372                "program": "Morph3d.ets"
4373              }
4374            }
4375          },
4376          {
4377            "type": "MethodDefinition",
4378            "key": {
4379              "type": "Identifier",
4380              "name": "main",
4381              "decorators": [],
4382              "loc": {
4383                "start": {
4384                  "line": 60,
4385                  "column": 10,
4386                  "program": "Morph3d.ets"
4387                },
4388                "end": {
4389                  "line": 60,
4390                  "column": 14,
4391                  "program": "Morph3d.ets"
4392                }
4393              }
4394            },
4395            "kind": "method",
4396            "accessibility": "public",
4397            "static": true,
4398            "optional": false,
4399            "computed": false,
4400            "value": {
4401              "type": "FunctionExpression",
4402              "function": {
4403                "type": "ScriptFunction",
4404                "id": {
4405                  "type": "Identifier",
4406                  "name": "main",
4407                  "decorators": [],
4408                  "loc": {
4409                    "start": {
4410                      "line": 60,
4411                      "column": 10,
4412                      "program": "Morph3d.ets"
4413                    },
4414                    "end": {
4415                      "line": 60,
4416                      "column": 14,
4417                      "program": "Morph3d.ets"
4418                    }
4419                  }
4420                },
4421                "generator": false,
4422                "async": false,
4423                "expression": false,
4424                "params": [],
4425                "returnType": {
4426                  "type": "ETSPrimitiveType",
4427                  "loc": {
4428                    "start": {
4429                      "line": 60,
4430                      "column": 18,
4431                      "program": "Morph3d.ets"
4432                    },
4433                    "end": {
4434                      "line": 60,
4435                      "column": 22,
4436                      "program": "Morph3d.ets"
4437                    }
4438                  }
4439                },
4440                "body": {
4441                  "type": "BlockStatement",
4442                  "statements": [
4443                    {
4444                      "type": "VariableDeclaration",
4445                      "declarations": [
4446                        {
4447                          "type": "VariableDeclarator",
4448                          "id": {
4449                            "type": "Identifier",
4450                            "name": "a",
4451                            "decorators": [],
4452                            "loc": {
4453                              "start": {
4454                                "line": 61,
4455                                "column": 7,
4456                                "program": "Morph3d.ets"
4457                              },
4458                              "end": {
4459                                "line": 61,
4460                                "column": 8,
4461                                "program": "Morph3d.ets"
4462                              }
4463                            }
4464                          },
4465                          "init": {
4466                            "type": "ETSNewClassInstanceExpression",
4467                            "typeReference": {
4468                              "type": "ETSTypeReference",
4469                              "part": {
4470                                "type": "ETSTypeReferencePart",
4471                                "name": {
4472                                  "type": "Identifier",
4473                                  "name": "Morph3d",
4474                                  "decorators": [],
4475                                  "loc": {
4476                                    "start": {
4477                                      "line": 61,
4478                                      "column": 15,
4479                                      "program": "Morph3d.ets"
4480                                    },
4481                                    "end": {
4482                                      "line": 61,
4483                                      "column": 22,
4484                                      "program": "Morph3d.ets"
4485                                    }
4486                                  }
4487                                },
4488                                "loc": {
4489                                  "start": {
4490                                    "line": 61,
4491                                    "column": 15,
4492                                    "program": "Morph3d.ets"
4493                                  },
4494                                  "end": {
4495                                    "line": 61,
4496                                    "column": 23,
4497                                    "program": "Morph3d.ets"
4498                                  }
4499                                }
4500                              },
4501                              "loc": {
4502                                "start": {
4503                                  "line": 61,
4504                                  "column": 15,
4505                                  "program": "Morph3d.ets"
4506                                },
4507                                "end": {
4508                                  "line": 61,
4509                                  "column": 23,
4510                                  "program": "Morph3d.ets"
4511                                }
4512                              }
4513                            },
4514                            "arguments": [],
4515                            "loc": {
4516                              "start": {
4517                                "line": 61,
4518                                "column": 11,
4519                                "program": "Morph3d.ets"
4520                              },
4521                              "end": {
4522                                "line": 61,
4523                                "column": 23,
4524                                "program": "Morph3d.ets"
4525                              }
4526                            }
4527                          },
4528                          "loc": {
4529                            "start": {
4530                              "line": 61,
4531                              "column": 7,
4532                              "program": "Morph3d.ets"
4533                            },
4534                            "end": {
4535                              "line": 61,
4536                              "column": 23,
4537                              "program": "Morph3d.ets"
4538                            }
4539                          }
4540                        }
4541                      ],
4542                      "kind": "let",
4543                      "loc": {
4544                        "start": {
4545                          "line": 61,
4546                          "column": 3,
4547                          "program": "Morph3d.ets"
4548                        },
4549                        "end": {
4550                          "line": 61,
4551                          "column": 23,
4552                          "program": "Morph3d.ets"
4553                        }
4554                      }
4555                    },
4556                    {
4557                      "type": "ExpressionStatement",
4558                      "expression": {
4559                        "type": "CallExpression",
4560                        "callee": {
4561                          "type": "MemberExpression",
4562                          "object": {
4563                            "type": "Identifier",
4564                            "name": "a",
4565                            "decorators": [],
4566                            "loc": {
4567                              "start": {
4568                                "line": 62,
4569                                "column": 3,
4570                                "program": "Morph3d.ets"
4571                              },
4572                              "end": {
4573                                "line": 62,
4574                                "column": 4,
4575                                "program": "Morph3d.ets"
4576                              }
4577                            }
4578                          },
4579                          "property": {
4580                            "type": "Identifier",
4581                            "name": "setup",
4582                            "decorators": [],
4583                            "loc": {
4584                              "start": {
4585                                "line": 62,
4586                                "column": 5,
4587                                "program": "Morph3d.ets"
4588                              },
4589                              "end": {
4590                                "line": 62,
4591                                "column": 10,
4592                                "program": "Morph3d.ets"
4593                              }
4594                            }
4595                          },
4596                          "computed": false,
4597                          "optional": false,
4598                          "loc": {
4599                            "start": {
4600                              "line": 62,
4601                              "column": 3,
4602                              "program": "Morph3d.ets"
4603                            },
4604                            "end": {
4605                              "line": 62,
4606                              "column": 10,
4607                              "program": "Morph3d.ets"
4608                            }
4609                          }
4610                        },
4611                        "arguments": [],
4612                        "optional": false,
4613                        "loc": {
4614                          "start": {
4615                            "line": 62,
4616                            "column": 3,
4617                            "program": "Morph3d.ets"
4618                          },
4619                          "end": {
4620                            "line": 62,
4621                            "column": 12,
4622                            "program": "Morph3d.ets"
4623                          }
4624                        }
4625                      },
4626                      "loc": {
4627                        "start": {
4628                          "line": 62,
4629                          "column": 3,
4630                          "program": "Morph3d.ets"
4631                        },
4632                        "end": {
4633                          "line": 62,
4634                          "column": 13,
4635                          "program": "Morph3d.ets"
4636                        }
4637                      }
4638                    },
4639                    {
4640                      "type": "ExpressionStatement",
4641                      "expression": {
4642                        "type": "CallExpression",
4643                        "callee": {
4644                          "type": "MemberExpression",
4645                          "object": {
4646                            "type": "Identifier",
4647                            "name": "a",
4648                            "decorators": [],
4649                            "loc": {
4650                              "start": {
4651                                "line": 63,
4652                                "column": 3,
4653                                "program": "Morph3d.ets"
4654                              },
4655                              "end": {
4656                                "line": 63,
4657                                "column": 4,
4658                                "program": "Morph3d.ets"
4659                              }
4660                            }
4661                          },
4662                          "property": {
4663                            "type": "Identifier",
4664                            "name": "run",
4665                            "decorators": [],
4666                            "loc": {
4667                              "start": {
4668                                "line": 63,
4669                                "column": 5,
4670                                "program": "Morph3d.ets"
4671                              },
4672                              "end": {
4673                                "line": 63,
4674                                "column": 8,
4675                                "program": "Morph3d.ets"
4676                              }
4677                            }
4678                          },
4679                          "computed": false,
4680                          "optional": false,
4681                          "loc": {
4682                            "start": {
4683                              "line": 63,
4684                              "column": 3,
4685                              "program": "Morph3d.ets"
4686                            },
4687                            "end": {
4688                              "line": 63,
4689                              "column": 8,
4690                              "program": "Morph3d.ets"
4691                            }
4692                          }
4693                        },
4694                        "arguments": [],
4695                        "optional": false,
4696                        "loc": {
4697                          "start": {
4698                            "line": 63,
4699                            "column": 3,
4700                            "program": "Morph3d.ets"
4701                          },
4702                          "end": {
4703                            "line": 63,
4704                            "column": 10,
4705                            "program": "Morph3d.ets"
4706                          }
4707                        }
4708                      },
4709                      "loc": {
4710                        "start": {
4711                          "line": 63,
4712                          "column": 3,
4713                          "program": "Morph3d.ets"
4714                        },
4715                        "end": {
4716                          "line": 63,
4717                          "column": 11,
4718                          "program": "Morph3d.ets"
4719                        }
4720                      }
4721                    }
4722                  ],
4723                  "loc": {
4724                    "start": {
4725                      "line": 60,
4726                      "column": 23,
4727                      "program": "Morph3d.ets"
4728                    },
4729                    "end": {
4730                      "line": 64,
4731                      "column": 2,
4732                      "program": "Morph3d.ets"
4733                    }
4734                  }
4735                },
4736                "loc": {
4737                  "start": {
4738                    "line": 60,
4739                    "column": 10,
4740                    "program": "Morph3d.ets"
4741                  },
4742                  "end": {
4743                    "line": 64,
4744                    "column": 2,
4745                    "program": "Morph3d.ets"
4746                  }
4747                }
4748              },
4749              "loc": {
4750                "start": {
4751                  "line": 60,
4752                  "column": 10,
4753                  "program": "Morph3d.ets"
4754                },
4755                "end": {
4756                  "line": 64,
4757                  "column": 2,
4758                  "program": "Morph3d.ets"
4759                }
4760              }
4761            },
4762            "overloads": [],
4763            "decorators": [],
4764            "loc": {
4765              "start": {
4766                "line": 60,
4767                "column": 1,
4768                "program": "Morph3d.ets"
4769              },
4770              "end": {
4771                "line": 64,
4772                "column": 2,
4773                "program": "Morph3d.ets"
4774              }
4775            }
4776          }
4777        ],
4778        "loc": {
4779          "start": {
4780            "line": 1,
4781            "column": 1,
4782            "program": "Morph3d.ets"
4783          },
4784          "end": {
4785            "line": 1,
4786            "column": 1,
4787            "program": "Morph3d.ets"
4788          }
4789        }
4790      },
4791      "loc": {
4792        "start": {
4793          "line": 1,
4794          "column": 1,
4795          "program": "Morph3d.ets"
4796        },
4797        "end": {
4798          "line": 1,
4799          "column": 1,
4800          "program": "Morph3d.ets"
4801        }
4802      }
4803    }
4804  ],
4805  "loc": {
4806    "start": {
4807      "line": 1,
4808      "column": 1,
4809      "program": "Morph3d.ets"
4810    },
4811    "end": {
4812      "line": 65,
4813      "column": 1,
4814      "program": "Morph3d.ets"
4815    }
4816  }
4817}
4818