|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.basex.data.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.Single
org.basex.query.expr.TypeCheck
public final class TypeCheck
Checks the argument expression's result type.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.basex.query.expr.Expr |
---|
Expr.Flag |
Field Summary | |
---|---|
boolean |
promote
Flag for function conversion. |
Fields inherited from class org.basex.query.expr.Single |
---|
expr |
Fields inherited from class org.basex.query.expr.ParseExpr |
---|
info, size, type |
Constructor Summary | |
---|---|
TypeCheck(InputInfo ii,
Expr e,
SeqType to,
boolean f)
Constructor. |
Method Summary | |
---|---|
Expr |
compile(QueryContext ctx,
VarScope scp)
Compiles and optimizes the expression, assigns data types and cardinalities. |
Expr |
copy(QueryContext ctx,
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 ctx)
Evaluates the expression and returns an iterator on the resulting items. |
Expr |
optimize(QueryContext ctx,
VarScope scp)
Optimizes an already compiled expression without recompiling its sub-expressions. |
void |
plan(FElem plan)
Creates an expression tree. |
java.lang.String |
toString()
|
Value |
value(QueryContext ctx)
Evaluates the expression and returns the resulting value. |
Methods inherited from class org.basex.query.expr.Single |
---|
accept, checkUp, count, exprSize, has, inline, removable |
Methods inherited from class org.basex.query.expr.ParseExpr |
---|
checkAdmin, checkAllUp, checkBinary, checkBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkFunc, checkItem, checkItr, checkItr, checkMap, checkNode, checkNode, checkNode, checkNoEmpty, checkNoneUp, checkNoUp, checkQNm, checkStr, checkStr, checkStrBin, checkType, checkWrite, compBln, copyType, ebv, item, optPre, preEval, size, test, type |
Methods inherited from class org.basex.query.expr.Expr |
---|
addText, compEbv, copy, hasFreeVars, indexAccessible, indexEquivalent, inlineAll, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, sameAs, uses, visitAll |
Methods inherited from class org.basex.data.ExprInfo |
---|
addPlan, addPlan, description, info, planAttr, planElem |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public final boolean promote
Constructor Detail |
---|
public TypeCheck(InputInfo ii, Expr e, SeqType to, boolean f)
ii
- input infoe
- expression to be promotedto
- type to promote tof
- flag for function conversionMethod Detail |
---|
public Expr compile(QueryContext ctx, VarScope scp) throws QueryException
Expr
compile
in class Single
ctx
- query contextscp
- variable scope
QueryException
- query exceptionpublic Expr optimize(QueryContext ctx, VarScope scp) throws QueryException
Expr
optimize
in class Expr
ctx
- query contextscp
- variable scope
QueryException
- query exceptionpublic Iter iter(QueryContext ctx) throws QueryException
Expr
Expr.item(org.basex.query.QueryContext, org.basex.util.InputInfo)
must be implemented
by an expression, as it may be called by this method.
iter
in class ParseExpr
ctx
- query context
QueryException
- query exceptionpublic Value value(QueryContext ctx) throws QueryException
Expr
value
in class ParseExpr
ctx
- query context
QueryException
- query exceptionpublic Expr copy(QueryContext ctx, VarScope scp, IntObjMap<Var> vs)
Expr
copy
in class Expr
ctx
- query contextscp
- variable scope for creating new variablesvs
- mapping from old variable IDs to new variable copies
public void plan(FElem plan)
ExprInfo
plan
in class Single
plan
- root elementpublic java.lang.String toString()
toString
in class ExprInfo
public boolean isRedundant(Var var)
var
- variable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |