Class BreakInstr

    • Constructor Detail

      • BreakInstr

        public BreakInstr()
        Create the instruction
    • Method Detail

      • operands

        public java.lang.Iterable<Operand> operands()
        Description copied from class: Expression
        Get the immediate sub-expressions of this expression, with information about the relationship of each expression to its parent expression.

        If the expression is a Callable, then it is required that the order of the operands returned by this function is the same as the order of arguments supplied to the corresponding call() method.

        Specified by:
        operands in class Instruction
        Returns:
        an iterator containing the sub-expressions of this expression
      • copy

        public Expression copy​(RebindingMap rebindings)
        Description copied from class: Expression
        Copy an expression. This makes a deep copy.
        Specified by:
        copy in class Expression
        Parameters:
        rebindings - a mutable list of (old binding, new binding) pairs that is used to update the bindings held in any local variable references that are copied.
        Returns:
        the copy of the original expression
      • mayCreateNewNodes

        public boolean mayCreateNewNodes()
        Description copied from class: Instruction
        Ask whether this instruction potentially creates and returns new nodes. Returns true if some branches or dynamic conditions result in new nodes being created. This implementation returns a default value of false
        Overrides:
        mayCreateNewNodes in class Instruction
        Returns:
        true if the instruction creates new nodes under some input conditions (or if it can't be proved that it doesn't)
      • isLiftable

        public boolean isLiftable​(boolean forStreaming)
        Ask whether the expression can be lifted out of a loop, assuming it has no dependencies on the controlling variable/focus of the loop
        Overrides:
        isLiftable in class Expression
        Parameters:
        forStreaming - true if we are optimizing for streamed evaluation
        Returns:
        for a BreakInstr, always false
      • getInstructionNameCode

        public int getInstructionNameCode()
        Get the namecode of the instruction for use in diagnostics
        Overrides:
        getInstructionNameCode in class Instruction
        Returns:
        a code identifying the instruction: typically but not always the fingerprint of a name in the XSLT namespace
      • markContext

        public void markContext​(XPathContext context)
      • getExpressionName

        public java.lang.String getExpressionName()
        Description copied from class: Instruction
        Get a name identifying the kind of expression, in terms meaningful to a user.
        Overrides:
        getExpressionName in class Instruction
        Returns:
        a name identifying the kind of expression, in terms meaningful to a user. The name will always be in the form of a lexical XML QName, and should match the name used in explain() output displaying the expression.
      • export

        public void export​(ExpressionPresenter out)
                    throws XPathException
        Description copied from class: Expression
        Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
        Specified by:
        export in interface ExportAgent
        Specified by:
        export in class Expression
        Parameters:
        out - the expression presenter used to display the structure
        Throws:
        XPathException - if the export fails, for example if an expression is found that won't work in the target environment.