| 3673 | |
| 3674 | |
| 3675 | void genBitOpSet(CppiaCompiler *compiler, BitOp bitOp, const JitVal &ioValue, ExprType exprType, CppiaExpr *inExpr) |
| 3676 | { |
| 3677 | if (exprType==etInt) |
| 3678 | { |
| 3679 | inExpr->genCode(compiler, sJitTemp2, etInt); |
| 3680 | compiler->bitOp(bitOp, ioValue, ioValue, sJitTemp2); |
| 3681 | } |
| 3682 | else |
| 3683 | { |
| 3684 | JitTemp ival(compiler, etInt); |
| 3685 | compiler->convert(ioValue, exprType, ival, etInt); |
| 3686 | inExpr->genCode(compiler, sJitTemp2, etInt); |
| 3687 | |
| 3688 | compiler->bitOp(bitOp, sJitTemp0.as(jtInt), ival, sJitTemp2); |
| 3689 | compiler->convert(sJitTemp0, etInt, ioValue, exprType); |
| 3690 | } |
| 3691 | } |
| 3692 | |
| 3693 | void genSetter(CppiaCompiler *compiler, const JitVal &ioValue, ExprType exprType, AssignOp inOp, CppiaExpr *inExpr) |
| 3694 | { |