public class GlobalVariableDefinition extends Object implements VariableDeclaration, Declaration
| Modifier and Type | Field and Description |
|---|---|
protected List |
references |
| Constructor and Description |
|---|
GlobalVariableDefinition() |
| Modifier and Type | Method and Description |
|---|---|
GlobalVariable |
compile(Executable exec,
int slot)
Create a compiled representation of this global variable
|
void |
explain(ExpressionPresenter out)
Produce diagnostic output showing the compiled and optimized expression tree for a function
|
int |
getColumnNumber()
Get column number
|
GlobalVariable |
getCompiledVariable()
Get the compiled variable if the definition has been compiled
|
int |
getLineNumber()
Get the line number where the declaration appears
|
String |
getPublicId()
Get public identifier
|
SequenceType |
getRequiredType()
Get the required type of the variable
|
String |
getSystemId()
Get the system ID of the module containing the variable declaration
|
Expression |
getValueExpression()
Get the expression used to initialize the value of the variable
|
StructuredQName |
getVariableQName()
Get the variable name
|
boolean |
isParameter()
Ask whether this global variable is a "parameter" (an external variable, in XQuery terminology)
|
Iterator |
iterateReferences()
Iterate over the references to this variable
|
void |
registerReference(BindingReference ref)
Register a variable reference that refers to this global variable
|
void |
setIsParameter(boolean b)
Say whether this global variable is a "parameter" (an external variable, in XQuery terminology)
|
void |
setLineNumber(int lineNumber)
Set the line number where the variable declaration appears in the source
|
void |
setRequiredType(SequenceType type)
Set the required type of the variable
|
void |
setSystemId(String systemId)
Set the system ID of the module where the variable declaration appears
|
void |
setValueExpression(Expression val)
Set the expression used to define the value of the variable
|
void |
setVariableQName(StructuredQName qName)
Set the variable name
|
void |
typeCheck(ExpressionVisitor visitor)
Type check the compiled representation of this global variable
|
protected List references
public void setRequiredType(SequenceType type)
type - the declared type, from the "as" clause if presentpublic SequenceType getRequiredType()
public void setVariableQName(StructuredQName qName)
qName - the variable namepublic StructuredQName getVariableQName()
getVariableQName in interface VariableDeclarationpublic void setLineNumber(int lineNumber)
lineNumber - the line numberpublic int getLineNumber()
getLineNumber in interface SourceLocatorpublic int getColumnNumber()
getColumnNumber in interface SourceLocatorpublic String getPublicId()
getPublicId in interface SourceLocatorpublic void setSystemId(String systemId)
systemId - the System ID (base URI)public String getSystemId()
getSystemId in interface SourceLocatorpublic void setValueExpression(Expression val)
val - the initializing expressionpublic Expression getValueExpression()
public void setIsParameter(boolean b)
b - true if this variable is externalpublic boolean isParameter()
public void registerReference(BindingReference ref)
registerReference in interface VariableDeclarationref - the variable referencepublic Iterator iterateReferences()
VariableReferencepublic GlobalVariable compile(Executable exec, int slot) throws XPathException
exec - the executableslot - the slot number allocated to this variableXPathException - if compile-time errors are found.public void typeCheck(ExpressionVisitor visitor) throws XPathException
visitor - an expression visitorXPathException - if compile-time errors are found.public GlobalVariable getCompiledVariable()
public void explain(ExpressionPresenter out)
out - the destination to be used