public final class For extends ForLet
for
clause, iterating over a sequence.Constructor and Description |
---|
For(Var var,
Expr expr)
Constructor.
|
For(Var var,
Var pos,
Var score,
Expr expr,
boolean empty)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accept(ASTVisitor visitor)
Traverses this expression, notifying the visitor of declared and used variables,
and checking the tree for other recursive properties.
|
void |
calcSize(long[] minMax)
Calculates the minimum and maximum number of results.
|
For |
copy(CompileContext cc,
IntObjMap<Var> vm)
Copies an expression.
|
boolean |
equals(Object obj)
This function is e.g.
|
For |
optimize(CompileContext cc)
Optimizes an already compiled expression without recompiling its sub-expressions.
|
void |
plan(QueryPlan plan)
Creates a query plan.
|
void |
plan(QueryString qs)
Creates a query string.
|
checkUp, compile, count, exprSize, has, inline, inlineable
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, ebv, item, iter, refineType, seqType, size, test, toArray, toArray, toAtomItem, toB64, toB64, toBin, toBin, toBoolean, toBoolean, toBytes, toBytes, toDouble, toDouble, toElem, toFloat, toFunc, toItem, toItem, toLong, toLong, toMap, toMap, toNode, toNode, toNodeOrNull, toNumber, toNumberOrNull, toQNm, toQNm, toToken, toToken, toTokenOrNull, toZeroToken, value
arg, args, atomItem, atomIter, data, data, ddo, funcType, hasFreeVars, indexAccessible, isSimple, markTailCalls, mergeEbv, simplifyFor, typeCheck, uses, vacuous, visitAll
description, toErrorString, toString
public For(Var var, Expr expr)
var
- item variableexpr
- bound expressionpublic For optimize(CompileContext cc) throws QueryException
Expr
optimize
in class Clause
cc
- compilation contextQueryException
- query exceptionpublic For copy(CompileContext cc, IntObjMap<Var> vm)
Expr
VarRef.inline(org.basex.query.InlineContext)
, FuncItem.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext)
,
Closure.inline(org.basex.query.InlineContext)
and StaticFunc.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext)
.copy
in class Clause
cc
- compilation contextvm
- mapping from old variable IDs to new variable copies.
Required by Closure.copy(org.basex.query.CompileContext, org.basex.util.hash.IntObjMap<org.basex.query.var.Var>)
and VarRef.copy(org.basex.query.CompileContext, org.basex.util.hash.IntObjMap<org.basex.query.var.Var>)
public boolean accept(ASTVisitor visitor)
Expr
public void calcSize(long[] minMax)
Clause
public boolean equals(Object obj)
Expr
If.optimize(CompileContext)
, Switch.optimize(CompileContext)
,
Typeswitch.optimize(CompileContext)
, in order to discard identical expressions.
CmpR.mergeEbv(Expr, boolean, CompileContext)
or
CmpSR.mergeEbv(Expr, boolean, CompileContext)
,
in order to merge expressions with identical input.
CmpG.optimize(CompileContext)
or CmpV.optimize(CompileContext)
,
in order to pre-evaluate equality tests.
CmpG.optimize(CompileContext)
or
Pos.get(Expr, CmpV.OpV, InputInfo, CompileContext)
,
in order to compare the start and end value.
PathCache
, in order to find identical root values at runtime.
public void plan(QueryString qs)
ExprInfo
Copyright © 2005–2023 BaseX Team. All rights reserved.