org.codehaus.groovy.classgen.asm

## Class BinaryDoubleExpressionHelper

- java.lang.Object
- - org.codehaus.groovy.classgen.asm.BinaryExpressionWriter
  - - org.codehaus.groovy.classgen.asm.BinaryLongExpressionHelper
    - - org.codehaus.groovy.classgen.asm.BinaryDoubleExpressionHelper

    public class BinaryDoubleExpressionHelper
    extends BinaryLongExpressionHelper

### Field Summary

### Fields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionWriter

`stdCompareCodes`

### Constructor Summary

Constructors
Constructor and Description
`BinaryDoubleExpressionHelper(WriterController controller)`

### Method Summary

Methods
`protected MethodCaller` `getArrayGetCaller()`
`protected MethodCaller` `getArraySetCaller()`
`protected int` `getBitwiseOperationBytecode(int op)`
`protected int` `getCompareCode()`
`protected ClassNode` `getDevisionOpResultType()`
`protected ClassNode` `getNormalOpResultType()`
`protected int` `getShiftOperationBytecode(int type)`
`protected int` `getStandardOperationBytecode(int type)`
`protected boolean` `supportsDivision()`
`protected boolean` `writeBitwiseOp(int op, boolean simulate)` writes some the bitwise operations. type is one of BITWISE_OR, BITWISE_AND, BIWISE_XOR
`protected void` `writeMinusMinus(org.objectweb.asm.MethodVisitor mv)`
`protected void` `writePlusPlus(org.objectweb.asm.MethodVisitor mv)`
`protected boolean` `writeShiftOp(int type, boolean simulate)` Write shifting operations.

### Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryLongExpressionHelper

`doubleTwoOperands, removeTwoOperands`

### Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionWriter

`arrayGet, arraySet, getArrayGetResultType, write, writeDivision, writePostOrPrefixMethod, writeSpaceship, writeStdCompare, writeStdOperators`

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

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

### Constructor Detail

#### BinaryDoubleExpressionHelper

    public BinaryDoubleExpressionHelper(WriterController controller)

### Method Detail

#### getArrayGetCaller

    protected MethodCaller getArrayGetCaller()

Overrides:
  `getArrayGetCaller` in class `BinaryLongExpressionHelper`

#### getArraySetCaller

    protected MethodCaller getArraySetCaller()

Overrides:
  `getArraySetCaller` in class `BinaryLongExpressionHelper`

#### writeBitwiseOp

    protected boolean writeBitwiseOp(int op,
                         boolean simulate)

Description copied from class: `BinaryExpressionWriter`
writes some the bitwise operations. type is one of BITWISE_OR, BITWISE_AND, BIWISE_XOR

Overrides:
  `writeBitwiseOp` in class `BinaryExpressionWriter`
Parameters:
  `op` - the token type
Returns:
  true if a successful bitwise operation write

#### getBitwiseOperationBytecode

    protected int getBitwiseOperationBytecode(int op)

Overrides:
  `getBitwiseOperationBytecode` in class `BinaryLongExpressionHelper`

#### getCompareCode

    protected int getCompareCode()

Overrides:
  `getCompareCode` in class `BinaryLongExpressionHelper`

#### getNormalOpResultType

    protected ClassNode getNormalOpResultType()

Overrides:
  `getNormalOpResultType` in class `BinaryLongExpressionHelper`

#### writeShiftOp

    protected boolean writeShiftOp(int type,
                       boolean simulate)

Description copied from class: `BinaryExpressionWriter`
Write shifting operations. Type is one of LEFT_SHIFT, RIGHT_SHIFT, or RIGHT_SHIFT_UNSIGNED

Overrides:
  `writeShiftOp` in class `BinaryExpressionWriter`
Parameters:
  `type` - the token type
Returns:
  true on a successful shift operation write

#### getShiftOperationBytecode

    protected int getShiftOperationBytecode(int type)

Overrides:
  `getShiftOperationBytecode` in class `BinaryLongExpressionHelper`

#### getStandardOperationBytecode

    protected int getStandardOperationBytecode(int type)

Overrides:
  `getStandardOperationBytecode` in class `BinaryLongExpressionHelper`

#### writeMinusMinus

    protected void writeMinusMinus(org.objectweb.asm.MethodVisitor mv)

Overrides:
  `writeMinusMinus` in class `BinaryLongExpressionHelper`

#### writePlusPlus

    protected void writePlusPlus(org.objectweb.asm.MethodVisitor mv)

Overrides:
  `writePlusPlus` in class `BinaryLongExpressionHelper`

#### getDevisionOpResultType

    protected ClassNode getDevisionOpResultType()

Overrides:
  `getDevisionOpResultType` in class `BinaryLongExpressionHelper`

#### supportsDivision

    protected boolean supportsDivision()

Overrides:
  `supportsDivision` in class `BinaryExpressionWriter`