public final class TypeCheck extends Single
Modifier and Type | Field and Description |
---|---|
boolean |
promote
Flag for function conversion.
|
Constructor and Description |
---|
TypeCheck(StaticContext sc,
InputInfo info,
Expr expr,
SeqType seqType,
boolean promote)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
Expr |
check(Expr ex,
QueryContext qc,
VarScope scp)
Creates an expression that checks the given expression's return type.
|
Expr |
compile(QueryContext qc,
VarScope scp)
Compiles and optimizes the expression, assigns types and cardinalities.
|
Expr |
copy(QueryContext qc,
VarScope scp,
IntObjMap<Var> vs)
Copies an expression.
|
boolean |
isRedundant(Var var)
Checks if this type check is redundant if the result is bound to the given variable.
|
Iter |
iter(QueryContext qc)
Evaluates the expression and returns an iterator on the resulting items.
|
Expr |
optimize(QueryContext qc,
VarScope scp)
Optimizes an already compiled expression without recompiling its sub-expressions.
|
void |
plan(FElem plan)
Creates an expression tree.
|
String |
toString() |
Value |
value(QueryContext qc)
Evaluates the expression and returns the resulting value.
|
accept, checkUp, count, exprSize, has, inline, removable
atomItem, atomValue, checkAtomic, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, compBln, copyType, ctxValue, ebv, item, optPre, optPre, preEval, seqType, seqType, size, test, toArray, toArray, toAtomItem, toB64, toB64, toBin, toBin, toBoolean, toBoolean, toBytes, toBytes, toDouble, toDouble, toElem, toEmptyNode, toEmptyToken, toFloat, toFunc, toItem, toLong, toLong, toMap, toMap, toNode, toNode, toNumber, toQNm, toQNm, toToken, toToken
atomIter, data, hasFreeVars, indexAccessible, inlineAll, isEmpty, isFunction, isVacuous, isValue, iterable, markTailCalls, optimizeEbv, sameAs, typeCheck, uses, visitAll
addPlan, addPlan, description, planAttr, planElem, toErrorString
public TypeCheck(StaticContext sc, InputInfo info, Expr expr, SeqType seqType, boolean promote)
sc
- static contextinfo
- input infoexpr
- expression to be promotedseqType
- type to promote topromote
- flag for function promotionpublic Expr compile(QueryContext qc, VarScope scp) throws QueryException
Expr
QueryContext.compile()
.compile
in class Single
qc
- query contextscp
- variable scopeQueryException
- query exceptionpublic Expr optimize(QueryContext qc, VarScope scp) throws QueryException
Expr
optimize
in class Expr
qc
- query contextscp
- variable scopeQueryException
- query exceptionpublic Iter iter(QueryContext qc) throws QueryException
Expr
Expr.item(QueryContext, InputInfo)
must be implemented
by an expression, as it may be called by this method.iter
in class ParseExpr
qc
- query contextQueryException
- query exceptionpublic Value value(QueryContext qc) throws QueryException
Expr
value
in class ParseExpr
qc
- query contextQueryException
- query exceptionpublic Expr copy(QueryContext qc, VarScope scp, IntObjMap<Var> vs)
Expr
public void plan(FElem plan)
ExprInfo
public boolean isRedundant(Var var)
var
- variablepublic Expr check(Expr ex, QueryContext qc, VarScope scp) throws QueryException
ex
- expression to checkqc
- query contextscp
- variable scopeQueryException
- query exceptionCopyright © 2005–2015 BaseX Team. All rights reserved.