public final class InlineFunc extends UserFunc
| Constructor and Description |
|---|
InlineFunc(InputInfo ii,
SeqType r,
Var[] v,
Expr e,
Ann a)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Expr |
comp(QueryContext ctx)
Compiles and optimizes the expression, assigns data types and
cardinalities.
|
FuncItem |
item(QueryContext ctx,
InputInfo ii)
Evaluates the expression and returns the resulting item or
a
null reference, if the expression yields an empty sequence. |
ValueIter |
iter(QueryContext ctx)
Evaluates the expression and returns an iterator on the resulting items.
|
void |
plan(Serializer ser)
Serializes the expression tree.
|
boolean |
removable(Var v)
Checks if the specified variable is replaceable by a context item.
|
Expr |
remove(Var v)
|
java.lang.String |
toString() |
boolean |
uses(Expr.Use u)
Indicates if an expression uses the specified type or operation.
|
Value |
value(QueryContext ctx)
Evaluates the expression and returns the resulting value.
|
checkBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkIO, checkItem, checkItr, checkItr, checkMap, checkNode, checkNoEmpty, checkStr, checkType, checkUp, checkUp, checkWrite, compBln, ebv, optPre, preEval, size, test, typeaddText, compEbv, hasFreeVars, indexAccessible, indexEquivalent, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, sameAsdescription, infopublic Expr comp(QueryContext ctx) throws QueryException
Exprcomp in class UserFuncctx - query contextQueryException - query exceptionpublic FuncItem item(QueryContext ctx, InputInfo ii)
Exprnull reference, if the expression yields an empty sequence.
If this method is not overwritten, Expr.iter(org.basex.query.QueryContext) must be implemented
by an expression, as it may be called by this method.public Value value(QueryContext ctx)
Exprpublic ValueIter iter(QueryContext ctx)
ExprExpr.item(org.basex.query.QueryContext, org.basex.util.InputInfo) must be implemented
by an expression, as it may be called by this method.public boolean uses(Expr.Use u)
ExprExpr.comp(org.basex.query.QueryContext) methods to test the properties of sub-expressions.
It will return true as soon as at least one test is successful.public boolean removable(Var v)
ExprPreds.removable(org.basex.query.util.Var), if one of the variables is used within
a predicate.MixedPath.removable(org.basex.query.util.Var), if the variable occurs within
the path.Group.removable(org.basex.query.util.Var), as the group by expression depends on
variable references.GFLWOR.comp(org.basex.query.QueryContext) to rewrite where clauses
into predicates.public Expr remove(Var v)
ExprVarRef expressions for the given variable
by a Context reference. This method is called by
GFLWOR.comp(org.basex.query.QueryContext) to rewrite where clauses as predicates.public void plan(Serializer ser) throws java.io.IOException
ExprInfo