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 InterpretedExpressionCompiler

    java.lang.Object
      com.saxonica.bytecode.ExpressionCompiler
          com.saxonica.bytecode.ToIteratorCompiler
              com.saxonica.bytecode.InterpretedExpressionCompiler

    public class InterpretedExpressionCompiler

extends ToIteratorCompiler

Bytecode generator for instructions that calls back to the interpreter. This generates code which simply invokes the interpreter for this instruction, including interpreting its subexpressions and patterns

Constructor Summary
`InterpretedExpressionCompiler()`

Method Summary
`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 an Iterator Precondition: none.
`void` | `compileToPush(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression Precondition: none.

Methods inherited from class com.saxonica.bytecode.ToIteratorCompiler
`compileToBoolean`

Methods inherited from class com.saxonica.bytecode.ExpressionCompiler
`allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, compileToPrimitive, 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

### InterpretedExpressionCompiler

    public InterpretedExpressionCompiler()

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).

  Overrides:
    `compileToItem` in class `ToIteratorCompiler`
  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 an Iterator Precondition: none. Postcondition: at execution time, the stack contains either an iterator (the result of the expression)

  Specified by:
    `compileToIterator` 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 Precondition: none. Postcondition: at execution time, the stack contains either an iterator (the result of the expression)

  Overrides:
    `compileToPush` in class `ToIteratorCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  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.