public final class Let extends ForLet
let
clause, binding an expression to a variable.Constructor and Description |
---|
Let(Var var,
Expr expr)
Constructor.
|
Let(Var var,
Expr expr,
boolean scoring)
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.
|
Let |
copy(CompileContext cc,
IntObjMap<Var> vm)
Copies an expression.
|
boolean |
equals(Object obj)
This function is e.g.
|
Let |
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 Let optimize(CompileContext cc) throws QueryException
Expr
optimize
in class Clause
cc
- compilation contextQueryException
- query exceptionpublic Let 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 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.