com.saxonica.bytecode
Class CalculatorCompiler

java.lang.Object
  extended by com.saxonica.bytecode.CalculatorCompiler
Direct Known Subclasses:
CalculatorCompiler.AnyDivAny, CalculatorCompiler.AnyIdivAny, CalculatorCompiler.AnyMinusAny, CalculatorCompiler.AnyModAny, CalculatorCompiler.AnyPlusAny, CalculatorCompiler.AnyTimesAny, CalculatorCompiler.DecimalDivDecimal, CalculatorCompiler.DecimalIdivDecimal, CalculatorCompiler.DecimalMinusDecimal, CalculatorCompiler.DecimalModDecimal, CalculatorCompiler.DecimalPlusDecimal, CalculatorCompiler.DecimalTimesDecimal, CalculatorCompiler.DoubleDivDouble, CalculatorCompiler.DoubleMinusDouble, CalculatorCompiler.DoubleModDouble, CalculatorCompiler.DoublePlusDouble, CalculatorCompiler.DoubleTimesDouble, CalculatorCompiler.FloatDivFloat, CalculatorCompiler.FloatIdivFloat, CalculatorCompiler.FloatMinusFloat, CalculatorCompiler.FloatModFloat, CalculatorCompiler.FloatPlusFloat, CalculatorCompiler.FloatTimesFloat, CalculatorCompiler.IntegerDivInteger, CalculatorCompiler.IntegerIdivInteger, CalculatorCompiler.IntegerMinusInteger, CalculatorCompiler.IntegerModInteger, CalculatorCompiler.IntegerPlusInteger, CalculatorCompiler.IntegerTimesInteger

public abstract class CalculatorCompiler
extends Object

This class generates bytecode for arithmetic expressions; it acts as a helper class to the ArithmeticCompiler class. There are many static subclasses for the different kinds of arithmetic expression


Nested Class Summary
static class CalculatorCompiler.AnyDivAny
          Arithmetic: anyAtomicType div AnyAtomicType
static class CalculatorCompiler.AnyIdivAny
          Arithmetic: anyAtomicType idiv AnyAtomicType
static class CalculatorCompiler.AnyMinusAny
          Arithmetic: anyAtomicType - AnyAtomicType
static class CalculatorCompiler.AnyModAny
           
static class CalculatorCompiler.AnyPlusAny
          Arithmetic: anyAtomicType + AnyAtomicType
static class CalculatorCompiler.AnyTimesAny
          Arithmetic: anyAtomicType * AnyAtomicType
static class CalculatorCompiler.DecimalDivDecimal
          Arithmetic: decimal / decimal (including types that promote to decimal, that is, integer)
static class CalculatorCompiler.DecimalIdivDecimal
          Arithmetic: decimal % decimal (including types that promote to decimal, that is, integer)
static class CalculatorCompiler.DecimalMinusDecimal
          Arithmetic: decimal - decimal (including types that promote to decimal, that is, integer)
static class CalculatorCompiler.DecimalModDecimal
          Arithmetic: decimal % decimal (including types that promote to decimal, that is, integer)
static class CalculatorCompiler.DecimalPlusDecimal
          Arithmetic: decimal + decimal (including types that promote to decimal, that is, integer)
static class CalculatorCompiler.DecimalTimesDecimal
          Arithmetic: decimal * decimal (including types that promote to decimal, that is, integer)
static class CalculatorCompiler.DoubleDivDouble
          Arithmetic: double / double (including types that promote to double)
static class CalculatorCompiler.DoubleMinusDouble
          Arithmetic: double - double (including types that promote to double)
static class CalculatorCompiler.DoubleModDouble
          Arithmetic: double % double (including types that promote to double)
static class CalculatorCompiler.DoublePlusDouble
          Arithmetic: double + double (including types that promote to double)
static class CalculatorCompiler.DoubleTimesDouble
          Arithmetic: double * double (including types that promote to double)
static class CalculatorCompiler.FloatDivFloat
          Arithmetic: float div float (including types that promote to float)
static class CalculatorCompiler.FloatIdivFloat
          Arithmetic: float idiv float (including types that promote to float)
static class CalculatorCompiler.FloatMinusFloat
          Arithmetic: float - float (including types that promote to float)
static class CalculatorCompiler.FloatModFloat
          Arithmetic: float mod float (including types that promote to float)
static class CalculatorCompiler.FloatPlusFloat
          Arithmetic: float + float (including types that promote to float))
static class CalculatorCompiler.FloatTimesFloat
          Arithmetic: float * float (including types that promote to float)
static class CalculatorCompiler.IntegerDivInteger
           
static class CalculatorCompiler.IntegerIdivInteger
           
static class CalculatorCompiler.IntegerMinusInteger
           
static class CalculatorCompiler.IntegerModInteger
           
static class CalculatorCompiler.IntegerPlusInteger
           
static class CalculatorCompiler.IntegerTimesInteger
           
 
Constructor Summary
CalculatorCompiler()
           
 
Method Summary
abstract  void compute(Generator ga, SourceLocator locator)
           
 void setCompilerService(CompilerService compiler)
           
 void setExpressions(Expression oper0, Expression oper1)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CalculatorCompiler

public CalculatorCompiler()
Method Detail

setCompilerService

public void setCompilerService(CompilerService compiler)

setExpressions

public void setExpressions(Expression oper0,
                           Expression oper1)

compute

public abstract void compute(Generator ga,
                             SourceLocator locator)


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