• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "ControlFlowRecursive",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 14
15            },
16            "end": {
17              "line": 16,
18              "column": 34
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "ClassProperty",
27            "key": {
28              "type": "Identifier",
29              "name": "n1",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 19
35                },
36                "end": {
37                  "line": 17,
38                  "column": 21
39                }
40              }
41            },
42            "value": {
43              "type": "NumberLiteral",
44              "value": 3,
45              "loc": {
46                "start": {
47                  "line": 17,
48                  "column": 29
49                },
50                "end": {
51                  "line": 17,
52                  "column": 30
53                }
54              }
55            },
56            "accessibility": "public",
57            "static": true,
58            "readonly": false,
59            "declare": false,
60            "optional": false,
61            "computed": false,
62            "typeAnnotation": {
63              "type": "ETSPrimitiveType",
64              "loc": {
65                "start": {
66                  "line": 17,
67                  "column": 23
68                },
69                "end": {
70                  "line": 17,
71                  "column": 26
72                }
73              }
74            },
75            "definite": false,
76            "decorators": [],
77            "loc": {
78              "start": {
79                "line": 17,
80                "column": 19
81              },
82              "end": {
83                "line": 17,
84                "column": 30
85              }
86            }
87          },
88          {
89            "type": "ClassProperty",
90            "key": {
91              "type": "Identifier",
92              "name": "n2",
93              "decorators": [],
94              "loc": {
95                "start": {
96                  "line": 18,
97                  "column": 19
98                },
99                "end": {
100                  "line": 18,
101                  "column": 21
102                }
103              }
104            },
105            "value": {
106              "type": "NumberLiteral",
107              "value": 5,
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 29
112                },
113                "end": {
114                  "line": 18,
115                  "column": 30
116                }
117              }
118            },
119            "accessibility": "public",
120            "static": true,
121            "readonly": false,
122            "declare": false,
123            "optional": false,
124            "computed": false,
125            "typeAnnotation": {
126              "type": "ETSPrimitiveType",
127              "loc": {
128                "start": {
129                  "line": 18,
130                  "column": 23
131                },
132                "end": {
133                  "line": 18,
134                  "column": 26
135                }
136              }
137            },
138            "definite": false,
139            "decorators": [],
140            "loc": {
141              "start": {
142                "line": 18,
143                "column": 19
144              },
145              "end": {
146                "line": 18,
147                "column": 30
148              }
149            }
150          },
151          {
152            "type": "ClassProperty",
153            "key": {
154              "type": "Identifier",
155              "name": "expected",
156              "decorators": [],
157              "loc": {
158                "start": {
159                  "line": 19,
160                  "column": 19
161                },
162                "end": {
163                  "line": 19,
164                  "column": 27
165                }
166              }
167            },
168            "value": {
169              "type": "NumberLiteral",
170              "value": 57775,
171              "loc": {
172                "start": {
173                  "line": 19,
174                  "column": 35
175                },
176                "end": {
177                  "line": 19,
178                  "column": 40
179                }
180              }
181            },
182            "accessibility": "public",
183            "static": true,
184            "readonly": false,
185            "declare": false,
186            "optional": false,
187            "computed": false,
188            "typeAnnotation": {
189              "type": "ETSPrimitiveType",
190              "loc": {
191                "start": {
192                  "line": 19,
193                  "column": 29
194                },
195                "end": {
196                  "line": 19,
197                  "column": 32
198                }
199              }
200            },
201            "definite": false,
202            "decorators": [],
203            "loc": {
204              "start": {
205                "line": 19,
206                "column": 19
207              },
208              "end": {
209                "line": 19,
210                "column": 40
211              }
212            }
213          },
214          {
215            "type": "MethodDefinition",
216            "key": {
217              "type": "Identifier",
218              "name": "ack",
219              "decorators": [],
220              "loc": {
221                "start": {
222                  "line": 21,
223                  "column": 18
224                },
225                "end": {
226                  "line": 21,
227                  "column": 21
228                }
229              }
230            },
231            "kind": "method",
232            "accessibility": "private",
233            "static": true,
234            "optional": false,
235            "computed": false,
236            "value": {
237              "type": "FunctionExpression",
238              "function": {
239                "type": "ScriptFunction",
240                "id": {
241                  "type": "Identifier",
242                  "name": "ack",
243                  "decorators": [],
244                  "loc": {
245                    "start": {
246                      "line": 21,
247                      "column": 18
248                    },
249                    "end": {
250                      "line": 21,
251                      "column": 21
252                    }
253                  }
254                },
255                "generator": false,
256                "async": false,
257                "expression": false,
258                "params": [
259                  {
260                    "type": "ETSParameterExpression",
261                    "name": {
262                      "type": "Identifier",
263                      "name": "m",
264                      "typeAnnotation": {
265                        "type": "ETSPrimitiveType",
266                        "loc": {
267                          "start": {
268                            "line": 21,
269                            "column": 25
270                          },
271                          "end": {
272                            "line": 21,
273                            "column": 28
274                          }
275                        }
276                      },
277                      "decorators": [],
278                      "loc": {
279                        "start": {
280                          "line": 21,
281                          "column": 22
282                        },
283                        "end": {
284                          "line": 21,
285                          "column": 28
286                        }
287                      }
288                    },
289                    "loc": {
290                      "start": {
291                        "line": 21,
292                        "column": 22
293                      },
294                      "end": {
295                        "line": 21,
296                        "column": 28
297                      }
298                    }
299                  },
300                  {
301                    "type": "ETSParameterExpression",
302                    "name": {
303                      "type": "Identifier",
304                      "name": "n",
305                      "typeAnnotation": {
306                        "type": "ETSPrimitiveType",
307                        "loc": {
308                          "start": {
309                            "line": 21,
310                            "column": 33
311                          },
312                          "end": {
313                            "line": 21,
314                            "column": 36
315                          }
316                        }
317                      },
318                      "decorators": [],
319                      "loc": {
320                        "start": {
321                          "line": 21,
322                          "column": 30
323                        },
324                        "end": {
325                          "line": 21,
326                          "column": 36
327                        }
328                      }
329                    },
330                    "loc": {
331                      "start": {
332                        "line": 21,
333                        "column": 30
334                      },
335                      "end": {
336                        "line": 21,
337                        "column": 36
338                      }
339                    }
340                  }
341                ],
342                "returnType": {
343                  "type": "ETSPrimitiveType",
344                  "loc": {
345                    "start": {
346                      "line": 21,
347                      "column": 39
348                    },
349                    "end": {
350                      "line": 21,
351                      "column": 42
352                    }
353                  }
354                },
355                "body": {
356                  "type": "BlockStatement",
357                  "statements": [
358                    {
359                      "type": "IfStatement",
360                      "test": {
361                        "type": "BinaryExpression",
362                        "operator": "==",
363                        "left": {
364                          "type": "Identifier",
365                          "name": "m",
366                          "decorators": [],
367                          "loc": {
368                            "start": {
369                              "line": 22,
370                              "column": 9
371                            },
372                            "end": {
373                              "line": 22,
374                              "column": 10
375                            }
376                          }
377                        },
378                        "right": {
379                          "type": "NumberLiteral",
380                          "value": 0,
381                          "loc": {
382                            "start": {
383                              "line": 22,
384                              "column": 14
385                            },
386                            "end": {
387                              "line": 22,
388                              "column": 15
389                            }
390                          }
391                        },
392                        "loc": {
393                          "start": {
394                            "line": 22,
395                            "column": 9
396                          },
397                          "end": {
398                            "line": 22,
399                            "column": 15
400                          }
401                        }
402                      },
403                      "consequent": {
404                        "type": "BlockStatement",
405                        "statements": [
406                          {
407                            "type": "ReturnStatement",
408                            "argument": {
409                              "type": "BinaryExpression",
410                              "operator": "+",
411                              "left": {
412                                "type": "Identifier",
413                                "name": "n",
414                                "decorators": [],
415                                "loc": {
416                                  "start": {
417                                    "line": 23,
418                                    "column": 14
419                                  },
420                                  "end": {
421                                    "line": 23,
422                                    "column": 15
423                                  }
424                                }
425                              },
426                              "right": {
427                                "type": "NumberLiteral",
428                                "value": 1,
429                                "loc": {
430                                  "start": {
431                                    "line": 23,
432                                    "column": 18
433                                  },
434                                  "end": {
435                                    "line": 23,
436                                    "column": 19
437                                  }
438                                }
439                              },
440                              "loc": {
441                                "start": {
442                                  "line": 23,
443                                  "column": 14
444                                },
445                                "end": {
446                                  "line": 23,
447                                  "column": 19
448                                }
449                              }
450                            },
451                            "loc": {
452                              "start": {
453                                "line": 23,
454                                "column": 7
455                              },
456                              "end": {
457                                "line": 23,
458                                "column": 20
459                              }
460                            }
461                          }
462                        ],
463                        "loc": {
464                          "start": {
465                            "line": 22,
466                            "column": 17
467                          },
468                          "end": {
469                            "line": 24,
470                            "column": 6
471                          }
472                        }
473                      },
474                      "alternate": null,
475                      "loc": {
476                        "start": {
477                          "line": 22,
478                          "column": 5
479                        },
480                        "end": {
481                          "line": 24,
482                          "column": 6
483                        }
484                      }
485                    },
486                    {
487                      "type": "IfStatement",
488                      "test": {
489                        "type": "BinaryExpression",
490                        "operator": "==",
491                        "left": {
492                          "type": "Identifier",
493                          "name": "n",
494                          "decorators": [],
495                          "loc": {
496                            "start": {
497                              "line": 25,
498                              "column": 9
499                            },
500                            "end": {
501                              "line": 25,
502                              "column": 10
503                            }
504                          }
505                        },
506                        "right": {
507                          "type": "NumberLiteral",
508                          "value": 0,
509                          "loc": {
510                            "start": {
511                              "line": 25,
512                              "column": 14
513                            },
514                            "end": {
515                              "line": 25,
516                              "column": 15
517                            }
518                          }
519                        },
520                        "loc": {
521                          "start": {
522                            "line": 25,
523                            "column": 9
524                          },
525                          "end": {
526                            "line": 25,
527                            "column": 15
528                          }
529                        }
530                      },
531                      "consequent": {
532                        "type": "BlockStatement",
533                        "statements": [
534                          {
535                            "type": "ReturnStatement",
536                            "argument": {
537                              "type": "CallExpression",
538                              "callee": {
539                                "type": "MemberExpression",
540                                "object": {
541                                  "type": "Identifier",
542                                  "name": "ControlFlowRecursive",
543                                  "decorators": [],
544                                  "loc": {
545                                    "start": {
546                                      "line": 26,
547                                      "column": 14
548                                    },
549                                    "end": {
550                                      "line": 26,
551                                      "column": 34
552                                    }
553                                  }
554                                },
555                                "property": {
556                                  "type": "Identifier",
557                                  "name": "ack",
558                                  "decorators": [],
559                                  "loc": {
560                                    "start": {
561                                      "line": 26,
562                                      "column": 35
563                                    },
564                                    "end": {
565                                      "line": 26,
566                                      "column": 38
567                                    }
568                                  }
569                                },
570                                "computed": false,
571                                "optional": false,
572                                "loc": {
573                                  "start": {
574                                    "line": 26,
575                                    "column": 14
576                                  },
577                                  "end": {
578                                    "line": 26,
579                                    "column": 38
580                                  }
581                                }
582                              },
583                              "arguments": [
584                                {
585                                  "type": "BinaryExpression",
586                                  "operator": "-",
587                                  "left": {
588                                    "type": "Identifier",
589                                    "name": "m",
590                                    "decorators": [],
591                                    "loc": {
592                                      "start": {
593                                        "line": 26,
594                                        "column": 39
595                                      },
596                                      "end": {
597                                        "line": 26,
598                                        "column": 40
599                                      }
600                                    }
601                                  },
602                                  "right": {
603                                    "type": "NumberLiteral",
604                                    "value": 1,
605                                    "loc": {
606                                      "start": {
607                                        "line": 26,
608                                        "column": 43
609                                      },
610                                      "end": {
611                                        "line": 26,
612                                        "column": 44
613                                      }
614                                    }
615                                  },
616                                  "loc": {
617                                    "start": {
618                                      "line": 26,
619                                      "column": 39
620                                    },
621                                    "end": {
622                                      "line": 26,
623                                      "column": 44
624                                    }
625                                  }
626                                },
627                                {
628                                  "type": "NumberLiteral",
629                                  "value": 1,
630                                  "loc": {
631                                    "start": {
632                                      "line": 26,
633                                      "column": 46
634                                    },
635                                    "end": {
636                                      "line": 26,
637                                      "column": 47
638                                    }
639                                  }
640                                }
641                              ],
642                              "optional": false,
643                              "loc": {
644                                "start": {
645                                  "line": 26,
646                                  "column": 14
647                                },
648                                "end": {
649                                  "line": 26,
650                                  "column": 48
651                                }
652                              }
653                            },
654                            "loc": {
655                              "start": {
656                                "line": 26,
657                                "column": 7
658                              },
659                              "end": {
660                                "line": 26,
661                                "column": 49
662                              }
663                            }
664                          }
665                        ],
666                        "loc": {
667                          "start": {
668                            "line": 25,
669                            "column": 17
670                          },
671                          "end": {
672                            "line": 27,
673                            "column": 6
674                          }
675                        }
676                      },
677                      "alternate": null,
678                      "loc": {
679                        "start": {
680                          "line": 25,
681                          "column": 5
682                        },
683                        "end": {
684                          "line": 27,
685                          "column": 6
686                        }
687                      }
688                    },
689                    {
690                      "type": "ReturnStatement",
691                      "argument": {
692                        "type": "CallExpression",
693                        "callee": {
694                          "type": "MemberExpression",
695                          "object": {
696                            "type": "Identifier",
697                            "name": "ControlFlowRecursive",
698                            "decorators": [],
699                            "loc": {
700                              "start": {
701                                "line": 28,
702                                "column": 12
703                              },
704                              "end": {
705                                "line": 28,
706                                "column": 32
707                              }
708                            }
709                          },
710                          "property": {
711                            "type": "Identifier",
712                            "name": "ack",
713                            "decorators": [],
714                            "loc": {
715                              "start": {
716                                "line": 28,
717                                "column": 33
718                              },
719                              "end": {
720                                "line": 28,
721                                "column": 36
722                              }
723                            }
724                          },
725                          "computed": false,
726                          "optional": false,
727                          "loc": {
728                            "start": {
729                              "line": 28,
730                              "column": 12
731                            },
732                            "end": {
733                              "line": 28,
734                              "column": 36
735                            }
736                          }
737                        },
738                        "arguments": [
739                          {
740                            "type": "BinaryExpression",
741                            "operator": "-",
742                            "left": {
743                              "type": "Identifier",
744                              "name": "m",
745                              "decorators": [],
746                              "loc": {
747                                "start": {
748                                  "line": 28,
749                                  "column": 37
750                                },
751                                "end": {
752                                  "line": 28,
753                                  "column": 38
754                                }
755                              }
756                            },
757                            "right": {
758                              "type": "NumberLiteral",
759                              "value": 1,
760                              "loc": {
761                                "start": {
762                                  "line": 28,
763                                  "column": 41
764                                },
765                                "end": {
766                                  "line": 28,
767                                  "column": 42
768                                }
769                              }
770                            },
771                            "loc": {
772                              "start": {
773                                "line": 28,
774                                "column": 37
775                              },
776                              "end": {
777                                "line": 28,
778                                "column": 42
779                              }
780                            }
781                          },
782                          {
783                            "type": "CallExpression",
784                            "callee": {
785                              "type": "MemberExpression",
786                              "object": {
787                                "type": "Identifier",
788                                "name": "ControlFlowRecursive",
789                                "decorators": [],
790                                "loc": {
791                                  "start": {
792                                    "line": 28,
793                                    "column": 44
794                                  },
795                                  "end": {
796                                    "line": 28,
797                                    "column": 64
798                                  }
799                                }
800                              },
801                              "property": {
802                                "type": "Identifier",
803                                "name": "ack",
804                                "decorators": [],
805                                "loc": {
806                                  "start": {
807                                    "line": 28,
808                                    "column": 65
809                                  },
810                                  "end": {
811                                    "line": 28,
812                                    "column": 68
813                                  }
814                                }
815                              },
816                              "computed": false,
817                              "optional": false,
818                              "loc": {
819                                "start": {
820                                  "line": 28,
821                                  "column": 44
822                                },
823                                "end": {
824                                  "line": 28,
825                                  "column": 68
826                                }
827                              }
828                            },
829                            "arguments": [
830                              {
831                                "type": "Identifier",
832                                "name": "m",
833                                "decorators": [],
834                                "loc": {
835                                  "start": {
836                                    "line": 28,
837                                    "column": 69
838                                  },
839                                  "end": {
840                                    "line": 28,
841                                    "column": 70
842                                  }
843                                }
844                              },
845                              {
846                                "type": "BinaryExpression",
847                                "operator": "-",
848                                "left": {
849                                  "type": "Identifier",
850                                  "name": "n",
851                                  "decorators": [],
852                                  "loc": {
853                                    "start": {
854                                      "line": 28,
855                                      "column": 72
856                                    },
857                                    "end": {
858                                      "line": 28,
859                                      "column": 73
860                                    }
861                                  }
862                                },
863                                "right": {
864                                  "type": "NumberLiteral",
865                                  "value": 1,
866                                  "loc": {
867                                    "start": {
868                                      "line": 28,
869                                      "column": 76
870                                    },
871                                    "end": {
872                                      "line": 28,
873                                      "column": 77
874                                    }
875                                  }
876                                },
877                                "loc": {
878                                  "start": {
879                                    "line": 28,
880                                    "column": 72
881                                  },
882                                  "end": {
883                                    "line": 28,
884                                    "column": 77
885                                  }
886                                }
887                              }
888                            ],
889                            "optional": false,
890                            "loc": {
891                              "start": {
892                                "line": 28,
893                                "column": 44
894                              },
895                              "end": {
896                                "line": 28,
897                                "column": 78
898                              }
899                            }
900                          }
901                        ],
902                        "optional": false,
903                        "loc": {
904                          "start": {
905                            "line": 28,
906                            "column": 12
907                          },
908                          "end": {
909                            "line": 28,
910                            "column": 79
911                          }
912                        }
913                      },
914                      "loc": {
915                        "start": {
916                          "line": 28,
917                          "column": 5
918                        },
919                        "end": {
920                          "line": 28,
921                          "column": 80
922                        }
923                      }
924                    }
925                  ],
926                  "loc": {
927                    "start": {
928                      "line": 21,
929                      "column": 43
930                    },
931                    "end": {
932                      "line": 29,
933                      "column": 4
934                    }
935                  }
936                },
937                "loc": {
938                  "start": {
939                    "line": 21,
940                    "column": 21
941                  },
942                  "end": {
943                    "line": 29,
944                    "column": 4
945                  }
946                }
947              },
948              "loc": {
949                "start": {
950                  "line": 21,
951                  "column": 21
952                },
953                "end": {
954                  "line": 29,
955                  "column": 4
956                }
957              }
958            },
959            "overloads": [],
960            "decorators": [],
961            "loc": {
962              "start": {
963                "line": 21,
964                "column": 3
965              },
966              "end": {
967                "line": 29,
968                "column": 4
969              }
970            }
971          },
972          {
973            "type": "MethodDefinition",
974            "key": {
975              "type": "Identifier",
976              "name": "fib",
977              "decorators": [],
978              "loc": {
979                "start": {
980                  "line": 31,
981                  "column": 18
982                },
983                "end": {
984                  "line": 31,
985                  "column": 21
986                }
987              }
988            },
989            "kind": "method",
990            "accessibility": "private",
991            "static": true,
992            "optional": false,
993            "computed": false,
994            "value": {
995              "type": "FunctionExpression",
996              "function": {
997                "type": "ScriptFunction",
998                "id": {
999                  "type": "Identifier",
1000                  "name": "fib",
1001                  "decorators": [],
1002                  "loc": {
1003                    "start": {
1004                      "line": 31,
1005                      "column": 18
1006                    },
1007                    "end": {
1008                      "line": 31,
1009                      "column": 21
1010                    }
1011                  }
1012                },
1013                "generator": false,
1014                "async": false,
1015                "expression": false,
1016                "params": [
1017                  {
1018                    "type": "ETSParameterExpression",
1019                    "name": {
1020                      "type": "Identifier",
1021                      "name": "n",
1022                      "typeAnnotation": {
1023                        "type": "ETSPrimitiveType",
1024                        "loc": {
1025                          "start": {
1026                            "line": 31,
1027                            "column": 25
1028                          },
1029                          "end": {
1030                            "line": 31,
1031                            "column": 28
1032                          }
1033                        }
1034                      },
1035                      "decorators": [],
1036                      "loc": {
1037                        "start": {
1038                          "line": 31,
1039                          "column": 22
1040                        },
1041                        "end": {
1042                          "line": 31,
1043                          "column": 28
1044                        }
1045                      }
1046                    },
1047                    "loc": {
1048                      "start": {
1049                        "line": 31,
1050                        "column": 22
1051                      },
1052                      "end": {
1053                        "line": 31,
1054                        "column": 28
1055                      }
1056                    }
1057                  }
1058                ],
1059                "returnType": {
1060                  "type": "ETSPrimitiveType",
1061                  "loc": {
1062                    "start": {
1063                      "line": 31,
1064                      "column": 31
1065                    },
1066                    "end": {
1067                      "line": 31,
1068                      "column": 34
1069                    }
1070                  }
1071                },
1072                "body": {
1073                  "type": "BlockStatement",
1074                  "statements": [
1075                    {
1076                      "type": "IfStatement",
1077                      "test": {
1078                        "type": "BinaryExpression",
1079                        "operator": "<",
1080                        "left": {
1081                          "type": "Identifier",
1082                          "name": "n",
1083                          "decorators": [],
1084                          "loc": {
1085                            "start": {
1086                              "line": 32,
1087                              "column": 9
1088                            },
1089                            "end": {
1090                              "line": 32,
1091                              "column": 10
1092                            }
1093                          }
1094                        },
1095                        "right": {
1096                          "type": "NumberLiteral",
1097                          "value": 2,
1098                          "loc": {
1099                            "start": {
1100                              "line": 32,
1101                              "column": 13
1102                            },
1103                            "end": {
1104                              "line": 32,
1105                              "column": 14
1106                            }
1107                          }
1108                        },
1109                        "loc": {
1110                          "start": {
1111                            "line": 32,
1112                            "column": 9
1113                          },
1114                          "end": {
1115                            "line": 32,
1116                            "column": 14
1117                          }
1118                        }
1119                      },
1120                      "consequent": {
1121                        "type": "BlockStatement",
1122                        "statements": [
1123                          {
1124                            "type": "ReturnStatement",
1125                            "argument": {
1126                              "type": "NumberLiteral",
1127                              "value": 1,
1128                              "loc": {
1129                                "start": {
1130                                  "line": 33,
1131                                  "column": 14
1132                                },
1133                                "end": {
1134                                  "line": 33,
1135                                  "column": 15
1136                                }
1137                              }
1138                            },
1139                            "loc": {
1140                              "start": {
1141                                "line": 33,
1142                                "column": 7
1143                              },
1144                              "end": {
1145                                "line": 33,
1146                                "column": 16
1147                              }
1148                            }
1149                          }
1150                        ],
1151                        "loc": {
1152                          "start": {
1153                            "line": 32,
1154                            "column": 16
1155                          },
1156                          "end": {
1157                            "line": 34,
1158                            "column": 6
1159                          }
1160                        }
1161                      },
1162                      "alternate": null,
1163                      "loc": {
1164                        "start": {
1165                          "line": 32,
1166                          "column": 5
1167                        },
1168                        "end": {
1169                          "line": 34,
1170                          "column": 6
1171                        }
1172                      }
1173                    },
1174                    {
1175                      "type": "ReturnStatement",
1176                      "argument": {
1177                        "type": "BinaryExpression",
1178                        "operator": "+",
1179                        "left": {
1180                          "type": "CallExpression",
1181                          "callee": {
1182                            "type": "MemberExpression",
1183                            "object": {
1184                              "type": "Identifier",
1185                              "name": "ControlFlowRecursive",
1186                              "decorators": [],
1187                              "loc": {
1188                                "start": {
1189                                  "line": 35,
1190                                  "column": 12
1191                                },
1192                                "end": {
1193                                  "line": 35,
1194                                  "column": 32
1195                                }
1196                              }
1197                            },
1198                            "property": {
1199                              "type": "Identifier",
1200                              "name": "fib",
1201                              "decorators": [],
1202                              "loc": {
1203                                "start": {
1204                                  "line": 35,
1205                                  "column": 33
1206                                },
1207                                "end": {
1208                                  "line": 35,
1209                                  "column": 36
1210                                }
1211                              }
1212                            },
1213                            "computed": false,
1214                            "optional": false,
1215                            "loc": {
1216                              "start": {
1217                                "line": 35,
1218                                "column": 12
1219                              },
1220                              "end": {
1221                                "line": 35,
1222                                "column": 36
1223                              }
1224                            }
1225                          },
1226                          "arguments": [
1227                            {
1228                              "type": "BinaryExpression",
1229                              "operator": "-",
1230                              "left": {
1231                                "type": "Identifier",
1232                                "name": "n",
1233                                "decorators": [],
1234                                "loc": {
1235                                  "start": {
1236                                    "line": 35,
1237                                    "column": 37
1238                                  },
1239                                  "end": {
1240                                    "line": 35,
1241                                    "column": 38
1242                                  }
1243                                }
1244                              },
1245                              "right": {
1246                                "type": "NumberLiteral",
1247                                "value": 2,
1248                                "loc": {
1249                                  "start": {
1250                                    "line": 35,
1251                                    "column": 41
1252                                  },
1253                                  "end": {
1254                                    "line": 35,
1255                                    "column": 42
1256                                  }
1257                                }
1258                              },
1259                              "loc": {
1260                                "start": {
1261                                  "line": 35,
1262                                  "column": 37
1263                                },
1264                                "end": {
1265                                  "line": 35,
1266                                  "column": 42
1267                                }
1268                              }
1269                            }
1270                          ],
1271                          "optional": false,
1272                          "loc": {
1273                            "start": {
1274                              "line": 35,
1275                              "column": 12
1276                            },
1277                            "end": {
1278                              "line": 35,
1279                              "column": 43
1280                            }
1281                          }
1282                        },
1283                        "right": {
1284                          "type": "CallExpression",
1285                          "callee": {
1286                            "type": "MemberExpression",
1287                            "object": {
1288                              "type": "Identifier",
1289                              "name": "ControlFlowRecursive",
1290                              "decorators": [],
1291                              "loc": {
1292                                "start": {
1293                                  "line": 35,
1294                                  "column": 46
1295                                },
1296                                "end": {
1297                                  "line": 35,
1298                                  "column": 66
1299                                }
1300                              }
1301                            },
1302                            "property": {
1303                              "type": "Identifier",
1304                              "name": "fib",
1305                              "decorators": [],
1306                              "loc": {
1307                                "start": {
1308                                  "line": 35,
1309                                  "column": 67
1310                                },
1311                                "end": {
1312                                  "line": 35,
1313                                  "column": 70
1314                                }
1315                              }
1316                            },
1317                            "computed": false,
1318                            "optional": false,
1319                            "loc": {
1320                              "start": {
1321                                "line": 35,
1322                                "column": 46
1323                              },
1324                              "end": {
1325                                "line": 35,
1326                                "column": 70
1327                              }
1328                            }
1329                          },
1330                          "arguments": [
1331                            {
1332                              "type": "BinaryExpression",
1333                              "operator": "-",
1334                              "left": {
1335                                "type": "Identifier",
1336                                "name": "n",
1337                                "decorators": [],
1338                                "loc": {
1339                                  "start": {
1340                                    "line": 35,
1341                                    "column": 71
1342                                  },
1343                                  "end": {
1344                                    "line": 35,
1345                                    "column": 72
1346                                  }
1347                                }
1348                              },
1349                              "right": {
1350                                "type": "NumberLiteral",
1351                                "value": 1,
1352                                "loc": {
1353                                  "start": {
1354                                    "line": 35,
1355                                    "column": 75
1356                                  },
1357                                  "end": {
1358                                    "line": 35,
1359                                    "column": 76
1360                                  }
1361                                }
1362                              },
1363                              "loc": {
1364                                "start": {
1365                                  "line": 35,
1366                                  "column": 71
1367                                },
1368                                "end": {
1369                                  "line": 35,
1370                                  "column": 76
1371                                }
1372                              }
1373                            }
1374                          ],
1375                          "optional": false,
1376                          "loc": {
1377                            "start": {
1378                              "line": 35,
1379                              "column": 46
1380                            },
1381                            "end": {
1382                              "line": 35,
1383                              "column": 77
1384                            }
1385                          }
1386                        },
1387                        "loc": {
1388                          "start": {
1389                            "line": 35,
1390                            "column": 12
1391                          },
1392                          "end": {
1393                            "line": 35,
1394                            "column": 77
1395                          }
1396                        }
1397                      },
1398                      "loc": {
1399                        "start": {
1400                          "line": 35,
1401                          "column": 5
1402                        },
1403                        "end": {
1404                          "line": 35,
1405                          "column": 78
1406                        }
1407                      }
1408                    }
1409                  ],
1410                  "loc": {
1411                    "start": {
1412                      "line": 31,
1413                      "column": 35
1414                    },
1415                    "end": {
1416                      "line": 36,
1417                      "column": 4
1418                    }
1419                  }
1420                },
1421                "loc": {
1422                  "start": {
1423                    "line": 31,
1424                    "column": 21
1425                  },
1426                  "end": {
1427                    "line": 36,
1428                    "column": 4
1429                  }
1430                }
1431              },
1432              "loc": {
1433                "start": {
1434                  "line": 31,
1435                  "column": 21
1436                },
1437                "end": {
1438                  "line": 36,
1439                  "column": 4
1440                }
1441              }
1442            },
1443            "overloads": [],
1444            "decorators": [],
1445            "loc": {
1446              "start": {
1447                "line": 31,
1448                "column": 3
1449              },
1450              "end": {
1451                "line": 36,
1452                "column": 4
1453              }
1454            }
1455          },
1456          {
1457            "type": "MethodDefinition",
1458            "key": {
1459              "type": "Identifier",
1460              "name": "tak",
1461              "decorators": [],
1462              "loc": {
1463                "start": {
1464                  "line": 38,
1465                  "column": 18
1466                },
1467                "end": {
1468                  "line": 38,
1469                  "column": 21
1470                }
1471              }
1472            },
1473            "kind": "method",
1474            "accessibility": "private",
1475            "static": true,
1476            "optional": false,
1477            "computed": false,
1478            "value": {
1479              "type": "FunctionExpression",
1480              "function": {
1481                "type": "ScriptFunction",
1482                "id": {
1483                  "type": "Identifier",
1484                  "name": "tak",
1485                  "decorators": [],
1486                  "loc": {
1487                    "start": {
1488                      "line": 38,
1489                      "column": 18
1490                    },
1491                    "end": {
1492                      "line": 38,
1493                      "column": 21
1494                    }
1495                  }
1496                },
1497                "generator": false,
1498                "async": false,
1499                "expression": false,
1500                "params": [
1501                  {
1502                    "type": "ETSParameterExpression",
1503                    "name": {
1504                      "type": "Identifier",
1505                      "name": "x",
1506                      "typeAnnotation": {
1507                        "type": "ETSPrimitiveType",
1508                        "loc": {
1509                          "start": {
1510                            "line": 38,
1511                            "column": 25
1512                          },
1513                          "end": {
1514                            "line": 38,
1515                            "column": 28
1516                          }
1517                        }
1518                      },
1519                      "decorators": [],
1520                      "loc": {
1521                        "start": {
1522                          "line": 38,
1523                          "column": 22
1524                        },
1525                        "end": {
1526                          "line": 38,
1527                          "column": 28
1528                        }
1529                      }
1530                    },
1531                    "loc": {
1532                      "start": {
1533                        "line": 38,
1534                        "column": 22
1535                      },
1536                      "end": {
1537                        "line": 38,
1538                        "column": 28
1539                      }
1540                    }
1541                  },
1542                  {
1543                    "type": "ETSParameterExpression",
1544                    "name": {
1545                      "type": "Identifier",
1546                      "name": "y",
1547                      "typeAnnotation": {
1548                        "type": "ETSPrimitiveType",
1549                        "loc": {
1550                          "start": {
1551                            "line": 38,
1552                            "column": 33
1553                          },
1554                          "end": {
1555                            "line": 38,
1556                            "column": 36
1557                          }
1558                        }
1559                      },
1560                      "decorators": [],
1561                      "loc": {
1562                        "start": {
1563                          "line": 38,
1564                          "column": 30
1565                        },
1566                        "end": {
1567                          "line": 38,
1568                          "column": 36
1569                        }
1570                      }
1571                    },
1572                    "loc": {
1573                      "start": {
1574                        "line": 38,
1575                        "column": 30
1576                      },
1577                      "end": {
1578                        "line": 38,
1579                        "column": 36
1580                      }
1581                    }
1582                  },
1583                  {
1584                    "type": "ETSParameterExpression",
1585                    "name": {
1586                      "type": "Identifier",
1587                      "name": "z",
1588                      "typeAnnotation": {
1589                        "type": "ETSPrimitiveType",
1590                        "loc": {
1591                          "start": {
1592                            "line": 38,
1593                            "column": 41
1594                          },
1595                          "end": {
1596                            "line": 38,
1597                            "column": 44
1598                          }
1599                        }
1600                      },
1601                      "decorators": [],
1602                      "loc": {
1603                        "start": {
1604                          "line": 38,
1605                          "column": 38
1606                        },
1607                        "end": {
1608                          "line": 38,
1609                          "column": 44
1610                        }
1611                      }
1612                    },
1613                    "loc": {
1614                      "start": {
1615                        "line": 38,
1616                        "column": 38
1617                      },
1618                      "end": {
1619                        "line": 38,
1620                        "column": 44
1621                      }
1622                    }
1623                  }
1624                ],
1625                "returnType": {
1626                  "type": "ETSPrimitiveType",
1627                  "loc": {
1628                    "start": {
1629                      "line": 38,
1630                      "column": 47
1631                    },
1632                    "end": {
1633                      "line": 38,
1634                      "column": 50
1635                    }
1636                  }
1637                },
1638                "body": {
1639                  "type": "BlockStatement",
1640                  "statements": [
1641                    {
1642                      "type": "IfStatement",
1643                      "test": {
1644                        "type": "BinaryExpression",
1645                        "operator": ">=",
1646                        "left": {
1647                          "type": "Identifier",
1648                          "name": "y",
1649                          "decorators": [],
1650                          "loc": {
1651                            "start": {
1652                              "line": 39,
1653                              "column": 9
1654                            },
1655                            "end": {
1656                              "line": 39,
1657                              "column": 10
1658                            }
1659                          }
1660                        },
1661                        "right": {
1662                          "type": "Identifier",
1663                          "name": "x",
1664                          "decorators": [],
1665                          "loc": {
1666                            "start": {
1667                              "line": 39,
1668                              "column": 14
1669                            },
1670                            "end": {
1671                              "line": 39,
1672                              "column": 15
1673                            }
1674                          }
1675                        },
1676                        "loc": {
1677                          "start": {
1678                            "line": 39,
1679                            "column": 9
1680                          },
1681                          "end": {
1682                            "line": 39,
1683                            "column": 15
1684                          }
1685                        }
1686                      },
1687                      "consequent": {
1688                        "type": "BlockStatement",
1689                        "statements": [
1690                          {
1691                            "type": "ReturnStatement",
1692                            "argument": {
1693                              "type": "Identifier",
1694                              "name": "z",
1695                              "decorators": [],
1696                              "loc": {
1697                                "start": {
1698                                  "line": 40,
1699                                  "column": 14
1700                                },
1701                                "end": {
1702                                  "line": 40,
1703                                  "column": 15
1704                                }
1705                              }
1706                            },
1707                            "loc": {
1708                              "start": {
1709                                "line": 40,
1710                                "column": 7
1711                              },
1712                              "end": {
1713                                "line": 40,
1714                                "column": 16
1715                              }
1716                            }
1717                          }
1718                        ],
1719                        "loc": {
1720                          "start": {
1721                            "line": 39,
1722                            "column": 17
1723                          },
1724                          "end": {
1725                            "line": 41,
1726                            "column": 6
1727                          }
1728                        }
1729                      },
1730                      "alternate": null,
1731                      "loc": {
1732                        "start": {
1733                          "line": 39,
1734                          "column": 5
1735                        },
1736                        "end": {
1737                          "line": 41,
1738                          "column": 6
1739                        }
1740                      }
1741                    },
1742                    {
1743                      "type": "ReturnStatement",
1744                      "argument": {
1745                        "type": "CallExpression",
1746                        "callee": {
1747                          "type": "MemberExpression",
1748                          "object": {
1749                            "type": "Identifier",
1750                            "name": "ControlFlowRecursive",
1751                            "decorators": [],
1752                            "loc": {
1753                              "start": {
1754                                "line": 42,
1755                                "column": 12
1756                              },
1757                              "end": {
1758                                "line": 42,
1759                                "column": 32
1760                              }
1761                            }
1762                          },
1763                          "property": {
1764                            "type": "Identifier",
1765                            "name": "tak",
1766                            "decorators": [],
1767                            "loc": {
1768                              "start": {
1769                                "line": 42,
1770                                "column": 33
1771                              },
1772                              "end": {
1773                                "line": 42,
1774                                "column": 36
1775                              }
1776                            }
1777                          },
1778                          "computed": false,
1779                          "optional": false,
1780                          "loc": {
1781                            "start": {
1782                              "line": 42,
1783                              "column": 12
1784                            },
1785                            "end": {
1786                              "line": 42,
1787                              "column": 36
1788                            }
1789                          }
1790                        },
1791                        "arguments": [
1792                          {
1793                            "type": "CallExpression",
1794                            "callee": {
1795                              "type": "MemberExpression",
1796                              "object": {
1797                                "type": "Identifier",
1798                                "name": "ControlFlowRecursive",
1799                                "decorators": [],
1800                                "loc": {
1801                                  "start": {
1802                                    "line": 42,
1803                                    "column": 37
1804                                  },
1805                                  "end": {
1806                                    "line": 42,
1807                                    "column": 57
1808                                  }
1809                                }
1810                              },
1811                              "property": {
1812                                "type": "Identifier",
1813                                "name": "tak",
1814                                "decorators": [],
1815                                "loc": {
1816                                  "start": {
1817                                    "line": 42,
1818                                    "column": 58
1819                                  },
1820                                  "end": {
1821                                    "line": 42,
1822                                    "column": 61
1823                                  }
1824                                }
1825                              },
1826                              "computed": false,
1827                              "optional": false,
1828                              "loc": {
1829                                "start": {
1830                                  "line": 42,
1831                                  "column": 37
1832                                },
1833                                "end": {
1834                                  "line": 42,
1835                                  "column": 61
1836                                }
1837                              }
1838                            },
1839                            "arguments": [
1840                              {
1841                                "type": "BinaryExpression",
1842                                "operator": "-",
1843                                "left": {
1844                                  "type": "Identifier",
1845                                  "name": "x",
1846                                  "decorators": [],
1847                                  "loc": {
1848                                    "start": {
1849                                      "line": 42,
1850                                      "column": 62
1851                                    },
1852                                    "end": {
1853                                      "line": 42,
1854                                      "column": 63
1855                                    }
1856                                  }
1857                                },
1858                                "right": {
1859                                  "type": "NumberLiteral",
1860                                  "value": 1,
1861                                  "loc": {
1862                                    "start": {
1863                                      "line": 42,
1864                                      "column": 66
1865                                    },
1866                                    "end": {
1867                                      "line": 42,
1868                                      "column": 67
1869                                    }
1870                                  }
1871                                },
1872                                "loc": {
1873                                  "start": {
1874                                    "line": 42,
1875                                    "column": 62
1876                                  },
1877                                  "end": {
1878                                    "line": 42,
1879                                    "column": 67
1880                                  }
1881                                }
1882                              },
1883                              {
1884                                "type": "Identifier",
1885                                "name": "y",
1886                                "decorators": [],
1887                                "loc": {
1888                                  "start": {
1889                                    "line": 42,
1890                                    "column": 69
1891                                  },
1892                                  "end": {
1893                                    "line": 42,
1894                                    "column": 70
1895                                  }
1896                                }
1897                              },
1898                              {
1899                                "type": "Identifier",
1900                                "name": "z",
1901                                "decorators": [],
1902                                "loc": {
1903                                  "start": {
1904                                    "line": 42,
1905                                    "column": 72
1906                                  },
1907                                  "end": {
1908                                    "line": 42,
1909                                    "column": 73
1910                                  }
1911                                }
1912                              }
1913                            ],
1914                            "optional": false,
1915                            "loc": {
1916                              "start": {
1917                                "line": 42,
1918                                "column": 37
1919                              },
1920                              "end": {
1921                                "line": 42,
1922                                "column": 74
1923                              }
1924                            }
1925                          },
1926                          {
1927                            "type": "CallExpression",
1928                            "callee": {
1929                              "type": "MemberExpression",
1930                              "object": {
1931                                "type": "Identifier",
1932                                "name": "ControlFlowRecursive",
1933                                "decorators": [],
1934                                "loc": {
1935                                  "start": {
1936                                    "line": 42,
1937                                    "column": 76
1938                                  },
1939                                  "end": {
1940                                    "line": 42,
1941                                    "column": 96
1942                                  }
1943                                }
1944                              },
1945                              "property": {
1946                                "type": "Identifier",
1947                                "name": "tak",
1948                                "decorators": [],
1949                                "loc": {
1950                                  "start": {
1951                                    "line": 42,
1952                                    "column": 97
1953                                  },
1954                                  "end": {
1955                                    "line": 42,
1956                                    "column": 100
1957                                  }
1958                                }
1959                              },
1960                              "computed": false,
1961                              "optional": false,
1962                              "loc": {
1963                                "start": {
1964                                  "line": 42,
1965                                  "column": 76
1966                                },
1967                                "end": {
1968                                  "line": 42,
1969                                  "column": 100
1970                                }
1971                              }
1972                            },
1973                            "arguments": [
1974                              {
1975                                "type": "BinaryExpression",
1976                                "operator": "-",
1977                                "left": {
1978                                  "type": "Identifier",
1979                                  "name": "y",
1980                                  "decorators": [],
1981                                  "loc": {
1982                                    "start": {
1983                                      "line": 42,
1984                                      "column": 101
1985                                    },
1986                                    "end": {
1987                                      "line": 42,
1988                                      "column": 102
1989                                    }
1990                                  }
1991                                },
1992                                "right": {
1993                                  "type": "NumberLiteral",
1994                                  "value": 1,
1995                                  "loc": {
1996                                    "start": {
1997                                      "line": 42,
1998                                      "column": 105
1999                                    },
2000                                    "end": {
2001                                      "line": 42,
2002                                      "column": 106
2003                                    }
2004                                  }
2005                                },
2006                                "loc": {
2007                                  "start": {
2008                                    "line": 42,
2009                                    "column": 101
2010                                  },
2011                                  "end": {
2012                                    "line": 42,
2013                                    "column": 106
2014                                  }
2015                                }
2016                              },
2017                              {
2018                                "type": "Identifier",
2019                                "name": "z",
2020                                "decorators": [],
2021                                "loc": {
2022                                  "start": {
2023                                    "line": 42,
2024                                    "column": 108
2025                                  },
2026                                  "end": {
2027                                    "line": 42,
2028                                    "column": 109
2029                                  }
2030                                }
2031                              },
2032                              {
2033                                "type": "Identifier",
2034                                "name": "x",
2035                                "decorators": [],
2036                                "loc": {
2037                                  "start": {
2038                                    "line": 42,
2039                                    "column": 111
2040                                  },
2041                                  "end": {
2042                                    "line": 42,
2043                                    "column": 112
2044                                  }
2045                                }
2046                              }
2047                            ],
2048                            "optional": false,
2049                            "loc": {
2050                              "start": {
2051                                "line": 42,
2052                                "column": 76
2053                              },
2054                              "end": {
2055                                "line": 42,
2056                                "column": 113
2057                              }
2058                            }
2059                          },
2060                          {
2061                            "type": "CallExpression",
2062                            "callee": {
2063                              "type": "MemberExpression",
2064                              "object": {
2065                                "type": "Identifier",
2066                                "name": "ControlFlowRecursive",
2067                                "decorators": [],
2068                                "loc": {
2069                                  "start": {
2070                                    "line": 42,
2071                                    "column": 115
2072                                  },
2073                                  "end": {
2074                                    "line": 42,
2075                                    "column": 135
2076                                  }
2077                                }
2078                              },
2079                              "property": {
2080                                "type": "Identifier",
2081                                "name": "tak",
2082                                "decorators": [],
2083                                "loc": {
2084                                  "start": {
2085                                    "line": 42,
2086                                    "column": 136
2087                                  },
2088                                  "end": {
2089                                    "line": 42,
2090                                    "column": 139
2091                                  }
2092                                }
2093                              },
2094                              "computed": false,
2095                              "optional": false,
2096                              "loc": {
2097                                "start": {
2098                                  "line": 42,
2099                                  "column": 115
2100                                },
2101                                "end": {
2102                                  "line": 42,
2103                                  "column": 139
2104                                }
2105                              }
2106                            },
2107                            "arguments": [
2108                              {
2109                                "type": "BinaryExpression",
2110                                "operator": "-",
2111                                "left": {
2112                                  "type": "Identifier",
2113                                  "name": "z",
2114                                  "decorators": [],
2115                                  "loc": {
2116                                    "start": {
2117                                      "line": 42,
2118                                      "column": 140
2119                                    },
2120                                    "end": {
2121                                      "line": 42,
2122                                      "column": 141
2123                                    }
2124                                  }
2125                                },
2126                                "right": {
2127                                  "type": "NumberLiteral",
2128                                  "value": 1,
2129                                  "loc": {
2130                                    "start": {
2131                                      "line": 42,
2132                                      "column": 144
2133                                    },
2134                                    "end": {
2135                                      "line": 42,
2136                                      "column": 145
2137                                    }
2138                                  }
2139                                },
2140                                "loc": {
2141                                  "start": {
2142                                    "line": 42,
2143                                    "column": 140
2144                                  },
2145                                  "end": {
2146                                    "line": 42,
2147                                    "column": 145
2148                                  }
2149                                }
2150                              },
2151                              {
2152                                "type": "Identifier",
2153                                "name": "x",
2154                                "decorators": [],
2155                                "loc": {
2156                                  "start": {
2157                                    "line": 42,
2158                                    "column": 147
2159                                  },
2160                                  "end": {
2161                                    "line": 42,
2162                                    "column": 148
2163                                  }
2164                                }
2165                              },
2166                              {
2167                                "type": "Identifier",
2168                                "name": "y",
2169                                "decorators": [],
2170                                "loc": {
2171                                  "start": {
2172                                    "line": 42,
2173                                    "column": 150
2174                                  },
2175                                  "end": {
2176                                    "line": 42,
2177                                    "column": 151
2178                                  }
2179                                }
2180                              }
2181                            ],
2182                            "optional": false,
2183                            "loc": {
2184                              "start": {
2185                                "line": 42,
2186                                "column": 115
2187                              },
2188                              "end": {
2189                                "line": 42,
2190                                "column": 152
2191                              }
2192                            }
2193                          }
2194                        ],
2195                        "optional": false,
2196                        "loc": {
2197                          "start": {
2198                            "line": 42,
2199                            "column": 12
2200                          },
2201                          "end": {
2202                            "line": 42,
2203                            "column": 153
2204                          }
2205                        }
2206                      },
2207                      "loc": {
2208                        "start": {
2209                          "line": 42,
2210                          "column": 5
2211                        },
2212                        "end": {
2213                          "line": 42,
2214                          "column": 154
2215                        }
2216                      }
2217                    }
2218                  ],
2219                  "loc": {
2220                    "start": {
2221                      "line": 38,
2222                      "column": 51
2223                    },
2224                    "end": {
2225                      "line": 43,
2226                      "column": 4
2227                    }
2228                  }
2229                },
2230                "loc": {
2231                  "start": {
2232                    "line": 38,
2233                    "column": 21
2234                  },
2235                  "end": {
2236                    "line": 43,
2237                    "column": 4
2238                  }
2239                }
2240              },
2241              "loc": {
2242                "start": {
2243                  "line": 38,
2244                  "column": 21
2245                },
2246                "end": {
2247                  "line": 43,
2248                  "column": 4
2249                }
2250              }
2251            },
2252            "overloads": [],
2253            "decorators": [],
2254            "loc": {
2255              "start": {
2256                "line": 38,
2257                "column": 3
2258              },
2259              "end": {
2260                "line": 43,
2261                "column": 4
2262              }
2263            }
2264          },
2265          {
2266            "type": "MethodDefinition",
2267            "key": {
2268              "type": "Identifier",
2269              "name": "run",
2270              "decorators": [],
2271              "loc": {
2272                "start": {
2273                  "line": 45,
2274                  "column": 17
2275                },
2276                "end": {
2277                  "line": 45,
2278                  "column": 20
2279                }
2280              }
2281            },
2282            "kind": "method",
2283            "accessibility": "public",
2284            "static": true,
2285            "optional": false,
2286            "computed": false,
2287            "value": {
2288              "type": "FunctionExpression",
2289              "function": {
2290                "type": "ScriptFunction",
2291                "id": {
2292                  "type": "Identifier",
2293                  "name": "run",
2294                  "decorators": [],
2295                  "loc": {
2296                    "start": {
2297                      "line": 45,
2298                      "column": 17
2299                    },
2300                    "end": {
2301                      "line": 45,
2302                      "column": 20
2303                    }
2304                  }
2305                },
2306                "generator": false,
2307                "async": false,
2308                "expression": false,
2309                "params": [],
2310                "returnType": {
2311                  "type": "ETSTypeReference",
2312                  "part": {
2313                    "type": "ETSTypeReferencePart",
2314                    "name": {
2315                      "type": "Identifier",
2316                      "name": "void",
2317                      "decorators": [],
2318                      "loc": {
2319                        "start": {
2320                          "line": 45,
2321                          "column": 24
2322                        },
2323                        "end": {
2324                          "line": 45,
2325                          "column": 28
2326                        }
2327                      }
2328                    },
2329                    "loc": {
2330                      "start": {
2331                        "line": 45,
2332                        "column": 24
2333                      },
2334                      "end": {
2335                        "line": 45,
2336                        "column": 30
2337                      }
2338                    }
2339                  },
2340                  "loc": {
2341                    "start": {
2342                      "line": 45,
2343                      "column": 24
2344                    },
2345                    "end": {
2346                      "line": 45,
2347                      "column": 30
2348                    }
2349                  }
2350                },
2351                "body": {
2352                  "type": "BlockStatement",
2353                  "statements": [
2354                    {
2355                      "type": "VariableDeclaration",
2356                      "declarations": [
2357                        {
2358                          "type": "VariableDeclarator",
2359                          "id": {
2360                            "type": "Identifier",
2361                            "name": "result",
2362                            "typeAnnotation": {
2363                              "type": "ETSPrimitiveType",
2364                              "loc": {
2365                                "start": {
2366                                  "line": 46,
2367                                  "column": 17
2368                                },
2369                                "end": {
2370                                  "line": 46,
2371                                  "column": 20
2372                                }
2373                              }
2374                            },
2375                            "decorators": [],
2376                            "loc": {
2377                              "start": {
2378                                "line": 46,
2379                                "column": 9
2380                              },
2381                              "end": {
2382                                "line": 46,
2383                                "column": 15
2384                              }
2385                            }
2386                          },
2387                          "init": {
2388                            "type": "NumberLiteral",
2389                            "value": 0,
2390                            "loc": {
2391                              "start": {
2392                                "line": 46,
2393                                "column": 23
2394                              },
2395                              "end": {
2396                                "line": 46,
2397                                "column": 24
2398                              }
2399                            }
2400                          },
2401                          "loc": {
2402                            "start": {
2403                              "line": 46,
2404                              "column": 9
2405                            },
2406                            "end": {
2407                              "line": 46,
2408                              "column": 24
2409                            }
2410                          }
2411                        }
2412                      ],
2413                      "kind": "let",
2414                      "loc": {
2415                        "start": {
2416                          "line": 46,
2417                          "column": 5
2418                        },
2419                        "end": {
2420                          "line": 46,
2421                          "column": 25
2422                        }
2423                      }
2424                    },
2425                    {
2426                      "type": "ForUpdateStatement",
2427                      "init": {
2428                        "type": "VariableDeclaration",
2429                        "declarations": [
2430                          {
2431                            "type": "VariableDeclarator",
2432                            "id": {
2433                              "type": "Identifier",
2434                              "name": "j",
2435                              "typeAnnotation": {
2436                                "type": "ETSPrimitiveType",
2437                                "loc": {
2438                                  "start": {
2439                                    "line": 47,
2440                                    "column": 17
2441                                  },
2442                                  "end": {
2443                                    "line": 47,
2444                                    "column": 20
2445                                  }
2446                                }
2447                              },
2448                              "decorators": [],
2449                              "loc": {
2450                                "start": {
2451                                  "line": 47,
2452                                  "column": 14
2453                                },
2454                                "end": {
2455                                  "line": 47,
2456                                  "column": 15
2457                                }
2458                              }
2459                            },
2460                            "init": {
2461                              "type": "MemberExpression",
2462                              "object": {
2463                                "type": "Identifier",
2464                                "name": "ControlFlowRecursive",
2465                                "decorators": [],
2466                                "loc": {
2467                                  "start": {
2468                                    "line": 47,
2469                                    "column": 23
2470                                  },
2471                                  "end": {
2472                                    "line": 47,
2473                                    "column": 43
2474                                  }
2475                                }
2476                              },
2477                              "property": {
2478                                "type": "Identifier",
2479                                "name": "n1",
2480                                "decorators": [],
2481                                "loc": {
2482                                  "start": {
2483                                    "line": 47,
2484                                    "column": 44
2485                                  },
2486                                  "end": {
2487                                    "line": 47,
2488                                    "column": 46
2489                                  }
2490                                }
2491                              },
2492                              "computed": false,
2493                              "optional": false,
2494                              "loc": {
2495                                "start": {
2496                                  "line": 47,
2497                                  "column": 23
2498                                },
2499                                "end": {
2500                                  "line": 47,
2501                                  "column": 46
2502                                }
2503                              }
2504                            },
2505                            "loc": {
2506                              "start": {
2507                                "line": 47,
2508                                "column": 14
2509                              },
2510                              "end": {
2511                                "line": 47,
2512                                "column": 46
2513                              }
2514                            }
2515                          }
2516                        ],
2517                        "kind": "let",
2518                        "loc": {
2519                          "start": {
2520                            "line": 47,
2521                            "column": 10
2522                          },
2523                          "end": {
2524                            "line": 47,
2525                            "column": 46
2526                          }
2527                        }
2528                      },
2529                      "test": {
2530                        "type": "BinaryExpression",
2531                        "operator": "<=",
2532                        "left": {
2533                          "type": "Identifier",
2534                          "name": "j",
2535                          "decorators": [],
2536                          "loc": {
2537                            "start": {
2538                              "line": 47,
2539                              "column": 48
2540                            },
2541                            "end": {
2542                              "line": 47,
2543                              "column": 49
2544                            }
2545                          }
2546                        },
2547                        "right": {
2548                          "type": "MemberExpression",
2549                          "object": {
2550                            "type": "Identifier",
2551                            "name": "ControlFlowRecursive",
2552                            "decorators": [],
2553                            "loc": {
2554                              "start": {
2555                                "line": 47,
2556                                "column": 53
2557                              },
2558                              "end": {
2559                                "line": 47,
2560                                "column": 73
2561                              }
2562                            }
2563                          },
2564                          "property": {
2565                            "type": "Identifier",
2566                            "name": "n2",
2567                            "decorators": [],
2568                            "loc": {
2569                              "start": {
2570                                "line": 47,
2571                                "column": 74
2572                              },
2573                              "end": {
2574                                "line": 47,
2575                                "column": 76
2576                              }
2577                            }
2578                          },
2579                          "computed": false,
2580                          "optional": false,
2581                          "loc": {
2582                            "start": {
2583                              "line": 47,
2584                              "column": 53
2585                            },
2586                            "end": {
2587                              "line": 47,
2588                              "column": 76
2589                            }
2590                          }
2591                        },
2592                        "loc": {
2593                          "start": {
2594                            "line": 47,
2595                            "column": 48
2596                          },
2597                          "end": {
2598                            "line": 47,
2599                            "column": 76
2600                          }
2601                        }
2602                      },
2603                      "update": {
2604                        "type": "UpdateExpression",
2605                        "operator": "++",
2606                        "prefix": true,
2607                        "argument": {
2608                          "type": "Identifier",
2609                          "name": "j",
2610                          "decorators": [],
2611                          "loc": {
2612                            "start": {
2613                              "line": 47,
2614                              "column": 80
2615                            },
2616                            "end": {
2617                              "line": 47,
2618                              "column": 81
2619                            }
2620                          }
2621                        },
2622                        "loc": {
2623                          "start": {
2624                            "line": 47,
2625                            "column": 78
2626                          },
2627                          "end": {
2628                            "line": 47,
2629                            "column": 81
2630                          }
2631                        }
2632                      },
2633                      "body": {
2634                        "type": "BlockStatement",
2635                        "statements": [
2636                          {
2637                            "type": "ExpressionStatement",
2638                            "expression": {
2639                              "type": "AssignmentExpression",
2640                              "operator": "+=",
2641                              "left": {
2642                                "type": "Identifier",
2643                                "name": "result",
2644                                "decorators": [],
2645                                "loc": {
2646                                  "start": {
2647                                    "line": 48,
2648                                    "column": 7
2649                                  },
2650                                  "end": {
2651                                    "line": 48,
2652                                    "column": 13
2653                                  }
2654                                }
2655                              },
2656                              "right": {
2657                                "type": "CallExpression",
2658                                "callee": {
2659                                  "type": "MemberExpression",
2660                                  "object": {
2661                                    "type": "Identifier",
2662                                    "name": "ControlFlowRecursive",
2663                                    "decorators": [],
2664                                    "loc": {
2665                                      "start": {
2666                                        "line": 48,
2667                                        "column": 17
2668                                      },
2669                                      "end": {
2670                                        "line": 48,
2671                                        "column": 37
2672                                      }
2673                                    }
2674                                  },
2675                                  "property": {
2676                                    "type": "Identifier",
2677                                    "name": "ack",
2678                                    "decorators": [],
2679                                    "loc": {
2680                                      "start": {
2681                                        "line": 48,
2682                                        "column": 38
2683                                      },
2684                                      "end": {
2685                                        "line": 48,
2686                                        "column": 41
2687                                      }
2688                                    }
2689                                  },
2690                                  "computed": false,
2691                                  "optional": false,
2692                                  "loc": {
2693                                    "start": {
2694                                      "line": 48,
2695                                      "column": 17
2696                                    },
2697                                    "end": {
2698                                      "line": 48,
2699                                      "column": 41
2700                                    }
2701                                  }
2702                                },
2703                                "arguments": [
2704                                  {
2705                                    "type": "NumberLiteral",
2706                                    "value": 3,
2707                                    "loc": {
2708                                      "start": {
2709                                        "line": 48,
2710                                        "column": 42
2711                                      },
2712                                      "end": {
2713                                        "line": 48,
2714                                        "column": 43
2715                                      }
2716                                    }
2717                                  },
2718                                  {
2719                                    "type": "Identifier",
2720                                    "name": "j",
2721                                    "decorators": [],
2722                                    "loc": {
2723                                      "start": {
2724                                        "line": 48,
2725                                        "column": 45
2726                                      },
2727                                      "end": {
2728                                        "line": 48,
2729                                        "column": 46
2730                                      }
2731                                    }
2732                                  }
2733                                ],
2734                                "optional": false,
2735                                "loc": {
2736                                  "start": {
2737                                    "line": 48,
2738                                    "column": 17
2739                                  },
2740                                  "end": {
2741                                    "line": 48,
2742                                    "column": 47
2743                                  }
2744                                }
2745                              },
2746                              "loc": {
2747                                "start": {
2748                                  "line": 48,
2749                                  "column": 7
2750                                },
2751                                "end": {
2752                                  "line": 48,
2753                                  "column": 47
2754                                }
2755                              }
2756                            },
2757                            "loc": {
2758                              "start": {
2759                                "line": 48,
2760                                "column": 7
2761                              },
2762                              "end": {
2763                                "line": 48,
2764                                "column": 48
2765                              }
2766                            }
2767                          },
2768                          {
2769                            "type": "ExpressionStatement",
2770                            "expression": {
2771                              "type": "AssignmentExpression",
2772                              "operator": "+=",
2773                              "left": {
2774                                "type": "Identifier",
2775                                "name": "result",
2776                                "decorators": [],
2777                                "loc": {
2778                                  "start": {
2779                                    "line": 49,
2780                                    "column": 7
2781                                  },
2782                                  "end": {
2783                                    "line": 49,
2784                                    "column": 13
2785                                  }
2786                                }
2787                              },
2788                              "right": {
2789                                "type": "CallExpression",
2790                                "callee": {
2791                                  "type": "MemberExpression",
2792                                  "object": {
2793                                    "type": "Identifier",
2794                                    "name": "ControlFlowRecursive",
2795                                    "decorators": [],
2796                                    "loc": {
2797                                      "start": {
2798                                        "line": 49,
2799                                        "column": 17
2800                                      },
2801                                      "end": {
2802                                        "line": 49,
2803                                        "column": 37
2804                                      }
2805                                    }
2806                                  },
2807                                  "property": {
2808                                    "type": "Identifier",
2809                                    "name": "fib",
2810                                    "decorators": [],
2811                                    "loc": {
2812                                      "start": {
2813                                        "line": 49,
2814                                        "column": 38
2815                                      },
2816                                      "end": {
2817                                        "line": 49,
2818                                        "column": 41
2819                                      }
2820                                    }
2821                                  },
2822                                  "computed": false,
2823                                  "optional": false,
2824                                  "loc": {
2825                                    "start": {
2826                                      "line": 49,
2827                                      "column": 17
2828                                    },
2829                                    "end": {
2830                                      "line": 49,
2831                                      "column": 41
2832                                    }
2833                                  }
2834                                },
2835                                "arguments": [
2836                                  {
2837                                    "type": "BinaryExpression",
2838                                    "operator": "+",
2839                                    "left": {
2840                                      "type": "NumberLiteral",
2841                                      "value": 17,
2842                                      "loc": {
2843                                        "start": {
2844                                          "line": 49,
2845                                          "column": 42
2846                                        },
2847                                        "end": {
2848                                          "line": 49,
2849                                          "column": 44
2850                                        }
2851                                      }
2852                                    },
2853                                    "right": {
2854                                      "type": "Identifier",
2855                                      "name": "j",
2856                                      "decorators": [],
2857                                      "loc": {
2858                                        "start": {
2859                                          "line": 49,
2860                                          "column": 47
2861                                        },
2862                                        "end": {
2863                                          "line": 49,
2864                                          "column": 48
2865                                        }
2866                                      }
2867                                    },
2868                                    "loc": {
2869                                      "start": {
2870                                        "line": 49,
2871                                        "column": 42
2872                                      },
2873                                      "end": {
2874                                        "line": 49,
2875                                        "column": 48
2876                                      }
2877                                    }
2878                                  }
2879                                ],
2880                                "optional": false,
2881                                "loc": {
2882                                  "start": {
2883                                    "line": 49,
2884                                    "column": 17
2885                                  },
2886                                  "end": {
2887                                    "line": 49,
2888                                    "column": 49
2889                                  }
2890                                }
2891                              },
2892                              "loc": {
2893                                "start": {
2894                                  "line": 49,
2895                                  "column": 7
2896                                },
2897                                "end": {
2898                                  "line": 49,
2899                                  "column": 49
2900                                }
2901                              }
2902                            },
2903                            "loc": {
2904                              "start": {
2905                                "line": 49,
2906                                "column": 7
2907                              },
2908                              "end": {
2909                                "line": 49,
2910                                "column": 50
2911                              }
2912                            }
2913                          },
2914                          {
2915                            "type": "ExpressionStatement",
2916                            "expression": {
2917                              "type": "AssignmentExpression",
2918                              "operator": "+=",
2919                              "left": {
2920                                "type": "Identifier",
2921                                "name": "result",
2922                                "decorators": [],
2923                                "loc": {
2924                                  "start": {
2925                                    "line": 50,
2926                                    "column": 7
2927                                  },
2928                                  "end": {
2929                                    "line": 50,
2930                                    "column": 13
2931                                  }
2932                                }
2933                              },
2934                              "right": {
2935                                "type": "CallExpression",
2936                                "callee": {
2937                                  "type": "MemberExpression",
2938                                  "object": {
2939                                    "type": "Identifier",
2940                                    "name": "ControlFlowRecursive",
2941                                    "decorators": [],
2942                                    "loc": {
2943                                      "start": {
2944                                        "line": 50,
2945                                        "column": 17
2946                                      },
2947                                      "end": {
2948                                        "line": 50,
2949                                        "column": 37
2950                                      }
2951                                    }
2952                                  },
2953                                  "property": {
2954                                    "type": "Identifier",
2955                                    "name": "tak",
2956                                    "decorators": [],
2957                                    "loc": {
2958                                      "start": {
2959                                        "line": 50,
2960                                        "column": 38
2961                                      },
2962                                      "end": {
2963                                        "line": 50,
2964                                        "column": 41
2965                                      }
2966                                    }
2967                                  },
2968                                  "computed": false,
2969                                  "optional": false,
2970                                  "loc": {
2971                                    "start": {
2972                                      "line": 50,
2973                                      "column": 17
2974                                    },
2975                                    "end": {
2976                                      "line": 50,
2977                                      "column": 41
2978                                    }
2979                                  }
2980                                },
2981                                "arguments": [
2982                                  {
2983                                    "type": "BinaryExpression",
2984                                    "operator": "+",
2985                                    "left": {
2986                                      "type": "BinaryExpression",
2987                                      "operator": "*",
2988                                      "left": {
2989                                        "type": "NumberLiteral",
2990                                        "value": 3,
2991                                        "loc": {
2992                                          "start": {
2993                                            "line": 50,
2994                                            "column": 42
2995                                          },
2996                                          "end": {
2997                                            "line": 50,
2998                                            "column": 43
2999                                          }
3000                                        }
3001                                      },
3002                                      "right": {
3003                                        "type": "Identifier",
3004                                        "name": "j",
3005                                        "decorators": [],
3006                                        "loc": {
3007                                          "start": {
3008                                            "line": 50,
3009                                            "column": 46
3010                                          },
3011                                          "end": {
3012                                            "line": 50,
3013                                            "column": 47
3014                                          }
3015                                        }
3016                                      },
3017                                      "loc": {
3018                                        "start": {
3019                                          "line": 50,
3020                                          "column": 42
3021                                        },
3022                                        "end": {
3023                                          "line": 50,
3024                                          "column": 47
3025                                        }
3026                                      }
3027                                    },
3028                                    "right": {
3029                                      "type": "NumberLiteral",
3030                                      "value": 3,
3031                                      "loc": {
3032                                        "start": {
3033                                          "line": 50,
3034                                          "column": 50
3035                                        },
3036                                        "end": {
3037                                          "line": 50,
3038                                          "column": 51
3039                                        }
3040                                      }
3041                                    },
3042                                    "loc": {
3043                                      "start": {
3044                                        "line": 50,
3045                                        "column": 42
3046                                      },
3047                                      "end": {
3048                                        "line": 50,
3049                                        "column": 51
3050                                      }
3051                                    }
3052                                  },
3053                                  {
3054                                    "type": "BinaryExpression",
3055                                    "operator": "+",
3056                                    "left": {
3057                                      "type": "BinaryExpression",
3058                                      "operator": "*",
3059                                      "left": {
3060                                        "type": "NumberLiteral",
3061                                        "value": 2,
3062                                        "loc": {
3063                                          "start": {
3064                                            "line": 50,
3065                                            "column": 53
3066                                          },
3067                                          "end": {
3068                                            "line": 50,
3069                                            "column": 54
3070                                          }
3071                                        }
3072                                      },
3073                                      "right": {
3074                                        "type": "Identifier",
3075                                        "name": "j",
3076                                        "decorators": [],
3077                                        "loc": {
3078                                          "start": {
3079                                            "line": 50,
3080                                            "column": 57
3081                                          },
3082                                          "end": {
3083                                            "line": 50,
3084                                            "column": 58
3085                                          }
3086                                        }
3087                                      },
3088                                      "loc": {
3089                                        "start": {
3090                                          "line": 50,
3091                                          "column": 53
3092                                        },
3093                                        "end": {
3094                                          "line": 50,
3095                                          "column": 58
3096                                        }
3097                                      }
3098                                    },
3099                                    "right": {
3100                                      "type": "NumberLiteral",
3101                                      "value": 2,
3102                                      "loc": {
3103                                        "start": {
3104                                          "line": 50,
3105                                          "column": 61
3106                                        },
3107                                        "end": {
3108                                          "line": 50,
3109                                          "column": 62
3110                                        }
3111                                      }
3112                                    },
3113                                    "loc": {
3114                                      "start": {
3115                                        "line": 50,
3116                                        "column": 53
3117                                      },
3118                                      "end": {
3119                                        "line": 50,
3120                                        "column": 62
3121                                      }
3122                                    }
3123                                  },
3124                                  {
3125                                    "type": "BinaryExpression",
3126                                    "operator": "+",
3127                                    "left": {
3128                                      "type": "Identifier",
3129                                      "name": "j",
3130                                      "decorators": [],
3131                                      "loc": {
3132                                        "start": {
3133                                          "line": 50,
3134                                          "column": 64
3135                                        },
3136                                        "end": {
3137                                          "line": 50,
3138                                          "column": 65
3139                                        }
3140                                      }
3141                                    },
3142                                    "right": {
3143                                      "type": "NumberLiteral",
3144                                      "value": 1,
3145                                      "loc": {
3146                                        "start": {
3147                                          "line": 50,
3148                                          "column": 68
3149                                        },
3150                                        "end": {
3151                                          "line": 50,
3152                                          "column": 69
3153                                        }
3154                                      }
3155                                    },
3156                                    "loc": {
3157                                      "start": {
3158                                        "line": 50,
3159                                        "column": 64
3160                                      },
3161                                      "end": {
3162                                        "line": 50,
3163                                        "column": 69
3164                                      }
3165                                    }
3166                                  }
3167                                ],
3168                                "optional": false,
3169                                "loc": {
3170                                  "start": {
3171                                    "line": 50,
3172                                    "column": 17
3173                                  },
3174                                  "end": {
3175                                    "line": 50,
3176                                    "column": 70
3177                                  }
3178                                }
3179                              },
3180                              "loc": {
3181                                "start": {
3182                                  "line": 50,
3183                                  "column": 7
3184                                },
3185                                "end": {
3186                                  "line": 50,
3187                                  "column": 70
3188                                }
3189                              }
3190                            },
3191                            "loc": {
3192                              "start": {
3193                                "line": 50,
3194                                "column": 7
3195                              },
3196                              "end": {
3197                                "line": 50,
3198                                "column": 71
3199                              }
3200                            }
3201                          }
3202                        ],
3203                        "loc": {
3204                          "start": {
3205                            "line": 47,
3206                            "column": 83
3207                          },
3208                          "end": {
3209                            "line": 51,
3210                            "column": 6
3211                          }
3212                        }
3213                      },
3214                      "loc": {
3215                        "start": {
3216                          "line": 47,
3217                          "column": 5
3218                        },
3219                        "end": {
3220                          "line": 51,
3221                          "column": 6
3222                        }
3223                      }
3224                    },
3225                    {
3226                      "type": "AssertStatement",
3227                      "test": {
3228                        "type": "BinaryExpression",
3229                        "operator": "==",
3230                        "left": {
3231                          "type": "Identifier",
3232                          "name": "result",
3233                          "decorators": [],
3234                          "loc": {
3235                            "start": {
3236                              "line": 53,
3237                              "column": 12
3238                            },
3239                            "end": {
3240                              "line": 53,
3241                              "column": 18
3242                            }
3243                          }
3244                        },
3245                        "right": {
3246                          "type": "MemberExpression",
3247                          "object": {
3248                            "type": "Identifier",
3249                            "name": "ControlFlowRecursive",
3250                            "decorators": [],
3251                            "loc": {
3252                              "start": {
3253                                "line": 53,
3254                                "column": 22
3255                              },
3256                              "end": {
3257                                "line": 53,
3258                                "column": 42
3259                              }
3260                            }
3261                          },
3262                          "property": {
3263                            "type": "Identifier",
3264                            "name": "expected",
3265                            "decorators": [],
3266                            "loc": {
3267                              "start": {
3268                                "line": 53,
3269                                "column": 43
3270                              },
3271                              "end": {
3272                                "line": 53,
3273                                "column": 51
3274                              }
3275                            }
3276                          },
3277                          "computed": false,
3278                          "optional": false,
3279                          "loc": {
3280                            "start": {
3281                              "line": 53,
3282                              "column": 22
3283                            },
3284                            "end": {
3285                              "line": 53,
3286                              "column": 51
3287                            }
3288                          }
3289                        },
3290                        "loc": {
3291                          "start": {
3292                            "line": 53,
3293                            "column": 12
3294                          },
3295                          "end": {
3296                            "line": 53,
3297                            "column": 51
3298                          }
3299                        }
3300                      },
3301                      "second": {
3302                        "type": "StringLiteral",
3303                        "value": "Incorrect result",
3304                        "loc": {
3305                          "start": {
3306                            "line": 53,
3307                            "column": 53
3308                          },
3309                          "end": {
3310                            "line": 53,
3311                            "column": 71
3312                          }
3313                        }
3314                      },
3315                      "loc": {
3316                        "start": {
3317                          "line": 53,
3318                          "column": 5
3319                        },
3320                        "end": {
3321                          "line": 53,
3322                          "column": 72
3323                        }
3324                      }
3325                    }
3326                  ],
3327                  "loc": {
3328                    "start": {
3329                      "line": 45,
3330                      "column": 29
3331                    },
3332                    "end": {
3333                      "line": 54,
3334                      "column": 4
3335                    }
3336                  }
3337                },
3338                "loc": {
3339                  "start": {
3340                    "line": 45,
3341                    "column": 20
3342                  },
3343                  "end": {
3344                    "line": 54,
3345                    "column": 4
3346                  }
3347                }
3348              },
3349              "loc": {
3350                "start": {
3351                  "line": 45,
3352                  "column": 20
3353                },
3354                "end": {
3355                  "line": 54,
3356                  "column": 4
3357                }
3358              }
3359            },
3360            "overloads": [],
3361            "decorators": [],
3362            "loc": {
3363              "start": {
3364                "line": 45,
3365                "column": 3
3366              },
3367              "end": {
3368                "line": 54,
3369                "column": 4
3370              }
3371            }
3372          },
3373          {
3374            "type": "MethodDefinition",
3375            "key": {
3376              "type": "Identifier",
3377              "name": "constructor",
3378              "decorators": [],
3379              "loc": {
3380                "start": {
3381                  "line": 1,
3382                  "column": 1
3383                },
3384                "end": {
3385                  "line": 1,
3386                  "column": 1
3387                }
3388              }
3389            },
3390            "kind": "constructor",
3391            "static": false,
3392            "optional": false,
3393            "computed": false,
3394            "value": {
3395              "type": "FunctionExpression",
3396              "function": {
3397                "type": "ScriptFunction",
3398                "id": {
3399                  "type": "Identifier",
3400                  "name": "constructor",
3401                  "decorators": [],
3402                  "loc": {
3403                    "start": {
3404                      "line": 1,
3405                      "column": 1
3406                    },
3407                    "end": {
3408                      "line": 1,
3409                      "column": 1
3410                    }
3411                  }
3412                },
3413                "generator": false,
3414                "async": false,
3415                "expression": false,
3416                "params": [],
3417                "body": {
3418                  "type": "BlockStatement",
3419                  "statements": [],
3420                  "loc": {
3421                    "start": {
3422                      "line": 1,
3423                      "column": 1
3424                    },
3425                    "end": {
3426                      "line": 1,
3427                      "column": 1
3428                    }
3429                  }
3430                },
3431                "loc": {
3432                  "start": {
3433                    "line": 1,
3434                    "column": 1
3435                  },
3436                  "end": {
3437                    "line": 1,
3438                    "column": 1
3439                  }
3440                }
3441              },
3442              "loc": {
3443                "start": {
3444                  "line": 1,
3445                  "column": 1
3446                },
3447                "end": {
3448                  "line": 1,
3449                  "column": 1
3450                }
3451              }
3452            },
3453            "overloads": [],
3454            "decorators": [],
3455            "loc": {
3456              "start": {
3457                "line": 55,
3458                "column": 2
3459              },
3460              "end": {
3461                "line": 55,
3462                "column": 2
3463              }
3464            }
3465          }
3466        ],
3467        "loc": {
3468          "start": {
3469            "line": 16,
3470            "column": 35
3471          },
3472          "end": {
3473            "line": 55,
3474            "column": 2
3475          }
3476        }
3477      },
3478      "loc": {
3479        "start": {
3480          "line": 16,
3481          "column": 8
3482        },
3483        "end": {
3484          "line": 55,
3485          "column": 2
3486        }
3487      }
3488    },
3489    {
3490      "type": "ClassDeclaration",
3491      "definition": {
3492        "id": {
3493          "type": "Identifier",
3494          "name": "ETSGLOBAL",
3495          "decorators": [],
3496          "loc": {
3497            "start": {
3498              "line": 1,
3499              "column": 1
3500            },
3501            "end": {
3502              "line": 1,
3503              "column": 1
3504            }
3505          }
3506        },
3507        "superClass": null,
3508        "implements": [],
3509        "body": [
3510          {
3511            "type": "MethodDefinition",
3512            "key": {
3513              "type": "Identifier",
3514              "name": "_$init$_",
3515              "decorators": [],
3516              "loc": {
3517                "start": {
3518                  "line": 1,
3519                  "column": 1
3520                },
3521                "end": {
3522                  "line": 1,
3523                  "column": 1
3524                }
3525              }
3526            },
3527            "kind": "method",
3528            "accessibility": "public",
3529            "static": true,
3530            "optional": false,
3531            "computed": false,
3532            "value": {
3533              "type": "FunctionExpression",
3534              "function": {
3535                "type": "ScriptFunction",
3536                "id": {
3537                  "type": "Identifier",
3538                  "name": "_$init$_",
3539                  "decorators": [],
3540                  "loc": {
3541                    "start": {
3542                      "line": 1,
3543                      "column": 1
3544                    },
3545                    "end": {
3546                      "line": 1,
3547                      "column": 1
3548                    }
3549                  }
3550                },
3551                "generator": false,
3552                "async": false,
3553                "expression": false,
3554                "params": [],
3555                "body": {
3556                  "type": "BlockStatement",
3557                  "statements": [],
3558                  "loc": {
3559                    "start": {
3560                      "line": 1,
3561                      "column": 1
3562                    },
3563                    "end": {
3564                      "line": 1,
3565                      "column": 1
3566                    }
3567                  }
3568                },
3569                "loc": {
3570                  "start": {
3571                    "line": 1,
3572                    "column": 1
3573                  },
3574                  "end": {
3575                    "line": 1,
3576                    "column": 1
3577                  }
3578                }
3579              },
3580              "loc": {
3581                "start": {
3582                  "line": 1,
3583                  "column": 1
3584                },
3585                "end": {
3586                  "line": 1,
3587                  "column": 1
3588                }
3589              }
3590            },
3591            "overloads": [],
3592            "decorators": [],
3593            "loc": {
3594              "start": {
3595                "line": 1,
3596                "column": 1
3597              },
3598              "end": {
3599                "line": 1,
3600                "column": 1
3601              }
3602            }
3603          },
3604          {
3605            "type": "MethodDefinition",
3606            "key": {
3607              "type": "Identifier",
3608              "name": "main",
3609              "decorators": [],
3610              "loc": {
3611                "start": {
3612                  "line": 57,
3613                  "column": 10
3614                },
3615                "end": {
3616                  "line": 57,
3617                  "column": 14
3618                }
3619              }
3620            },
3621            "kind": "method",
3622            "accessibility": "public",
3623            "static": true,
3624            "optional": false,
3625            "computed": false,
3626            "value": {
3627              "type": "FunctionExpression",
3628              "function": {
3629                "type": "ScriptFunction",
3630                "id": {
3631                  "type": "Identifier",
3632                  "name": "main",
3633                  "decorators": [],
3634                  "loc": {
3635                    "start": {
3636                      "line": 57,
3637                      "column": 10
3638                    },
3639                    "end": {
3640                      "line": 57,
3641                      "column": 14
3642                    }
3643                  }
3644                },
3645                "generator": false,
3646                "async": false,
3647                "expression": false,
3648                "params": [],
3649                "returnType": {
3650                  "type": "ETSTypeReference",
3651                  "part": {
3652                    "type": "ETSTypeReferencePart",
3653                    "name": {
3654                      "type": "Identifier",
3655                      "name": "void",
3656                      "decorators": [],
3657                      "loc": {
3658                        "start": {
3659                          "line": 57,
3660                          "column": 18
3661                        },
3662                        "end": {
3663                          "line": 57,
3664                          "column": 22
3665                        }
3666                      }
3667                    },
3668                    "loc": {
3669                      "start": {
3670                        "line": 57,
3671                        "column": 18
3672                      },
3673                      "end": {
3674                        "line": 57,
3675                        "column": 24
3676                      }
3677                    }
3678                  },
3679                  "loc": {
3680                    "start": {
3681                      "line": 57,
3682                      "column": 18
3683                    },
3684                    "end": {
3685                      "line": 57,
3686                      "column": 24
3687                    }
3688                  }
3689                },
3690                "body": {
3691                  "type": "BlockStatement",
3692                  "statements": [
3693                    {
3694                      "type": "ExpressionStatement",
3695                      "expression": {
3696                        "type": "CallExpression",
3697                        "callee": {
3698                          "type": "MemberExpression",
3699                          "object": {
3700                            "type": "Identifier",
3701                            "name": "ControlFlowRecursive",
3702                            "decorators": [],
3703                            "loc": {
3704                              "start": {
3705                                "line": 58,
3706                                "column": 3
3707                              },
3708                              "end": {
3709                                "line": 58,
3710                                "column": 23
3711                              }
3712                            }
3713                          },
3714                          "property": {
3715                            "type": "Identifier",
3716                            "name": "run",
3717                            "decorators": [],
3718                            "loc": {
3719                              "start": {
3720                                "line": 58,
3721                                "column": 24
3722                              },
3723                              "end": {
3724                                "line": 58,
3725                                "column": 27
3726                              }
3727                            }
3728                          },
3729                          "computed": false,
3730                          "optional": false,
3731                          "loc": {
3732                            "start": {
3733                              "line": 58,
3734                              "column": 3
3735                            },
3736                            "end": {
3737                              "line": 58,
3738                              "column": 27
3739                            }
3740                          }
3741                        },
3742                        "arguments": [],
3743                        "optional": false,
3744                        "loc": {
3745                          "start": {
3746                            "line": 58,
3747                            "column": 3
3748                          },
3749                          "end": {
3750                            "line": 58,
3751                            "column": 29
3752                          }
3753                        }
3754                      },
3755                      "loc": {
3756                        "start": {
3757                          "line": 58,
3758                          "column": 3
3759                        },
3760                        "end": {
3761                          "line": 58,
3762                          "column": 30
3763                        }
3764                      }
3765                    }
3766                  ],
3767                  "loc": {
3768                    "start": {
3769                      "line": 57,
3770                      "column": 23
3771                    },
3772                    "end": {
3773                      "line": 59,
3774                      "column": 2
3775                    }
3776                  }
3777                },
3778                "loc": {
3779                  "start": {
3780                    "line": 57,
3781                    "column": 14
3782                  },
3783                  "end": {
3784                    "line": 59,
3785                    "column": 2
3786                  }
3787                }
3788              },
3789              "loc": {
3790                "start": {
3791                  "line": 57,
3792                  "column": 14
3793                },
3794                "end": {
3795                  "line": 59,
3796                  "column": 2
3797                }
3798              }
3799            },
3800            "overloads": [],
3801            "decorators": [],
3802            "loc": {
3803              "start": {
3804                "line": 57,
3805                "column": 1
3806              },
3807              "end": {
3808                "line": 59,
3809                "column": 2
3810              }
3811            }
3812          }
3813        ],
3814        "loc": {
3815          "start": {
3816            "line": 1,
3817            "column": 1
3818          },
3819          "end": {
3820            "line": 1,
3821            "column": 1
3822          }
3823        }
3824      },
3825      "loc": {
3826        "start": {
3827          "line": 1,
3828          "column": 1
3829        },
3830        "end": {
3831          "line": 1,
3832          "column": 1
3833        }
3834      }
3835    }
3836  ],
3837  "loc": {
3838    "start": {
3839      "line": 1,
3840      "column": 1
3841    },
3842    "end": {
3843      "line": 60,
3844      "column": 1
3845    }
3846  }
3847}
3848