com.saxonica.bytecode
Class InterpretedExpressionCompiler

java.lang.Object
  extended by com.saxonica.bytecode.ExpressionCompiler
      extended by com.saxonica.bytecode.ToIteratorCompiler
          extended by 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


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