|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.expr.flwor.LocalVariableBinding
public class LocalVariableBinding
Represents the defining occurrence of a variable declared within a FLWOR expression, for example the $p in "for $x at $p in ...".
| Constructor Summary | |
|---|---|
LocalVariableBinding(StructuredQName name,
SequenceType type)
Create a LocalVariableBinding |
|
| Method Summary | |
|---|---|
void |
addReference(boolean isLoopingReference)
Register a variable reference that refers to the variable bound in this expression |
LocalVariableBinding |
copy()
Make a copy of this LocalVariableBinding (except for the slot number) |
ValueRepresentation |
evaluateVariable(XPathContext context)
Get the value of the range variable |
IntegerValue[] |
getIntegerBoundsForVariable()
If the variable is bound to an integer, get the minimum and maximum possible values. |
int |
getLocalSlotNumber()
If this is a local variable held on the local stack frame, return the corresponding slot number. |
int |
getNominalReferenceCount()
Get the (nominal) count of the number of references to this variable |
SequenceType |
getRequiredType()
Get the required type (declared type) of the variable |
StructuredQName |
getVariableQName()
Get the name of the variable |
boolean |
isAssignable()
Test whether it is permitted to assign to the variable using the saxon:assign extension element. |
boolean |
isGlobal()
Indicate whether the binding is local or global. |
void |
setIndexedVariable()
Indicate that the variable bound by this let expression should be indexable (because it is used in an appropriate filter expression) |
void |
setSlotNumber(int nr)
Set the slot number for the range variable |
void |
setVariableQName(StructuredQName variableName)
Set the name of the variable |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LocalVariableBinding(StructuredQName name,
SequenceType type)
name - the name of the variabletype - the static type of the variable| Method Detail |
|---|
public LocalVariableBinding copy()
public StructuredQName getVariableQName()
getVariableQName in interface Bindingpublic SequenceType getRequiredType()
getRequiredType in interface Bindingpublic IntegerValue[] getIntegerBoundsForVariable()
getIntegerBoundsForVariable in interface Bindingpublic int getNominalReferenceCount()
public void addReference(boolean isLoopingReference)
addReference in interface BindingisLoopingReference - - true if the reference occurs within a loop, such as the predicate
of a filter expressionpublic void setIndexedVariable()
public void setVariableQName(StructuredQName variableName)
variableName - the name of the variablepublic void setSlotNumber(int nr)
nr - the slot number to be usedpublic int getLocalSlotNumber()
getLocalSlotNumber in interface Binding
public ValueRepresentation evaluateVariable(XPathContext context)
throws XPathException
evaluateVariable in interface Bindingcontext - the XPath dynamic evaluation context
XPathException - if an error occurs while evaluating
the variablepublic boolean isAssignable()
isAssignable in interface Bindingpublic boolean isGlobal()
isGlobal in interface Binding
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||