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)
|
boolean |
isPrivate()
Ask whether this global variable is private
|
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 |
setPrivate(boolean b)
Say whether this global variable is a "parameter" (an external variable, in XQuery terminology)
|
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 VariableDeclaration
public void setLineNumber(int lineNumber)
lineNumber
- the line numberpublic int getLineNumber()
getLineNumber
in interface SourceLocator
public int getColumnNumber()
getColumnNumber
in interface SourceLocator
public String getPublicId()
getPublicId
in interface SourceLocator
public void setSystemId(String systemId)
systemId
- the System ID (base URI)public String getSystemId()
getSystemId
in interface SourceLocator
public 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 boolean isPrivate()
public void setPrivate(boolean b)
b
- true if this variable is externalpublic void registerReference(BindingReference ref)
registerReference
in interface VariableDeclaration
ref
- the variable referencepublic Iterator iterateReferences()
VariableReference
public 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