Package: org.codehaus.groovy.classgen.asm

## [Java] Class BinaryDoubleExpressionHelper

- org.codehaus.groovy.classgen.asm.BinaryDoubleExpressionHelper

-     public class BinaryDoubleExpressionHelper
      extends BinaryLongExpressionHelper

  Binary expression helper specialized for `double` operations.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class BinaryExpressionWriter` | `stdCompareCodes`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `BinaryDoubleExpressionHelper(WriterController controller)` Creates a `double`-specialized binary expression helper.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected int` | `getBitwiseOperationBytecode(int op)` * * Returns the bitwise opcode for the supplied token. * * Parameters: `type` - the normalized token index * Returns: the ASM opcode
    `` | `protected int` | `getCompareCode()` * * Returns: the ASM compare opcode used by this primitive type
    `` | `protected ClassNode` | `getDevisionOpResultType()` * * Returns: the result type for division operations
    `` | `protected ClassNode` | `getNormalOpResultType()` * * Returns: the result type for normal arithmetic operations
    `` | `protected int` | `getShiftOperationBytecode(int type)` * * Returns the shift opcode for the supplied token. * * Parameters: `type` - the normalized token index * Returns: the ASM opcode
    `` | `protected int` | `getStandardOperationBytecode(int type)` * * Returns the arithmetic opcode for the supplied token. * * Parameters: `type` - the normalized token index * Returns: the ASM opcode
    `` | `protected boolean` | `supportsDivision()` * * Returns: whether this primitive helper supports division bytecode directly
    `` | `protected boolean` | `writeBitwiseOp(int op, boolean simulate)` * writes some the bitwise operations. type is one of BITWISE_OR, * BITWISE_AND, BITWISE_XOR * Parameters: `type` - the token type * Returns: true if a successful bitwise operation write
    `` | `protected void` | `writeMinusMinus(org.objectweb.asm.MethodVisitor mv)` * * Emits a prefix/postfix decrement. * * Parameters: `mv` - the current method visitor
    `` | `protected void` | `writePlusPlus(org.objectweb.asm.MethodVisitor mv)` * * Emits a prefix/postfix increment. * * Parameters: `mv` - the current method visitor
    `` | `protected boolean` | `writeShiftOp(int type, boolean simulate)` * Write shifting operations. * Type is one of LEFT_SHIFT, RIGHT_SHIFT, or RIGHT_SHIFT_UNSIGNED * * Parameters: `type` - the token type * Returns: true on a successful shift operation write

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class BinaryLongExpressionHelper` | `doubleTwoOperands, getBitwiseOperationBytecode, getCompareCode, getDevisionOpResultType, getNormalOpResultType, getShiftOperationBytecode, getStandardOperationBytecode, removeTwoOperands, supportsDivision, writeMinusMinus, writePlusPlus`
    `class BinaryExpressionWriter` | `arrayGet, arraySet, doubleTwoOperands, getArrayGetCaller, getArrayGetResultType, getArraySetCaller, getBitwiseOperationBytecode, getCompareCode, getController, getDevisionOpResultType, getNormalOpResultType, getShiftOperationBytecode, getStandardOperationBytecode, removeTwoOperands, setArraySetAndGet, supportsDivision, write, writeBitwiseOp, writeDivision, writeMinusMinus, writePlusPlus, writePostOrPrefixMethod, writeShiftOp, writeSpaceship, writeStdCompare, writeStdOperators`

- - ### Constructor Detail

    - #### public BinaryDoubleExpressionHelper(WriterController controller)

      Creates a `double`-specialized binary expression helper.

      Parameters:
        `controller` - the active writer controller

  - ### Method Detail

    - #### protected int getBitwiseOperationBytecode(int op)

      * * Returns the bitwise opcode for the supplied token. * *

      Parameters:
        `type` - the normalized token index *
      Returns:
        the ASM opcode

    - #### protected int getCompareCode()

      * *

      Returns:
        the ASM compare opcode used by this primitive type

    - #### protected ClassNode getDevisionOpResultType()

      * *

      Returns:
        the result type for division operations

    - #### protected ClassNode getNormalOpResultType()

      * *

      Returns:
        the result type for normal arithmetic operations

    - #### protected int getShiftOperationBytecode(int type)

      * * Returns the shift opcode for the supplied token. * *

      Parameters:
        `type` - the normalized token index *
      Returns:
        the ASM opcode

    - #### protected int getStandardOperationBytecode(int type)

      * * Returns the arithmetic opcode for the supplied token. * *

      Parameters:
        `type` - the normalized token index *
      Returns:
        the ASM opcode

    - #### protected boolean supportsDivision()

      * *

      Returns:
        whether this primitive helper supports division bytecode directly

    - #### protected boolean writeBitwiseOp(int op, boolean simulate)

      * writes some the bitwise operations. type is one of BITWISE_OR, * BITWISE_AND, BITWISE_XOR *

      Parameters:
        `type` - the token type *
      Returns:
        true if a successful bitwise operation write

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

      * * Emits a prefix/postfix decrement. * *

      Parameters:
        `mv` - the current method visitor

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

      * * Emits a prefix/postfix increment. * *

      Parameters:
        `mv` - the current method visitor

    - #### protected boolean writeShiftOp(int type, boolean simulate)

      * Write shifting operations. * Type is one of LEFT_SHIFT, RIGHT_SHIFT, or RIGHT_SHIFT_UNSIGNED * *

      Parameters:
        `type` - the token type *
      Returns:
        true on a successful shift operation write