Package net.sf.saxon.instruct
Class SlotManager
- java.lang.Object
-
- net.sf.saxon.instruct.SlotManager
-
- All Implemented Interfaces:
java.io.Serializable
public class SlotManager extends java.lang.Object implements java.io.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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SlotManager()
The constructor should not be called directly.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
allocateSlotNumber(int fingerprint)
Allocate a slot number for a variableint
getNumberOfVariables()
Get number of variables (size of stack frame)java.util.List
getVariableMap()
Get the variable map (simply a list of fingerprints of the variable names).void
setNumberOfVariables(int numberOfVariables)
Set the number of variables
-
-
-
Method Detail
-
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
public java.util.List 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.
-
-