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 and Description
`BinaryIntExpressionHelper(WriterController wc)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `doubleTwoOperands(org.objectweb.asm.MethodVisitor mv)`
`protected MethodCaller` `getArrayGetCaller()`
`protected MethodCaller` `getArraySetCaller()`
`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, getArrayGetResultType, 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 Detail

#### BinaryIntExpressionHelper

    public BinaryIntExpressionHelper(WriterController wc)

### Method Detail

#### 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`

#### getArrayGetCaller

    protected MethodCaller getArrayGetCaller()

Specified by:
  `getArrayGetCaller` in class `BinaryExpressionWriter`

#### getArraySetCaller

    protected MethodCaller getArraySetCaller()

Specified by:
  `getArraySetCaller` 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`