|
||||||||||
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.func.FuncLit
public final class FuncLit
A named function literal.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.basex.query.expr.Expr |
---|
Expr.Flag |
Field Summary |
---|
Fields inherited from class org.basex.query.expr.Single |
---|
expr |
Fields inherited from class org.basex.query.expr.ParseExpr |
---|
info, size, type |
Constructor Summary | |
---|---|
FuncLit(QNm nm,
Var[] arg,
Expr fn,
FuncType ft,
VarScope scp,
StaticContext sctx,
InputInfo ii)
Constructor. |
Method Summary | |
---|---|
boolean |
accept(ASTVisitor visitor)
Traverses this expression, notifying the visitor of declared and used variables, and checking the tree for other recursive properties. |
void |
compile(QueryContext ctx)
Compiles the expression contained in this scope. |
Expr |
compile(QueryContext ctx,
VarScope o)
Compiles and optimizes the expression, assigns data types and cardinalities. |
boolean |
compiled()
Checks if this scope has already been compiled. |
Expr |
copy(QueryContext ctx,
VarScope o,
IntObjMap<Var> vs)
Copies an expression. |
boolean |
has(Expr.Flag flag)
Indicates if an expression has the specified compiler property. |
Item |
item(QueryContext ctx,
InputInfo ii)
Evaluates the expression and returns the resulting item or a null reference, if the expression yields an empty sequence. |
java.lang.String |
toString()
|
static FuncLit |
unknown(QNm nm,
long ar,
QueryContext ctx,
InputInfo ii)
Creates a function literal for a function that was not yet encountered while parsing. |
boolean |
visit(ASTVisitor visitor)
Traverses this scope with the given ASTVisitor . |
Methods inherited from class org.basex.query.expr.Single |
---|
checkUp, count, exprSize, inline, plan, 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, iter, optPre, preEval, size, test, type, value |
Methods inherited from class org.basex.query.expr.Expr |
---|
addText, compEbv, copy, hasFreeVars, indexAccessible, indexEquivalent, inlineAll, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, optimize, 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 |
Constructor Detail |
---|
public FuncLit(QNm nm, Var[] arg, Expr fn, FuncType ft, VarScope scp, StaticContext sctx, InputInfo ii)
nm
- function namearg
- formal parametersfn
- function bodyft
- function typescp
- variable scopesctx
- static contextii
- input infoMethod Detail |
---|
public void compile(QueryContext ctx) throws QueryException
Scope
compile
in interface Scope
ctx
- query context
QueryException
- compilation errorspublic Expr compile(QueryContext ctx, VarScope o) throws QueryException
Expr
compile
in class Single
ctx
- query contexto
- variable scope
QueryException
- query exceptionpublic Item item(QueryContext ctx, InputInfo ii) throws QueryException
Expr
null
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.
item
in class ParseExpr
ctx
- query contextii
- input info
QueryException
- query exceptionpublic Expr copy(QueryContext ctx, VarScope o, IntObjMap<Var> vs)
Expr
copy
in class Expr
ctx
- query contexto
- variable scope for creating new variablesvs
- mapping from old variable IDs to new variable copies
public boolean has(Expr.Flag flag)
Expr
Expr.compile(org.basex.query.QueryContext, org.basex.query.var.VarScope)
methods to test properties of sub-expressions.
It returns true
if at least one test is successful.
has
in class Single
flag
- flag to be found
public static FuncLit unknown(QNm nm, long ar, QueryContext ctx, InputInfo ii) throws QueryException
nm
- function namear
- function arityctx
- query contextii
- input info
QueryException
- query exceptionpublic boolean visit(ASTVisitor visitor)
Scope
ASTVisitor
.
visit
in interface Scope
visitor
- visitor
public boolean accept(ASTVisitor visitor)
Expr
accept
in class Single
visitor
- visitor
public boolean compiled()
Scope
compiled
in interface Scope
public java.lang.String toString()
toString
in class ExprInfo
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |