Package org.codehaus.groovy.classgen.asm

# Class BinaryIntExpressionHelper

java.lang.Object
org.codehaus.groovy.classgen.asm.BinaryExpressionWriter
org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper

Direct Known Subclasses:
  `BinaryBooleanExpressionHelper`

    public class BinaryIntExpressionHelper
    extends BinaryExpressionWriter

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `BinaryIntExpressionHelper​(WriterController wc)` |
  `BinaryIntExpressionHelper​(WriterController wc, MethodCaller arraySet, MethodCaller arrayGet)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected void` | `doubleTwoOperands​(org.objectweb.asm.MethodVisitor mv)` |
  `protected int` | `getBitwiseOperationBytecode​(int type)` |
  `protected int` | `getCompareCode()` |
  `protected ClassNode` | `getDevisionOpResultType()` |
  `protected ClassNode` | `getNormalOpResultType()` |
  `protected int` | `getShiftOperationBytecode​(int type)` |
  `protected int` | `getStandardOperationBytecode​(int type)` |
  `protected void` | `removeTwoOperands​(org.objectweb.asm.MethodVisitor mv)` |
  `protected boolean` | `supportsDivision()` |
  `protected void` | `writeMinusMinus​(org.objectweb.asm.MethodVisitor mv)` |
  `protected void` | `writePlusPlus​(org.objectweb.asm.MethodVisitor mv)` |
  `protected boolean` | `writeSpaceship​(int type, boolean simulate)` | writes the spaceship operator, type should be COMPARE_TO
  `protected boolean` | `writeStdCompare​(int type, boolean simulate)` | writes a std compare.

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

  `arrayGet, arraySet, getArrayGetCaller, getArrayGetResultType, getArraySetCaller, getController, setArraySetAndGet, write, writeBitwiseOp, writeDivision, writePostOrPrefixMethod, writeShiftOp, writeStdOperators`

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

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

- ## Constructor Details

  - ### BinaryIntExpressionHelper

    public BinaryIntExpressionHelper​(WriterController wc)

  - ### BinaryIntExpressionHelper

    public BinaryIntExpressionHelper​(WriterController wc, MethodCaller arraySet, MethodCaller arrayGet)
    Since:
      2.5.0

- ## Method Details

  - ### writeStdCompare

    protected boolean writeStdCompare​(int type, boolean simulate)
    writes a std compare. This involves the tokens IF_ICMPEQ, IF_ICMPNE, IF_ICMPEQ, IF_ICMPNE, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE and IF_ICMPLT
    Overrides:
      `writeStdCompare` in class `BinaryExpressionWriter`
    Parameters:
      `type` - the token type
    Returns:
      true if a successful std compare write

  - ### writeSpaceship

    protected boolean writeSpaceship​(int type, boolean simulate)
    writes the spaceship operator, type should be COMPARE_TO
    Overrides:
      `writeSpaceship` in class `BinaryExpressionWriter`
    Parameters:
      `type` - the token type
    Returns:
      true if a successful spaceship operator write

  - ### doubleTwoOperands

    protected void doubleTwoOperands​(org.objectweb.asm.MethodVisitor mv)
    Specified by:
      `doubleTwoOperands` in class `BinaryExpressionWriter`

  - ### getBitwiseOperationBytecode

    protected int getBitwiseOperationBytecode​(int type)
    Specified by:
      `getBitwiseOperationBytecode` in class `BinaryExpressionWriter`

  - ### getCompareCode

    protected int getCompareCode()
    Specified by:
      `getCompareCode` in class `BinaryExpressionWriter`

  - ### getNormalOpResultType

    protected ClassNode getNormalOpResultType()
    Specified by:
      `getNormalOpResultType` in class `BinaryExpressionWriter`

  - ### getShiftOperationBytecode

    protected int getShiftOperationBytecode​(int type)
    Specified by:
      `getShiftOperationBytecode` in class `BinaryExpressionWriter`

  - ### getStandardOperationBytecode

    protected int getStandardOperationBytecode​(int type)
    Specified by:
      `getStandardOperationBytecode` in class `BinaryExpressionWriter`

  - ### removeTwoOperands

    protected void removeTwoOperands​(org.objectweb.asm.MethodVisitor mv)
    Specified by:
      `removeTwoOperands` in class `BinaryExpressionWriter`

  - ### writeMinusMinus

    protected void writeMinusMinus​(org.objectweb.asm.MethodVisitor mv)
    Specified by:
      `writeMinusMinus` in class `BinaryExpressionWriter`

  - ### writePlusPlus

    protected void writePlusPlus​(org.objectweb.asm.MethodVisitor mv)
    Specified by:
      `writePlusPlus` in class `BinaryExpressionWriter`

  - ### getDevisionOpResultType

    protected ClassNode getDevisionOpResultType()
    Specified by:
      `getDevisionOpResultType` in class `BinaryExpressionWriter`

  - ### supportsDivision

    protected boolean supportsDivision()
    Overrides:
      `supportsDivision` in class `BinaryExpressionWriter`