net.sf.saxon.query

Class GlobalVariableDefinition

public class GlobalVariableDefinition extends Object implements VariableDeclaration, Declaration

Class to hold compile-time information about an XQuery global variable or parameter
Field Summary
protected Listreferences
Method Summary
GlobalVariablecompile(StaticQueryContext env, int slot)
Create a compiled representation of this global variable
voidexplain(NamePool pool)
Produce diagnostic output showing the compiled and optimized expression tree for a function
intgetColumnNumber()
Get column number
GlobalVariablegetCompiledVariable()
Get the compiled variable if the definition has been compiled
intgetLineNumber()
Get the line number where the declaration appears
intgetNameCode()
Get the variable name
StringgetPublicId()
Get public identifier
SequenceTypegetRequiredType()
Get the required type of the variable
StringgetSystemId()
Get the system ID of the module containing the variable declaration
StringgetVariableName()
Get the name of the variable
IteratoriterateReferences()
Iterate over the references to this variable
voidregisterReference(BindingReference ref)
Register a variable reference that refers to this global variable
voidsetIsParameter(boolean b)
Indicate whether this global variable is a "parameter" (an external variable, in XQuery terminology)
voidsetLineNumber(int lineNumber)
Set the line number where the variable declaration appears in the source
voidsetNameCode(int nameCode)
Set the variable name
voidsetRequiredType(SequenceType type)
Set the required type of the variable
voidsetSystemId(String systemId)
Set the system ID of the module where the variable declaration appears
voidsetValueExpression(Expression val)
Set the expression used to define the value of the variable
voidsetVariableName(String variableName)
Set the variable name
static voidtypeCheck(StaticQueryContext env, GeneralVariable var)
Type check the compiled representation of this global variable

Field Detail

references

protected List references

Method Detail

compile

public GlobalVariable compile(StaticQueryContext env, int slot)
Create a compiled representation of this global variable

Parameters: env the static context for the query module slot the slot number allocated to this variable

Returns: the compiled representation

Throws: XPathException if compile-time errors are found.

explain

public void explain(NamePool pool)
Produce diagnostic output showing the compiled and optimized expression tree for a function

Parameters: pool the namepool to be used

getColumnNumber

public int getColumnNumber()
Get column number

Returns: -1 always

getCompiledVariable

public GlobalVariable getCompiledVariable()
Get the compiled variable if the definition has been compiled

getLineNumber

public int getLineNumber()
Get the line number where the declaration appears

getNameCode

public int getNameCode()
Get the variable name

Returns: the variable name, expressed as a NamePool name code

getPublicId

public String getPublicId()
Get public identifier

Returns: null always

getRequiredType

public SequenceType getRequiredType()
Get the required type of the variable

Returns: the declared type, from the "as" clause if present

getSystemId

public String getSystemId()
Get the system ID of the module containing the variable declaration

getVariableName

public String getVariableName()
Get the name of the variable

Returns: the variable name, as a lexical QName

iterateReferences

public Iterator iterateReferences()
Iterate over the references to this variable

registerReference

public void registerReference(BindingReference ref)
Register a variable reference that refers to this global variable

Parameters: ref the variable reference

setIsParameter

public void setIsParameter(boolean b)
Indicate whether this global variable is a "parameter" (an external variable, in XQuery terminology)

Parameters: b true if this variable is external

setLineNumber

public void setLineNumber(int lineNumber)
Set the line number where the variable declaration appears in the source

Parameters: lineNumber the line number

setNameCode

public void setNameCode(int nameCode)
Set the variable name

Parameters: nameCode the variable name, expressed as a NamePool name code

setRequiredType

public void setRequiredType(SequenceType type)
Set the required type of the variable

Parameters: type the declared type, from the "as" clause if present

setSystemId

public void setSystemId(String systemId)
Set the system ID of the module where the variable declaration appears

setValueExpression

public void setValueExpression(Expression val)
Set the expression used to define the value of the variable

Parameters: val the initializing expression

setVariableName

public void setVariableName(String variableName)
Set the variable name

Parameters: variableName the variable name, as a lexical QName

typeCheck

public static void typeCheck(StaticQueryContext env, GeneralVariable var)
Type check the compiled representation of this global variable

Parameters: env the static context for the query module

Throws: XPathException if compile-time errors are found.