|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.saxonica.bytecode.ExpressionCompiler com.saxonica.bytecode.ToIteratorCompiler com.saxonica.bytecode.ForExpressionCompiler
public class ForExpressionCompiler
Generate bytecode for a call to the ForExpression()
Constructor Summary | |
---|---|
ForExpressionCompiler()
|
Method Summary | |
---|---|
void |
compileToIterator(CompilerService compiler,
Expression expression)
Generate bytecode to evaluate the ForExpression as an iterator Precondition: none. |
void |
compileToLoop(CompilerService compiler,
Expression expression,
LoopBodyGenerator loopBody)
The compileToLoop method compiles this expression in such a way that the code generated by the supplied loopBody argument will be executed once for each item in the result of this expression. |
void |
compileToPush(CompilerService compiler,
Expression expression)
Generate bytecode to evaluate the ForExpression in push mode Precondition: none. |
static Class |
generateSequenceMappingAction(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.bytecode.ToIteratorCompiler |
---|
compileToBoolean, compileToItem |
Methods inherited from class com.saxonica.bytecode.ExpressionCompiler |
---|
allocateStatic, compileItemFromInt, compileItemFromString, 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 |
---|
public ForExpressionCompiler()
Method Detail |
---|
public void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException
compileToPush
in class ToIteratorCompiler
compiler
- the compiler serviceexpression
- the expression to be compiled
CannotCompileException
public void compileToLoop(CompilerService compiler, Expression expression, LoopBodyGenerator loopBody) throws CannotCompileException
compileToLoop
in class ExpressionCompiler
compiler
- the compiler serviceexpression
- the expression to be compiledloopBody
- a generator which produces code to be executed once for every item in the result of this
expression, with that item being on the top of the bytecode stack.
CannotCompileException
public void compileToIterator(CompilerService compiler, Expression expression) throws CannotCompileException
compileToIterator
in class ExpressionCompiler
compiler
- the compiler serviceexpression
- the expression to be compiled
CannotCompileException
public static Class generateSequenceMappingAction(CompilerService compiler, ForExpression expression, Expression action, int slotNumber) throws CannotCompileException
compiler
- the CompilerServiceexpression
- the "for" expression itselfaction
- the body of the "for" loop, which represents the expression to be compiled
CannotCompileException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |