use of lucee.runtime.interpreter.ref.op.BigPlus in project Lucee by lucee.
the class CFMLExpressionInterpreter method _plus.
private Ref _plus(Ref ref) throws PageException {
// +=
if (cfml.isCurrent('=')) {
cfml.next();
cfml.removeSpace();
Ref right = assignOp();
Ref res = preciseMath ? new BigPlus(ref, right, limited) : new Plus(ref, right, limited);
ref = new Assign(ref, res, limited);
} else {
cfml.removeSpace();
ref = preciseMath ? new BigPlus(ref, modOp(), limited) : new Plus(ref, modOp(), limited);
}
return ref;
}
use of lucee.runtime.interpreter.ref.op.BigPlus in project Lucee by lucee.
the class CFMLExpressionInterpreter method _unaryOp.
private Ref _unaryOp(Ref ref, boolean isPlus) throws PageException {
cfml.removeSpace();
Ref res = preciseMath ? new BigPlus(ref, isPlus ? PLUS_ONE : MINUS_ONE, limited) : new Plus(ref, isPlus ? PLUS_ONE : MINUS_ONE, limited);
ref = new Assign(ref, res, limited);
return preciseMath ? new BigPlus(ref, isPlus ? MINUS_ONE : PLUS_ONE, limited) : new Plus(ref, isPlus ? MINUS_ONE : PLUS_ONE, limited);
}
use of lucee.runtime.interpreter.ref.op.BigPlus in project Lucee by lucee.
the class CFMLExpressionInterpreter method negateMinusOp.
/**
* Liest die Vordlobe einer Zahl ein
* @return CFXD Element
* @throws PageException
*/
private Ref negateMinusOp() throws PageException {
// And Operation
if (cfml.forwardIfCurrent('-')) {
if (cfml.forwardIfCurrent('-')) {
cfml.removeSpace();
Ref expr = clip();
Ref res = preciseMath ? new BigMinus(expr, new LNumber(new Double(1)), limited) : new Minus(expr, new LNumber(new Double(1)), limited);
return new Assign(expr, res, limited);
}
cfml.removeSpace();
return new Negate(clip(), limited);
}
if (cfml.forwardIfCurrent('+')) {
if (cfml.forwardIfCurrent('+')) {
cfml.removeSpace();
Ref expr = clip();
Ref res = preciseMath ? new BigPlus(expr, new LNumber(new Double(1)), limited) : new Plus(expr, new LNumber(new Double(1)), limited);
return new Assign(expr, res, limited);
}
cfml.removeSpace();
return new Casting("numeric", CFTypes.TYPE_NUMERIC, clip());
}
return clip();
}
Aggregations