Package com.saxonica.ee.bytecode
Class ForExpressionCompiler
- java.lang.Object
- 
- com.saxonica.ee.bytecode.ExpressionCompiler
- 
- com.saxonica.ee.bytecode.ToIteratorCompiler
- 
- com.saxonica.ee.bytecode.ForExpressionCompiler
 
 
 
- 
 public class ForExpressionCompiler extends ToIteratorCompiler Generate bytecode for a call to the ForExpression()
- 
- 
Constructor SummaryConstructors Constructor Description ForExpressionCompiler()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompileToIterator(CompilerService compiler, Expression expression)Generate bytecode to evaluate the ForExpression as an iterator Precondition: none.voidcompileToPush(CompilerService compiler, Expression expression)Generate bytecode to evaluate the ForExpression in push mode Precondition: none.static java.lang.ClassgenerateSequenceMappingAction(CompilerService compiler, ForExpression expression, Expression action, int slotNumber)Generate a mapping function with a map() method that returns an iterator over the results of one iteration of the loop- 
Methods inherited from class com.saxonica.ee.bytecode.ToIteratorCompilercompileToBoolean, compileToItem
 - 
Methods inherited from class com.saxonica.ee.bytecode.ExpressionCompilerallocateStatic, compileItemFromInt, compileToPrimitive, generateMethod, handleEmptyStringResult, printStackTop, verify, visitAnnotation, visitLineNumber
 
- 
 
- 
- 
- 
Method Detail- 
compileToPushpublic void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException Generate bytecode to evaluate the ForExpression in push mode Precondition: none. Postcondition: the stack is empty- Overrides:
- compileToPushin class- ToIteratorCompiler
- Parameters:
- compiler- the compiler service
- expression- the expression to be compiled
- Throws:
- CannotCompileException- if the expression cannot be compiled to bytecode
 
 - 
compileToIteratorpublic void compileToIterator(CompilerService compiler, Expression expression) throws CannotCompileException Generate bytecode to evaluate the ForExpression as an iterator Precondition: none. Postcondition: the stack contains an iterator representing the result of the expression- Specified by:
- compileToIteratorin class- ExpressionCompiler
- Parameters:
- compiler- the compiler service
- expression- the expression to be compiled
- Throws:
- CannotCompileException- if the expression cannot be compiled to bytecode
 
 - 
generateSequenceMappingActionpublic static java.lang.Class generateSequenceMappingAction(CompilerService compiler, ForExpression expression, Expression action, int slotNumber) throws CannotCompileException Generate a mapping function with a map() method that returns an iterator over the results of one iteration of the loop- Parameters:
- compiler- the CompilerService
- expression- the "for" expression itself
- action- the body of the "for" loop, which represents the expression to be compiled
- slotNumber- the slot number
- Throws:
- CannotCompileException- if the expression cannot be compiled to bytecode
 
 
- 
 
-