Package com.saxonica.ee.bytecode

## Class TranslateCompiler

- java.lang.Object
- - com.saxonica.ee.bytecode.ExpressionCompiler
  - - com.saxonica.ee.bytecode.ToItemCompiler
    - - com.saxonica.ee.bytecode.ToStringCompiler
      - - com.saxonica.ee.bytecode.TranslateCompiler

-     public class TranslateCompiler
      extends ToStringCompiler

  Generate bytecode for evaluation of a call to the translate() function

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TranslateCompiler()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `compileToPrimitive​(CompilerService compiler, Expression expression, java.lang.Class requiredClass, OnEmpty onEmpty)` | Generate bytecode to evaluate the expression leaving a plain Java value on the stack.

    - ### Methods inherited from class com.saxonica.ee.bytecode.ToStringCompiler

      `compileItemFromString, compileToItem`

    - ### Methods inherited from class com.saxonica.ee.bytecode.ToItemCompiler

      `compileToBoolean, compileToIterator, compileToPush, returnZeroLengthStringIfNull`

    - ### Methods inherited from class com.saxonica.ee.bytecode.ExpressionCompiler

      `allocateStatic, compileItemFromInt, generateMethod, handleEmptyStringResult, printStackTop, verify, visitAnnotation, visitLineNumber`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TranslateCompiler

          public TranslateCompiler()

  - ### Method Detail

    - #### compileToPrimitive

          public void compileToPrimitive​(CompilerService compiler,
                                         Expression expression,
                                         java.lang.Class requiredClass,
                                         OnEmpty onEmpty)
                                  throws CannotCompileException

      Description copied from class: `ExpressionCompiler`
      Generate bytecode to evaluate the expression leaving a plain Java value on the stack. This method must only be called if the static type of the expressionis such that the value is known to be representable by a value of the specified class; the cardinality must be either exactly-one or zero-or-one.
      Overrides:
        `compileToPrimitive` in class `ExpressionCompiler`
      Parameters:
        `compiler` - the compiler service
        `expression` - the expression to be compiled
        `requiredClass` - the class of the Java value that is to be left on the stack if the generated code exits normally. This must be one of Integer.TYPE, Double.TYPE, Float.TYPE, BigDecimal.class, CharSequence.class.
        `onEmpty` - defines the action to be taken if the expression evaluates to the empty sequence. May be null if the expression is known statically not to evaluate to an empty sequence. If the return class is a primitive type (double, float, etc) this must be an instance of `OnEmpty.UnwindAndJump`
      Throws:
        `CannotCompileException` - if the expression cannot be compiled to bytecode