public final class Instance extends Single
Constructor and Description |
---|
Instance(InputInfo info,
Expr expr,
SeqType seqType)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
Expr |
compile(CompileContext cc)
Compiles and optimizes the expression, assigns types and cardinalities.
|
Instance |
copy(CompileContext cc,
IntObjMap<Var> vm)
Copies an expression.
|
boolean |
equals(Object obj)
This function is e.g.
|
Bln |
item(QueryContext qc,
InputInfo ii)
Evaluates the expression and returns the resulting item,
or
Empty.VALUE if the expression yields an empty sequence. |
Expr |
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.
|
accept, checkUp, count, exprSize, has, inline, inlineable
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, ebv, 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 Expr compile(CompileContext cc) throws QueryException
Expr
compile
in class Single
cc
- compilation contextQueryException
- query exceptionpublic Expr optimize(CompileContext cc) throws QueryException
Expr
optimize
in class Single
cc
- compilation contextQueryException
- query exceptionpublic Bln item(QueryContext qc, InputInfo ii) throws QueryException
Expr
Empty.VALUE
if the expression yields an empty sequence.
If this method is not implemented, Expr.value(QueryContext)
must be implemented instead.item
in class ParseExpr
qc
- query contextii
- input info (only required by Seq
instances, which have no input info)Empty.VALUE
QueryException
- query exceptionpublic Instance 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 Expr
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 equals(Object obj)
Single
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.