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 SwitchExpressionCompiler

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

    public class SwitchExpressionCompiler

extends ToIteratorCompiler

compiler for switch expression in XQuery 3.0, whether explicitly written as such, or the result of optimizing an xsl:choose or a sequence of if/then/elseif/then expressions

Constructor Summary
`SwitchExpressionCompiler()`

Method Summary
`Map<Object,Expression>` | `compileMap(CompilerService compiler, Map<Object,Expression> in, int evaluationMode)` Internal method to generate a map containing the compiled "case" expressions
`void` | `compileToItem(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as an Item Precondition: none.
`void` | `compileToIterator(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as a `SequenceIterator` Precondition: none.
`void` | `compileToPush(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression in push mode 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

### SwitchExpressionCompiler

    public SwitchExpressionCompiler()

Method Detail

### compileToItem

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

  Description copied from class: `ExpressionCompiler`
  Generate bytecode to evaluate the expression as an Item Precondition: none. Postcondition: at execution time, the stack contains either an item (the result of the expression), or null (representing an empty sequence).

  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

  Description copied from class: `ExpressionCompiler`
  Generate bytecode to evaluate the expression in push mode Precondition: none. Postcondition: at execution time, the stack is unchanged, and the value of the expression has been written to the current receiver

  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

  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`

### compileMap

    public Map<Object,Expression> compileMap(CompilerService compiler,
                                             Map<Object,Expression> in,
                                             int evaluationMode)
                                      throws CannotCompileException

  Internal method to generate a map containing the compiled "case" expressions

  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.