net.sf.saxon.expr
Class RangeVariableDeclaration

java.lang.Object
  |
  +--net.sf.saxon.expr.RangeVariableDeclaration
All Implemented Interfaces:
VariableDeclaration

public class RangeVariableDeclaration
extends java.lang.Object
implements VariableDeclaration

Represents the defining occurrence of a variable declared for local use within an expression, for example the $x in "for $x in ...". This object is used only at compile-time.


Constructor Summary
RangeVariableDeclaration()
           
 
Method Summary
 void fixupReferences(Binding binding)
           
 SequenceType getRequiredType()
           
 int getVariableFingerprint()
          Get the fingerprint code that identifies the name of the variable
 java.lang.String getVariableName()
          Get the name of the variable for use in diagnostics - a lexical QName
 void refineTypeInformation(ItemType type, int cardinality, Value constantValue, int properties)
           
 void registerReference(BindingReference ref)
          Method called by a BindingReference to register the variable reference for subsequent fixup.
 void setRequiredType(SequenceType requiredType)
           
 void setVariableFingerprint(int fingerprint)
           
 void setVariableName(java.lang.String variableName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RangeVariableDeclaration

public RangeVariableDeclaration()
Method Detail

setVariableFingerprint

public void setVariableFingerprint(int fingerprint)

getVariableFingerprint

public int getVariableFingerprint()
Description copied from interface: VariableDeclaration
Get the fingerprint code that identifies the name of the variable

Specified by:
getVariableFingerprint in interface VariableDeclaration

getRequiredType

public SequenceType getRequiredType()

setRequiredType

public void setRequiredType(SequenceType requiredType)

setVariableName

public void setVariableName(java.lang.String variableName)

getVariableName

public java.lang.String getVariableName()
Description copied from interface: VariableDeclaration
Get the name of the variable for use in diagnostics - a lexical QName

Specified by:
getVariableName in interface VariableDeclaration

registerReference

public void registerReference(BindingReference ref)
Description copied from interface: VariableDeclaration
Method called by a BindingReference to register the variable reference for subsequent fixup. This method is called by the XPath parser when each reference to the variable is encountered. At some time after parsing and before execution of the expression, the VariableDeclaration is responsible for calling the two methods setStaticType() and fixup() on each BindingReference that has been registered with it.

Specified by:
registerReference in interface VariableDeclaration

fixupReferences

public void fixupReferences(Binding binding)

refineTypeInformation

public void refineTypeInformation(ItemType type,
                                  int cardinality,
                                  Value constantValue,
                                  int properties)