com.saxonica.bytecode
Class AxisExpressionCompiler

java.lang.Object
  extended by com.saxonica.bytecode.ExpressionCompiler
      extended by com.saxonica.bytecode.ToIteratorCompiler
          extended by com.saxonica.bytecode.AxisExpressionCompiler

public class AxisExpressionCompiler
extends ToIteratorCompiler

Generate bytecode for evaluation of an AxisExpression


Constructor Summary
AxisExpressionCompiler()
           
 
Method Summary
 void compileToIterator(CompilerService compiler, Expression expression)
          Generate bytecode to evaluate the expression as a SequenceIterator Precondition: none.
static void iterate(CompilerService compiler, ExpressionCompiler ec, NodeTest test, int axis)
          Generate code to iterate over the selected axis.
 
Methods inherited from class com.saxonica.bytecode.ToIteratorCompiler
compileToBoolean, compileToItem, compileToPush
 
Methods inherited from class com.saxonica.bytecode.ExpressionCompiler
allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, 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

AxisExpressionCompiler

public AxisExpressionCompiler()
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

iterate

public static void iterate(CompilerService compiler,
                           ExpressionCompiler ec,
                           NodeTest test,
                           int axis)
Generate code to iterate over the selected axis. Entry condition: the node forming the origin for the iteration is on the bytecode stack Exit condition: the iterator for the axisExpression is on the bytecode stack

Parameters:
compiler -
ec -
test -
axis -


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