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