Package net.sf.saxon.query
Class GlobalVariableDefinition
java.lang.Object
net.sf.saxon.query.GlobalVariableDefinition
- All Implemented Interfaces:
SourceLocator
,VariableDeclaration
,Declaration
- Direct Known Subclasses:
UndeclaredVariable
Class to hold compile-time information about an XQuery global variable
or parameter
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompile
(StaticQueryContext env, int slot) Create a compiled representation of this global variablevoid
explain
(Configuration config) Produce diagnostic output showing the compiled and optimized expression tree for a functionint
Get column numberGet the compiled variable if the definition has been compiledint
Get the line number where the declaration appearsint
Get the variable nameGet public identifierGet the required type of the variableGet the system ID of the module containing the variable declarationGet the name of the variableIterate over the references to this variablevoid
Register a variable reference that refers to this global variablevoid
setIsParameter
(boolean b) Indicate 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 sourcevoid
setNameCode
(int nameCode) Set the variable namevoid
setRequiredType
(SequenceType type) Set the required type of the variablevoid
setSystemId
(String systemId) Set the system ID of the module where the variable declaration appearsvoid
Set the expression used to define the value of the variablevoid
setVariableName
(String variableName) Set the variable namestatic void
typeCheck
(StaticQueryContext env, GeneralVariable var) Type check the compiled representation of this global variable
-
Field Details
-
references
-
-
Constructor Details
-
GlobalVariableDefinition
public GlobalVariableDefinition()
-
-
Method Details
-
setRequiredType
Set the required type of the variable- Parameters:
type
- the declared type, from the "as" clause if present
-
getRequiredType
Get the required type of the variable- Returns:
- the declared type, from the "as" clause if present
-
setNameCode
public void setNameCode(int nameCode) Set the variable name- Parameters:
nameCode
- the variable name, expressed as a NamePool name code
-
getNameCode
public int getNameCode()Get the variable name- Specified by:
getNameCode
in interfaceVariableDeclaration
- Returns:
- the variable name, expressed as a NamePool name code
-
setLineNumber
public void setLineNumber(int lineNumber) Set the line number where the variable declaration appears in the source- Parameters:
lineNumber
- the line number
-
getLineNumber
public int getLineNumber()Get the line number where the declaration appears- Specified by:
getLineNumber
in interfaceSourceLocator
-
getColumnNumber
public int getColumnNumber()Get column number- Specified by:
getColumnNumber
in interfaceSourceLocator
- Returns:
- -1 always
-
getPublicId
Get public identifier- Specified by:
getPublicId
in interfaceSourceLocator
- Returns:
- null always
-
setSystemId
Set the system ID of the module where the variable declaration appears -
getSystemId
Get the system ID of the module containing the variable declaration- Specified by:
getSystemId
in interfaceSourceLocator
-
getVariableName
Get the name of the variable- Specified by:
getVariableName
in interfaceVariableDeclaration
- Returns:
- the variable name, as a lexical QName
-
setVariableName
Set the variable name- Parameters:
variableName
- the variable name, as a lexical QName
-
setValueExpression
Set the expression used to define the value of the variable- Parameters:
val
- the initializing expression
-
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
-
registerReference
Register a variable reference that refers to this global variable- Specified by:
registerReference
in interfaceVariableDeclaration
- Parameters:
ref
- the variable reference
-
iterateReferences
Iterate over the references to this variable -
compile
Create a compiled representation of this global variable- Parameters:
env
- the static context for the query moduleslot
- the slot number allocated to this variable- Returns:
- the compiled representation
- Throws:
XPathException
- if compile-time errors are found.
-
typeCheck
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.
-
getCompiledVariable
Get the compiled variable if the definition has been compiled -
explain
Produce diagnostic output showing the compiled and optimized expression tree for a function- Parameters:
config
- the configuration to be used
-