Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Constructor Summary
`SimpleStepExpressionCompiler()`

Method Summary
`void` | `compileToIterator(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as a `SequenceIterator` 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.

Methods inherited from class com.saxonica.bytecode.ToIteratorCompiler
`compileToBoolean, compileToItem, compileToPush`

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

### SimpleStepExpressionCompiler

    public SimpleStepExpressionCompiler()

Method Detail

### 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 service
    `expression` - 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 service
    `expression` - the expression to be compiled
    `loopBody` - 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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