Constructor | Description |
---|---|
LocalVariableBinding(StructuredQName name,
SequenceType type) |
Create a LocalVariableBinding
|
Modifier and Type | Method | Description |
---|---|---|
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
|
public LocalVariableBinding(StructuredQName name, SequenceType type)
name
- the name of the variabletype
- the static type of the variablepublic LocalVariableBinding copy()
public StructuredQName getVariableQName()
getVariableQName
in interface Binding
public SequenceType getRequiredType()
getRequiredType
in interface Binding
public IntegerValue[] getIntegerBoundsForVariable()
getIntegerBoundsForVariable
in interface Binding
public int getNominalReferenceCount()
public void addReference(boolean isLoopingReference)
addReference
in interface Binding
isLoopingReference
- - 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 Binding
context
- the XPath dynamic evaluation contextXPathException
- if an error occurs while evaluating
the variablepublic boolean isAssignable()
isAssignable
in interface Binding