private void reduceNumeric(int operator) { Object op1 = stk.peek2(); Object op2 = stk.pop2(); if (op1 instanceof Integer) { if (op2 instanceof Integer) { reduce((Integer) op1, operator, (Integer) op2); } else { reduce((Integer) op1, operator, (Long) op2); } } else { if (op2 instanceof Integer) { reduce((Long) op1, operator, (Integer) op2); } else { reduce((Long) op1, operator, (Long) op2); } } }
private void reduceNumeric(int operator) { Object op1 = stk.peek2(); Object op2 = stk.pop2(); if (op1 instanceof Integer) { if (op2 instanceof Integer) { reduce((Integer) op1, operator, (Integer) op2); } else { reduce((Integer) op1, operator, (Long) op2); } } else { if (op2 instanceof Integer) { reduce((Long) op1, operator, (Integer) op2); } else { reduce((Long) op1, operator, (Long) op2); } } }
stk.push(org.mvel2.DataConversion.canConvert(stk.peek2().getClass(), (Class) stk.pop2())); break; stk.push(containsCheck(stk.peek2(), stk.pop2())); break; stk.push(asInt(stk.peek2()) & asInt(stk.pop2())); break; stk.push(asInt(stk.peek2()) | asInt(stk.pop2())); break; stk.push(asInt(stk.peek2()) ^ asInt(stk.pop2())); break; stk.push(asInt(stk.peek2()) << asInt(stk.pop2())); break; int iv2 = asInt(stk.peek2()); if (iv2 < 0) iv2 *= -1; stk.push(iv2 << asInt(stk.pop2())); break; stk.push(asInt(stk.peek2()) >> asInt(stk.pop2())); break; stk.push(asInt(stk.peek2()) >>> asInt(stk.pop2())); break;