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