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(FLWORExpression flwor)
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 |
initSequence(FLWORExpression flwor,
Expression sequence) |
void |
processOperands(OperandProcessor 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,
ContextItemStaticInfo contextInfo)
Type-check the expression
|
containsNonInlineableVariableReference, getConfiguration, getLocation, getPackageData, optimize, setLocation, setPackageDatapublic int getClauseKey()
ClausegetClauseKey in class Clausepublic LetClause copy(FLWORExpression flwor)
Clausepublic void initSequence(FLWORExpression flwor, Expression sequence)
public 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 processOperands(OperandProcessor processor) throws XPathException
processOperands in class Clauseprocessor - the expression processor used to process the subexpressionsXPathException - if any error is detectedpublic void typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException
typeCheck in class Clausevisitor - the ExpressionVisitor, providing access to static context informationcontextInfo - static information about the dynamic contextXPathException - 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-2014 Saxonica Limited. All rights reserved.