Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.bytecode
Class ErrorExpressionCompiler

    java.lang.Object
      com.saxonica.bytecode.ExpressionCompiler
          com.saxonica.bytecode.ErrorExpressionCompiler

    public class ErrorExpressionCompiler

extends ExpressionCompiler

Generate bytecode for an error expression (an expression that throws a dynamic error if evaluated)

Constructor Summary
`ErrorExpressionCompiler()`

Method Summary
`void` | `compileToBoolean(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as a boolean Precondition: none.
`void` | `compileToItem(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as an Item Precondition: none.
`void` | `compileToIterator(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as a `SequenceIterator` Precondition: none.
`void` | `compileToPrimitive(CompilerService compiler, Expression expression, Class requiredClass, OnEmpty onEmpty)` Generate bytecode to evaluate the expression as a String or other CharSequence.
`void` | `compileToPush(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression in push mode Precondition: none.

Methods inherited from class com.saxonica.bytecode.ExpressionCompiler
`allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, generateMethod, getConfiguration, handleEmptyStringResult, setConfiguration, throwXPathException, throwXPathException, unboxItem, verify, visitAnnotation, visitLineNumber`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ErrorExpressionCompiler

    public ErrorExpressionCompiler()

Method Detail

### compileToItem

    public void compileToItem(CompilerService compiler,
                              Expression expression)
                       throws CannotCompileException

  Generate bytecode to evaluate the expression as an Item Precondition: none. Postcondition: at execution time, the stack contains either an item (the result of the expression), or null (representing an empty sequence).

  Specified by:
    `compileToItem` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToIterator

    public void compileToIterator(CompilerService compiler,
                                  Expression expression)
                           throws CannotCompileException

  Generate bytecode to evaluate the expression as a `SequenceIterator` Precondition: none. Postcondition: at execution time, the stack contains a SequenceIterator representing the result of the expression

  Specified by:
    `compileToIterator` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToBoolean

    public void compileToBoolean(CompilerService compiler,
                                 Expression expression)
                          throws CannotCompileException

  Generate bytecode to evaluate the expression as a boolean Precondition: none. Postcondition: at execution time, the stack contains an integer (0=false, 1=true) representing the result of the expression

  Specified by:
    `compileToBoolean` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToPush

    public void compileToPush(CompilerService compiler,
                              Expression expression)
                       throws CannotCompileException

  Generate bytecode to evaluate the expression in push mode Precondition: none. Postcondition: at execution time, the stack is unchanged, and the value of the expression has been written to the current receiver

  Specified by:
    `compileToPush` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToPrimitive

    public void compileToPrimitive(CompilerService compiler,
                                   Expression expression,
                                   Class requiredClass,
                                   OnEmpty onEmpty)
                            throws CannotCompileException

  Generate bytecode to evaluate the expression as a String or other CharSequence. This method must be implemented for all expressions whose static type is xs:string or a type derived from xs:string Precondition: none. Postcondition: the stack contains a CharSequence value

  Overrides:
    `compileToPrimitive` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
    `requiredClass` - the class of the Java value that is to be left on the stack if the generated code exits normally. This must be one of Integer.TYPE, Double.TYPE, Float.TYPE, BigDecimal.class, CharSequence.class.
    `onEmpty` - defines the action to be taken if the expression evaluates to the empty sequence. May be null if the expression is known statically not to evaluate to an empty sequence. If the return class is a primitive type (double, float, etc) this must be an instance of `OnEmpty.UnwindAndJump`
  Throws:
    `CannotCompileException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.