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

## Method Summary

Modifier and Type
Method
Description
`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 Details

### BinaryIntExpressionHelper

public BinaryIntExpressionHelper(WriterController wc)

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

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