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 LetExpressionCompiler

    java.lang.Object
      com.saxonica.bytecode.ExpressionCompiler
          com.saxonica.bytecode.ToIteratorCompiler
              com.saxonica.bytecode.LetExpressionCompiler

    public class LetExpressionCompiler

extends ToIteratorCompiler

Generate bytecode for evaluation of an LetExpression

Constructor Summary
`LetExpressionCompiler()`

Method Summary
`static void` | `compileCommonExpr(CompilerService compiler, Expression exp, int evaluationMode, int refCount)` Helper method to generate bytecode the same for both compileToIterator and compileToItem Precondition: none.
`void` | `compileToItem(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the LetExpression as an Item Precondition: none.
`void` | `compileToIterator(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the LetExpression as an Iterator Precondition: none.
`void` | `compileToPush(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the LetExpression as an Item Precondition: none.

Methods inherited from class com.saxonica.bytecode.ToIteratorCompiler
`compileToBoolean`

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

### LetExpressionCompiler

    public LetExpressionCompiler()

Method Detail

### compileToItem

    public void compileToItem(CompilerService compiler,
                              Expression expression)
                       throws CannotCompileException

  Generate bytecode to evaluate the LetExpression as an Item Precondition: none. Postcondition: the stack contains an Item representing the result of the expression

  Overrides:
    `compileToItem` in class `ToIteratorCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToPush

    public void compileToPush(CompilerService compiler,
                              Expression expression)
                       throws CannotCompileException

  Generate bytecode to evaluate the LetExpression as an Item Precondition: none. Postcondition: the stack contains an Item representing the result of the expression

  Overrides:
    `compileToPush` in class `ToIteratorCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToIterator

    public void compileToIterator(CompilerService compiler,
                                  Expression expression)
                           throws CannotCompileException

  Generate bytecode to evaluate the LetExpression as an Iterator Precondition: none. Postcondition: the stack contains an Item 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`

### compileCommonExpr

    public static void compileCommonExpr(CompilerService compiler,
                                         Expression exp,
                                         int evaluationMode,
                                         int refCount)
                                  throws CannotCompileException

  Helper method to generate bytecode the same for both compileToIterator and compileToItem Precondition: none. Postcondition: the stack contains the variable(s) already evaluated in the form of a ValueRepresentation object

  Parameters:
    `compiler` - the compiler service
    `exp` - the expression to be compiled
  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.