MCPcopy Create free account
hub / github.com/BaseXdb/basex / simplifyFor

Method simplifyFor

basex-core/src/main/java/org/basex/query/expr/Arith.java:126–137  ·  view source on GitHub ↗
(final Simplify mode, final CompileContext cc)

Source from the content-addressed store, hash-verified

124 }
125
126 @Override
127 public Expr simplifyFor(final Simplify mode, final CompileContext cc) throws QueryException {
128 Expr expr = this;
129 if(mode == Simplify.PREDICATE && Function.LAST.is(exprs[0]) &&
130 exprs[1] instanceof final ANum num) {
131 // E[last() + 1] → E[false()]
132 final double d = num.dbl();
133 if(calc == Calc.ADD && d > 0 || calc == Calc.SUBTRACT && d < 0 ||
134 calc == Calc.MULTIPLY && d > 1 || calc == Calc.DIVIDE && d < 1) expr = Bln.FALSE;
135 }
136 return cc.simplify(this, expr, mode);
137 }
138
139 @Override
140 public Arith copy(final CompileContext cc, final IntObjectMap<Var> vm) {

Callers

nothing calls this directly

Calls 3

isMethod · 0.65
dblMethod · 0.45
simplifyMethod · 0.45

Tested by

no test coverage detected