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 ArithmeticCompiler

    java.lang.Object
      com.saxonica.bytecode.ExpressionCompiler
          com.saxonica.bytecode.ToItemCompiler
              com.saxonica.bytecode.ArithmeticCompiler

    public class ArithmeticCompiler

extends ToItemCompiler

Generate bytecode for a call to the ArithmeticExpression

Field Summary
`static HashMap<Class<? extends Calculator>,CalculatorCompiler>` | `map`

Constructor Summary
`ArithmeticCompiler()`

Method Summary
`void` | `compileToItem(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the ArithmeticExpression Precondition: none.
`void` | `compileToPrimitive(CompilerService compiler, Expression expression, Class requiredClass, OnEmpty onEmpty)` Generate bytecode to evaluate the expression leaving a plain Java value on the stack.
`static CalculatorCompiler` | `map(Calculator calc)`

Methods inherited from class com.saxonica.bytecode.ToItemCompiler
`compileToBoolean, compileToIterator, compileToPush, returnZeroLengthStringIfNull`

Methods inherited from class com.saxonica.bytecode.ExpressionCompiler
`allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, 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`

Field Detail

### map

    public static HashMap<Class<? extends Calculator>,CalculatorCompiler> map

Constructor Detail

### ArithmeticCompiler

    public ArithmeticCompiler()

Method Detail

### compileToItem

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

  Generate bytecode to evaluate the ArithmeticExpression Precondition: none. Postcondition: the stack contains an item representing the result of the expression

  Specified by:
    `compileToItem` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToPrimitive

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

  Generate bytecode to evaluate the expression leaving a plain Java value on the stack. The static type of the expression must be 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` - a label to which control will be transferred (with nothing on the stack) if the result of the
  Throws:
    `CannotCompileException`

### map

    public static CalculatorCompiler map(Calculator calc)
                                  throws CannotCompileException

  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.