def get_bit_expr(self, node):
        jsvars = self.jsvars.copy()
        childs = node.children.__iter__()
        args = [self.dispatch(childs.next())]
        op = child = childs.next()
        while child is not None:
            op = child
            op_name = self.op_names2.get(op.value, None)
            if op is None:
                self.not_implemented(node)
            try:
                while True:
                    args.append(self.dispatch(childs.next()))
                    child = childs.next()
                    if child.value != op.value:
                        break
            except StopIteration:
                child = None
            if len(args) == 2:
                left, right = args
                jsvars.update(locals())
                code = jsvars % "%(builtin)s['%(op_name)s2'](%(left)s, %(right)s)"
            else:
                args = ', '.join(str(i) for i in args)
                jsvars.update(locals())
                code = "%(builtin)s['%(op_name)s']([%(args)s])" % jsvars
            args = [code]
        return code
dataset/ETHPy150Open anandology/pyjamas/pyjs/src/pyjs/translator_dict.py/Translator.get_bit_expr/swapped operands of `%`