Package net.sf.saxon.instruct
Class SlotManager
java.lang.Object
net.sf.saxon.instruct.SlotManager
- All Implemented Interfaces:
Serializable
A SlotManager supports functions, templates, etc: specifically, any executable code that
requires a stack frame containing local variables. In XSLT a SlotManager underpins any
top-level element that can contain local variable declarations,
specifically, a top-level xsl:template, xsl:variable, xsl:param, or xsl:function element
or an xsl:attribute-set element or xsl:key element. In XQuery it underpins functions and
global variables. The purpose of the SlotManager is to allocate slot numbers to variables
in the stack, and to record how many slots are needed. A Debugger may define a subclass
with additional functionality.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
allocateSlotNumber
(int fingerprint) Allocate a slot number for a variableint
Get number of variables (size of stack frame)Get the variable map (simply a list of fingerprints of the variable names).void
setNumberOfVariables
(int numberOfVariables) Set the number of variables
-
Constructor Details
-
SlotManager
public SlotManager()The constructor should not be called directly. A new SlotManager should be obtained using the factory method in the Configuration object.
-
-
Method Details
-
getNumberOfVariables
public int getNumberOfVariables()Get number of variables (size of stack frame) -
setNumberOfVariables
public void setNumberOfVariables(int numberOfVariables) Set the number of variables- Parameters:
numberOfVariables
-
-
allocateSlotNumber
public int allocateSlotNumber(int fingerprint) Allocate a slot number for a variable -
getVariableMap
Get the variable map (simply a list of fingerprints of the variable names). Note that it is possible for several variables to have the same name.
-