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