use of lucee.runtime.interpreter.ref.var.Assign in project Lucee by lucee.
the class CFMLExpressionInterpreter method _minus.
private Ref _minus(Ref ref) throws PageException {
// -=
if (cfml.isCurrent('=')) {
cfml.next();
cfml.removeSpace();
Ref right = assignOp();
Ref res = preciseMath ? new BigMinus(ref, right, limited) : new Minus(ref, right, limited);
ref = new Assign(ref, res, limited);
} else {
cfml.removeSpace();
ref = preciseMath ? new BigMinus(ref, modOp(), limited) : new Minus(ref, modOp(), limited);
}
return ref;
}
use of lucee.runtime.interpreter.ref.var.Assign 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.var.Assign in project Lucee by lucee.
the class CFMLExpressionInterpreter method _mod.
private Ref _mod(Ref ref) throws PageException {
// %=
if (cfml.forwardIfCurrent('=')) {
cfml.removeSpace();
Ref right = assignOp();
Ref res = preciseMath ? new BigMod(ref, right, limited) : new Mod(ref, right, limited);
ref = new Assign(ref, res, limited);
} else {
cfml.removeSpace();
ref = preciseMath ? new BigMod(ref, divMultiOp(), limited) : new Mod(ref, divMultiOp(), limited);
}
return ref;
}
use of lucee.runtime.interpreter.ref.var.Assign in project Lucee by lucee.
the class CFMLExpressionInterpreter method _div.
private Ref _div(Ref ref) throws PageException {
// /=
if (cfml.forwardIfCurrent('=')) {
cfml.removeSpace();
Ref right = assignOp();
Ref res = preciseMath ? new BigDiv(ref, right, limited) : new Div(ref, right, limited);
ref = new Assign(ref, res, limited);
} else {
cfml.removeSpace();
ref = preciseMath ? new BigDiv(ref, expoOp(), limited) : new Div(ref, expoOp(), limited);
}
return ref;
}
use of lucee.runtime.interpreter.ref.var.Assign 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);
}
Aggregations