com.saxonica.bytecode
Class SimpleStepExpressionCompiler
java.lang.Object
com.saxonica.bytecode.ExpressionCompiler
com.saxonica.bytecode.ToIteratorCompiler
com.saxonica.bytecode.SimpleStepExpressionCompiler
public class SimpleStepExpressionCompiler
- extends ToIteratorCompiler
Generate bytecode for a call to the SimpleStepExpression, which is a SlashExpression in which the
lhs operand is known to return a singleton and the rhs operand is known to be an AxisExpression
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 |
SimpleStepExpressionCompiler
public SimpleStepExpressionCompiler()
compileToIterator
public void compileToIterator(CompilerService compiler,
Expression expression)
throws CannotCompileException
- Description copied from class:
ExpressionCompiler
- Generate bytecode to evaluate the expression as a
SequenceIterator
Precondition: none.
Postcondition: at execution time, the stack contains a SequenceIterator representing the result of the expression
- Specified by:
compileToIterator
in class ExpressionCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled
- Throws:
CannotCompileException
compileToLoop
public void compileToLoop(CompilerService compiler,
Expression expression,
LoopBodyGenerator loopBody)
throws CannotCompileException
- 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. The code generated
by the loopBody expects to find this item on the top of the bytecode stack.
- Overrides:
compileToLoop
in class ExpressionCompiler
- Parameters:
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.
- Throws:
CannotCompileException
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.