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