Package com.saxonica.ee.bytecode
Class CalculatorCompiler
- java.lang.Object
-
- com.saxonica.ee.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 java.lang.ObjectThis 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
Nested Classes Modifier and Type Class Description static classCalculatorCompiler.AnyDivAnyArithmetic: anyAtomicType div AnyAtomicTypestatic classCalculatorCompiler.AnyIdivAnyArithmetic: anyAtomicType idiv AnyAtomicTypestatic classCalculatorCompiler.AnyMinusAnyArithmetic: anyAtomicType - AnyAtomicTypestatic classCalculatorCompiler.AnyModAnystatic classCalculatorCompiler.AnyPlusAnyArithmetic: anyAtomicType + AnyAtomicTypestatic classCalculatorCompiler.AnyTimesAnyArithmetic: anyAtomicType * AnyAtomicTypestatic classCalculatorCompiler.DecimalDivDecimalArithmetic: decimal / decimal (including types that promote to decimal, that is, integer)static classCalculatorCompiler.DecimalIdivDecimalArithmetic: decimal % decimal (including types that promote to decimal, that is, integer)static classCalculatorCompiler.DecimalMinusDecimalArithmetic: decimal - decimal (including types that promote to decimal, that is, integer)static classCalculatorCompiler.DecimalModDecimalArithmetic: decimal % decimal (including types that promote to decimal, that is, integer)static classCalculatorCompiler.DecimalPlusDecimalArithmetic: decimal + decimal (including types that promote to decimal, that is, integer)static classCalculatorCompiler.DecimalTimesDecimalArithmetic: decimal * decimal (including types that promote to decimal, that is, integer)static classCalculatorCompiler.DoubleDivDoubleArithmetic: double / double (including types that promote to double)static classCalculatorCompiler.DoubleMinusDoubleArithmetic: double - double (including types that promote to double)static classCalculatorCompiler.DoubleModDoubleArithmetic: double % double (including types that promote to double)static classCalculatorCompiler.DoublePlusDoubleArithmetic: double + double (including types that promote to double)static classCalculatorCompiler.DoubleTimesDoubleArithmetic: double * double (including types that promote to double)static classCalculatorCompiler.FloatDivFloatArithmetic: float div float (including types that promote to float)static classCalculatorCompiler.FloatIdivFloatArithmetic: float idiv float (including types that promote to float)static classCalculatorCompiler.FloatMinusFloatArithmetic: float - float (including types that promote to float)static classCalculatorCompiler.FloatModFloatArithmetic: float mod float (including types that promote to float)static classCalculatorCompiler.FloatPlusFloatArithmetic: float + float (including types that promote to float))static classCalculatorCompiler.FloatTimesFloatArithmetic: float * float (including types that promote to float)static classCalculatorCompiler.IntegerDivIntegerstatic classCalculatorCompiler.IntegerIdivIntegerstatic classCalculatorCompiler.IntegerMinusIntegerstatic classCalculatorCompiler.IntegerModIntegerstatic classCalculatorCompiler.IntegerPlusIntegerstatic classCalculatorCompiler.IntegerTimesInteger
-
Constructor Summary
Constructors Constructor Description CalculatorCompiler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidcompute(Generator ga, javax.xml.transform.SourceLocator locator)Generate bytecode to compute the result of the arithmetic expressionvoidsetCompilerService(CompilerService compiler)voidsetExpressions(Expression oper0, Expression oper1)
-
-
-
Method Detail
-
setCompilerService
public void setCompilerService(CompilerService compiler)
-
setExpressions
public void setExpressions(Expression oper0, Expression oper1)
-
compute
public abstract void compute(Generator ga, javax.xml.transform.SourceLocator locator)
Generate bytecode to compute the result of the arithmetic expression- Parameters:
ga- the code generatorlocator- the location of the arithmetic expression
-
-