net.sf.saxon.style
public abstract class XSLVariableDeclaration extends XSLGeneralVariable implements VariableDeclaration, StylesheetProcedure
Field Summary | |
---|---|
protected List | references |
Method Summary | |
---|---|
protected void | fixupBinding(Binding binding)
Notify all variable references of the Binding instruction |
void | fixupReferences()
Notify all references to this variable of the data type |
GeneralVariable | getCompiledVariable()
Get the compiled variable |
abstract SequenceType | getRequiredType()
Get the static type of the variable. |
SlotManager | getSlotManager()
Get the SlotManager associated with this stylesheet construct. |
int | getSlotNumber()
Get the slot number allocated to this variable (its position in the stackframe) |
protected void | index(XSLStylesheet top) |
boolean | isInstruction()
Determine whether this node is an instruction. |
void | optimize()
Optimize the stylesheet construct |
void | registerReference(BindingReference ref)
Method called by VariableReference to register the variable reference for
subsequent fixup |
protected void | setReferenceCount(GeneralVariable var)
Set the number of references to this variable. |
void | setSlotNumber(int slot)
Allocate a slot number to this variable |
void | validate()
Check that the variable is not already declared, and allocate a slot number |
Parameters: binding the Binding that represents this variable declaration in the executable code tree
Returns: the compiled variable if it has been compiled, or null otherwise
Returns: the static type declared for the variable
Returns: the associated SlotManager object
Returns: the allocated slot number
Returns: true - it is an instruction (well, it can be, anyway)
Parameters: var the variable
Parameters: slot the position of the variable on the local stack frame