public class LetClause extends Clause
COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, TRACE, WHERE, WINDOW| Constructor and Description |
|---|
LetClause() |
| Modifier and Type | Method and Description |
|---|---|
LetClause |
copy()
Create a copy of this clause
|
void |
explain(ExpressionPresenter out)
Diagnostic print of expression structure.
|
void |
gatherVariableReferences(ExpressionVisitor visitor,
Binding binding,
List<VariableReference> references)
Build a list of all references to a variables declared in this clause
|
int |
getClauseKey()
Get a keyword identifying what kind of clause this is
|
TuplePull |
getPullStream(TuplePull base,
XPathContext context)
Get a tuple stream that implements the functionality of this clause, taking its
input from another tuple stream which this clause modifies
|
TuplePush |
getPushStream(TuplePush destination,
XPathContext context)
Get a push-mode tuple stream that implements the functionality of this clause, supplying its
output to another tuple stream
|
LocalVariableBinding |
getRangeVariable() |
LocalVariableBinding[] |
getRangeVariables()
Get the number of variables bound by this clause
|
Expression |
getSequence() |
void |
processSubExpressions(ExpressionProcessor processor)
Process the subexpressions of this clause
|
void |
refineVariableType(ExpressionVisitor visitor,
List<VariableReference> references,
Expression returnExpr)
Supply improved type information to the expressions that contain references to the variables declared in this clause
|
void |
setRangeVariable(LocalVariableBinding binding) |
void |
setSequence(Expression sequence) |
String |
toString() |
void |
typeCheck(ExpressionVisitor visitor)
Type-check the expression
|
containsNonInlineableVariableReference, getLocationId, optimize, setLocationIdpublic int getClauseKey()
ClausegetClauseKey in class Clausepublic void setSequence(Expression sequence)
public Expression getSequence()
public void setRangeVariable(LocalVariableBinding binding)
public LocalVariableBinding getRangeVariable()
public LocalVariableBinding[] getRangeVariables()
getRangeVariables in class Clausepublic TuplePull getPullStream(TuplePull base, XPathContext context)
getPullStream in class Clausebase - the input tuple streamcontext - public TuplePush getPushStream(TuplePush destination, XPathContext context)
getPushStream in class Clausedestination - the output tuple streamcontext - public void processSubExpressions(ExpressionProcessor processor) throws XPathException
processSubExpressions in class Clauseprocessor - the expression processor used to process the subexpressionsXPathException - if any error is detectedpublic void typeCheck(ExpressionVisitor visitor) throws XPathException
typeCheck in class Clausevisitor - the ExpressionVisitor, providing access to static context informationXPathException - if any error is detectedpublic void gatherVariableReferences(ExpressionVisitor visitor, Binding binding, List<VariableReference> references)
ClausegatherVariableReferences in class Clausevisitor - the expression visitorbinding - a variable declared in this clausereferences - the list of variable references, initially empty, to which the method will appendpublic void refineVariableType(ExpressionVisitor visitor, List<VariableReference> references, Expression returnExpr)
ClauserefineVariableType in class Clausevisitor - the expression visitorreferences - the list of variable referencesreturnExpr - the expression in the return clausepublic void explain(ExpressionPresenter out)
Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.