com.saxonica.bytecode
Class ToIteratorCompiler

java.lang.Object
  extended by com.saxonica.bytecode.ExpressionCompiler
      extended by com.saxonica.bytecode.ToIteratorCompiler
Direct Known Subclasses:
AdjacentTextNodeMergerCompiler, AnalyzeStringCompiler, AtomicSequenceConverterCompiler, AtomizerCompiler, AxisExpressionCompiler, BlockCompiler, CallableExpressionCompiler, CardinalityCheckerCompiler, CastToListCompiler, ChooseCompiler, ConditionalSorterCompiler, DocumentSorterCompiler, EmptyTextNodeRemoverCompiler, FilterExpressionCompiler, FLWORExpressionCompiler, ForExpressionCompiler, FunctionSequenceCoercerCompiler, HomogeneityCheckerCompiler, IndexedFilterExpressionCompiler, InterpretedExpressionCompiler, ItemCheckerCompiler, JavaExtensionFunctionCallCompiler, KeyFnCompiler, LetExpressionCompiler, LocalVariableReferenceCompiler, OuterForExpressionCompiler, ParentNodeExpressionCompiler, RangeExpressionCompiler, SimpleStepExpressionCompiler, SingletonIntersectExpressionCompiler, SlashExpressionCompiler, SortExpressionCompiler, SuppliedParameterReferenceCompiler, SwitchExpressionCompiler, TailCallLoopCompiler, TailExpressionCompiler, ToPushCompiler, TraceExpressionCompiler, TryCatchExpressionCompiler, UserFunctionCallCompiler, VariableReferenceCompiler, VennExpressionCompiler

public abstract class ToIteratorCompiler
extends ExpressionCompiler

Abstract superclass for expression compilers of expressions that return a general sequence. Such compilers must implement the method compileToIterator(). They may optionally implement other methods such as compileToItem().


Constructor Summary
ToIteratorCompiler()
           
 
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 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, compileToIterator, 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

ToIteratorCompiler

public ToIteratorCompiler()
Method Detail

compileToItem

public void compileToItem(CompilerService compiler,
                          Expression expression)
                   throws CannotCompileException
Description copied from class: ExpressionCompiler
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

compileToPush

public void compileToPush(CompilerService compiler,
                          Expression expression)
                   throws CannotCompileException
Description copied from class: ExpressionCompiler
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

compileToBoolean

public void compileToBoolean(CompilerService compiler,
                             Expression expression)
                      throws CannotCompileException
Description copied from class: ExpressionCompiler
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


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