|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.expr.ExpressionVisitor
public class ExpressionVisitor
The ExpressionVisitor supports the various phases of processing of an expression tree which require a recursive walk of the tree structure visiting each node in turn. In maintains a stack holding the ancestor nodes of the node currently being visited.
Constructor Summary | |
---|---|
ExpressionVisitor()
Create an ExpressionVisitor |
Method Summary | |
---|---|
Configuration |
getConfiguration()
Get the Saxon configuration |
Expression |
getCurrentExpression()
Get the current expression, the one being visited |
Executable |
getExecutable()
Get the Executable containing the expressions being visited |
Expression |
getParentExpression()
Get the parent expression of the current expression in the expression tree |
Stack<Expression> |
getStack()
Get the stack containing all the expressions currently being visited |
StaticContext |
getStaticContext()
Get the static context for the expressions being visited. |
boolean |
isLoopingSubexpression(Expression ancestor)
Return true if the current expression at the top of the visitor's stack is evaluated repeatedly when a given ancestor expression is evaluated once |
static ExpressionVisitor |
make(StaticContext env)
Factory method: make an expression visitor |
Expression |
optimize(Expression exp,
ItemType contextItemType)
Optimize an expression, via the ExpressionVisitor |
void |
resetStaticProperties()
Reset the static properties for the current expression and for all its containing expressions. |
void |
setConfiguration(Configuration configuration)
Set the Saxon configuration |
void |
setExecutable(Executable executable)
Set the Executable containing the expressions being visited |
void |
setStack(Stack<Expression> stack)
Set the stack used to hold the expressions being visited |
void |
setStaticContext(StaticContext staticContext)
Set the static context for the expressions being visited. |
Expression |
simplify(Expression exp)
Simplify an expression, via the ExpressionVisitor |
Expression |
typeCheck(Expression exp,
ItemType contextItemType)
Type check an expression, via the ExpressionVisitor |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ExpressionVisitor()
Method Detail |
---|
public Configuration getConfiguration()
public void setConfiguration(Configuration configuration)
configuration
- the Saxon configurationpublic Executable getExecutable()
public void setExecutable(Executable executable)
executable
- the Executablepublic Stack<Expression> getStack()
Expression
public void setStack(Stack<Expression> stack)
stack
- the expression stackpublic StaticContext getStaticContext()
public void setStaticContext(StaticContext staticContext)
staticContext
- the static contextpublic Expression getCurrentExpression()
public static ExpressionVisitor make(StaticContext env)
env
- the static context
public Expression simplify(Expression exp) throws XPathException
exp
- the expression to be simplified
XPathException
public Expression typeCheck(Expression exp, ItemType contextItemType) throws XPathException
exp
- the expression to be typecheckedcontextItemType
- the static type of the context item for this expression
XPathException
- if static type checking fails, that is, if the expression cannot possibly
deliver a value of the required typepublic Expression optimize(Expression exp, ItemType contextItemType) throws XPathException
exp
- the expression to be typecheckedcontextItemType
- the static type of the context item for this expression
XPathException
public Expression getParentExpression()
public boolean isLoopingSubexpression(Expression ancestor)
ancestor
- the ancestor expression. May be null, in which case the search goes all the way
to the base of the stack.
public final void resetStaticProperties()
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |