|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.expr.instruct.SlotManager
public class SlotManager
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.
Field Summary | |
---|---|
static SlotManager |
EMPTY
An empty SlotManager |
Constructor Summary | |
---|---|
SlotManager()
The constructor should not be called directly. |
|
SlotManager(int n)
Create a SlotManager with a given number of slots |
Method Summary | |
---|---|
int |
allocateSlotNumber(StructuredQName qName)
Allocate a slot number for a variable |
int |
getNumberOfVariables()
Get number of variables (size of stack frame) |
List<StructuredQName> |
getVariableMap()
Get the variable map (simply a list of variable names as structured QNames). |
void |
setNumberOfVariables(int numberOfVariables)
Set the number of variables |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static SlotManager EMPTY
Constructor Detail |
---|
public SlotManager()
Configuration.makeSlotManager()
.
public SlotManager(int n)
n
- the number of slotsMethod Detail |
---|
public int getNumberOfVariables()
public void setNumberOfVariables(int numberOfVariables)
numberOfVariables
- the space to be allocated for variablespublic int allocateSlotNumber(StructuredQName qName)
qName
- the name of the variable
public List<StructuredQName> getVariableMap()
Changed in Saxon 9.0 to return a list of StructuredQName values rather than integers
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |