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