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

Method optimize

basex-core/src/main/java/org/basex/query/expr/CmpN.java:36–44  ·  view source on GitHub ↗
(final CompileContext cc)

Source from the content-addressed store, hash-verified

34 }
35
36 @Override
37 public Expr optimize(final CompileContext cc) throws QueryException {
38 final Expr expr1 = exprs[0], expr2 = exprs[1];
39 final SeqType st1 = expr1.seqType(), st2 = expr2.seqType();
40 if(st1.oneOrMore() && st2.oneOrMore()) exprType.assign(Occ.EXACTLY_ONE);
41
42 final Expr expr = emptyExpr();
43 return expr == this && values(false, cc) ? cc.preEval(this) : cc.replaceWith(this, expr);
44 }
45
46 @Override
47 public Item item(final QueryContext qc, final InputInfo ii) throws QueryException {

Callers

nothing calls this directly

Calls 7

seqTypeMethod · 0.95
oneOrMoreMethod · 0.95
emptyExprMethod · 0.80
replaceWithMethod · 0.80
assignMethod · 0.45
valuesMethod · 0.45
preEvalMethod · 0.45

Tested by

no test coverage detected