net.sf.saxon.instruct
public class GlobalVariable extends GeneralVariable implements Container
evaluationMode, referenceCount, slotNumber, variableQName
EVALUATE_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, staticProperties
Constructor and Description |
---|
GlobalVariable()
Create a global variable
|
Modifier and Type | Method and Description |
---|---|
ValueRepresentation |
evaluateVariable(XPathContext context)
Evaluate the variable
|
Executable |
getExecutable()
Get the executable containing this global variable
|
int |
getHostLanguage()
Get the host language for this declaration
|
ValueRepresentation |
getSelectValue(XPathContext context)
Evaluate the variable.
|
boolean |
isGlobal()
Is this a global variable?
|
void |
lookForCycles(java.util.Stack referees,
XQueryFunctionLibrary globalFunctionLibrary)
Check for cycles in this variable definition
|
TailCall |
processLeavingTail(XPathContext context)
Process the variable declaration
|
void |
setContainsLocals(SlotManager map)
The expression that initializes a global variable may itself use local variables.
|
void |
setExecutable(Executable executable)
Set the containing executable
|
void |
setHostLanguage(int language)
Set the host language for this declaration
|
copy, evaluateItem, explain, getCardinality, getEvaluationMode, getInstructionNameCode, getItemType, getLocalSlotNumber, getRequiredType, getSelectExpression, getSlotNumber, getVariableQName, init, isAssignable, isImplicitlyRequiredParam, isRequiredParam, isTunnelParam, iterate, iterateSubExpressions, optimize, promoteInst, replaceSubExpression, setAssignable, setImplicitlyRequiredParam, setReferenceCount, setRequiredParam, setRequiredType, setSelectExpression, setSlotNumber, setTunnel, setVariableQName, simplify, typeCheck
assembleParams, assembleTunnelParams, computeCardinality, computeSpecialProperties, createsNewNodes, dynamicError, evaluateAsString, getConstructType, getImplementationMethod, getSourceLocator, isXSLT, process, promote
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, findParentOf, getColumnNumber, getColumnNumber, getContainer, getDependencies, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isUpdatingExpression, iterateEvents, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeError
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getLocationProvider, replaceSubExpression
public Executable getExecutable()
getExecutable
in interface Container
getExecutable
in class Expression
public void setExecutable(Executable executable)
executable
- the executable that contains this global variablepublic void setHostLanguage(int language)
language
- the host language (for example XSLT, XQuery)public int getHostLanguage()
getHostLanguage
in interface Container
getHostLanguage
in class Expression
public void setContainsLocals(SlotManager map)
map
- The stack frame map for local variables used while evaluating this global
variable.public boolean isGlobal()
isGlobal
in interface Binding
isGlobal
in class GeneralVariable
public void lookForCycles(java.util.Stack referees, XQueryFunctionLibrary globalFunctionLibrary) throws XPathException
referees
- the calls leading up to this one; it's an error if this variable is on the
stack, because that means it calls itself directly or indirectly. The stack may contain
variable definitions (GlobalVariable objects) and user-defined functions (UserFunction objects).
It will never contain the same object more than once.globalFunctionLibrary
- the library containing all global functionsXPathException
public TailCall processLeavingTail(XPathContext context) throws XPathException
processLeavingTail
in interface TailCallReturner
processLeavingTail
in class Instruction
context
- The dynamic context of the transformation, giving access to the current node,
the current variables, etc.XPathException
public ValueRepresentation getSelectValue(XPathContext context) throws XPathException
getSelectValue
in class GeneralVariable
context
- the XPath dynamic contextXPathException
public ValueRepresentation evaluateVariable(XPathContext context) throws XPathException
evaluateVariable
in interface Binding
context
- the XPath dynamic evaluation contextXPathException