| 7128 | virtual BitOp getBitOp() = 0; |
| 7129 | |
| 7130 | void genCode(CppiaCompiler *compiler, const JitVal &inDest, ExprType destType) HXCPP_OVERRIDE |
| 7131 | { |
| 7132 | JitTemp tLeft(compiler, jtInt); |
| 7133 | left->genCode(compiler, tLeft, etInt); |
| 7134 | right->genCode(compiler, sJitTemp2, etInt); |
| 7135 | if (destType==etInt) |
| 7136 | compiler->bitOp( getBitOp(), inDest, tLeft, sJitTemp2 ); |
| 7137 | else |
| 7138 | { |
| 7139 | compiler->bitOp( getBitOp(), sJitTemp2.as(jtInt), tLeft, sJitTemp2 ); |
| 7140 | compiler->convert(sJitTemp2, etInt, inDest, destType); |
| 7141 | } |
| 7142 | } |
| 7143 | #endif |
| 7144 | }; |
| 7145 | |