|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.FunctionCall
Abstract superclass for calls to system-defined and user-defined functions
Field Summary | |
protected Expression[] |
argument
The array of expressions representing the actual parameters to the function call |
Fields inherited from class net.sf.saxon.expr.ComputedExpression |
lineNumber, NO_ARGUMENTS, staticProperties |
Constructor Summary | |
FunctionCall()
|
Method Summary | |
Expression |
analyze(StaticContext env)
Type-check the expression. |
protected int |
checkArgumentCount(int min,
int max)
Check number of arguments. |
protected abstract void |
checkArguments(StaticContext env)
Method supplied by each class of function to check arguments during parsing, when all the argument expressions have been read |
void |
display(int level,
NamePool pool)
Diagnostic print of expression structure. |
abstract String |
getName()
Diagnostic print of expression structure |
int |
getNumberOfArguments()
Determine the number of actual arguments supplied in the function call |
Expression[] |
getSubExpressions()
Get the immediate subexpressions of this expression |
Expression |
preEvaluate(StaticContext env)
Pre-evaluate a function at compile time. |
Expression |
promote(PromotionOffer offer)
Promote this expression if possible |
void |
setArguments(Expression[] args)
Method called by the expression parser when all arguments have been supplied |
Expression |
simplify()
Simplify the function call. |
protected Expression |
simplifyArguments()
Simplify the arguments of the function. |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSpecialProperties, iterate, markTailFunctionCalls, setLineNumber, typeError |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sf.saxon.expr.Expression |
getItemType |
Field Detail |
protected Expression[] argument
Constructor Detail |
public FunctionCall()
Method Detail |
public final int getNumberOfArguments()
public void setArguments(Expression[] args) throws XPathException
XPathException
public Expression simplify() throws XPathException
simplify
in interface Expression
simplify
in class ComputedExpression
XPathException
- if an error is discovered during expression
rewritingprotected final Expression simplifyArguments() throws XPathException
XPathException
public Expression analyze(StaticContext env) throws XPathException
env
- the static context of the expression
XPathException
- if an error is discovered during this phase
(typically a type error)public Expression preEvaluate(StaticContext env) throws XPathException
XPathException
public Expression promote(PromotionOffer offer) throws XPathException
promote
in interface Expression
promote
in class ComputedExpression
offer
- details of the offer, for example the offer to move
expressions that don't depend on the context to an outer level in
the containing expression
XPathException
- if any error is detectedprotected abstract void checkArguments(StaticContext env) throws XPathException
XPathException
protected int checkArgumentCount(int min, int max) throws XPathException
min
- the minimum number of arguments allowedmax
- the maximum number of arguments allowed
XPathException
- if the number of arguments is out of rangepublic Expression[] getSubExpressions()
getSubExpressions
in interface Expression
getSubExpressions
in class ComputedExpression
public abstract String getName()
public void display(int level, NamePool pool)
Expression
level
- indentation level for this expression
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |