Package com.saxonica.ee.bytecode
Class ToIteratorCompiler
- java.lang.Object
-
- com.saxonica.ee.bytecode.ExpressionCompiler
-
- com.saxonica.ee.bytecode.ToIteratorCompiler
-
- Direct Known Subclasses:
AdjacentTextNodeMergerCompiler,AnalyzeStringCompiler,AtomicSequenceConverterCompiler,AtomizerCompiler,AxisExpressionCompiler,BlockCompiler,CallableExpressionCompiler,CardinalityCheckerCompiler,ChooseCompiler,ConditionalSorterCompiler,DocumentSorterCompiler,EmptyTextNodeRemoverCompiler,FilterExpressionCompiler,FLWORExpressionCompiler,ForExpressionCompiler,FunctionSequenceCoercerCompiler,HomogeneityCheckerCompiler,IndexedFilterExpressionCompiler,InterpretedExpressionCompiler,ItemCheckerCompiler,JavaExtensionFunctionCallCompiler,LetExpressionCompiler,LocalVariableReferenceCompiler,OuterForExpressionCompiler,RangeExpressionCompiler,SimpleStepExpressionCompiler,SingletonIntersectExpressionCompiler,SlashExpressionCompiler,SortExpressionCompiler,StaticFunctionCallCompiler,SuppliedParameterReferenceCompiler,SwitchExpressionCompiler,TailCallLoopCompiler,TailExpressionCompiler,ToPushCompiler,TraceExpressionCompiler,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
Constructors Constructor Description ToIteratorCompiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompileToBoolean(CompilerService compiler, Expression expression)Generate bytecode to evaluate the expression as a boolean Precondition: none.voidcompileToItem(CompilerService compiler, Expression expression)Generate bytecode to evaluate the expression as an Item Precondition: none.voidcompileToPush(CompilerService compiler, Expression expression)Generate bytecode to evaluate the expression in push mode Precondition: none.-
Methods inherited from class com.saxonica.ee.bytecode.ExpressionCompiler
allocateStatic, compileItemFromInt, compileToIterator, compileToPrimitive, generateMethod, handleEmptyStringResult, printStackTop, verify, visitAnnotation, visitLineNumber
-
-
-
-
Method Detail
-
compileToItem
public void compileToItem(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompilerGenerate 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:
compileToItemin classExpressionCompiler- Parameters:
compiler- the compiler serviceexpression- the expression to be compiled- Throws:
CannotCompileException- if the expression cannot be compiled to bytecode
-
compileToPush
public void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompilerGenerate 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:
compileToPushin classExpressionCompiler- Parameters:
compiler- the compiler serviceexpression- the expression to be compiled- Throws:
CannotCompileException- if the expression cannot be compiled to bytecode
-
compileToBoolean
public void compileToBoolean(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompilerGenerate 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:
compileToBooleanin classExpressionCompiler- Parameters:
compiler- the compiler serviceexpression- the expression to be compiled- Throws:
CannotCompileException- if the expression cannot be compiled to bytecode
-
-