Class GlobalVariableDefinition

    • Field Detail

      • references

        protected java.util.List references
    • Constructor Detail

      • GlobalVariableDefinition

        public GlobalVariableDefinition()
    • Method Detail

      • setRequiredType

        public void setRequiredType​(SequenceType type)
        Set the required type of the variable
        Parameters:
        type - the declared type, from the "as" clause if present
      • getRequiredType

        public SequenceType getRequiredType()
        Get the required type of the variable
        Returns:
        the declared type, from the "as" clause if present
      • setVariableQName

        public void setVariableQName​(StructuredQName qName)
        Set the variable name
        Parameters:
        qName - the variable name
      • 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 interface javax.xml.transform.SourceLocator
      • getColumnNumber

        public int getColumnNumber()
        Get column number
        Specified by:
        getColumnNumber in interface javax.xml.transform.SourceLocator
        Returns:
        -1 always
      • getPublicId

        public java.lang.String getPublicId()
        Get public identifier
        Specified by:
        getPublicId in interface javax.xml.transform.SourceLocator
        Returns:
        null always
      • setSystemId

        public void setSystemId​(java.lang.String systemId)
        Set the system ID of the module where the variable declaration appears
        Parameters:
        systemId - the System ID (base URI)
      • getSystemId

        public java.lang.String getSystemId()
        Get the system ID of the module containing the variable declaration
        Specified by:
        getSystemId in interface javax.xml.transform.SourceLocator
        Returns:
        the System ID (base URI)
      • setValueExpression

        public void setValueExpression​(Expression val)
        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
      • iterateReferences

        public java.util.Iterator iterateReferences()
        Iterate over the references to this variable
        Returns:
        an iterator over the references: returns objects of class VariableReference
      • compile

        public GlobalVariable compile​(Executable exec,
                                      int slot)
                               throws XPathException
        Create a compiled representation of this global variable
        Parameters:
        exec - the executable
        slot - the slot number allocated to this variable
        Returns:
        the compiled representation
        Throws:
        XPathException - if compile-time errors are found.
      • typeCheck

        public void typeCheck​(ExpressionVisitor visitor)
                       throws XPathException
        Type check the compiled representation of this global variable
        Parameters:
        visitor - an expression visitor
        Throws:
        XPathException - if compile-time errors are found.
      • getCompiledVariable

        public GlobalVariable getCompiledVariable()
        Get the compiled variable if the definition has been compiled
        Returns:
        the compiled global variable
      • explain

        public void explain​(ExpressionPresenter out)
        Produce diagnostic output showing the compiled and optimized expression tree for a function
        Parameters:
        out - the destination to be used