Package org.codehaus.groovy.classgen.asm

# Class BinaryObjectExpressionHelper

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

public class BinaryObjectExpressionHelper extends BinaryExpressionWriter

Author:
  Jochen "blackdrag" Theodorou

## Field Summary

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

`stdCompareCodes`

## Constructor Summary

Constructors
Constructor
Description
`BinaryObjectExpressionHelper(WriterController controller)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doubleTwoOperands(org.objectweb.asm.MethodVisitor mv)`
`protected MethodCaller`
`getArrayGetCaller()`
`protected ClassNode`
`getArrayGetResultType()`
`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)`
`boolean`
`write(int operation, boolean simulate)`
`protected boolean`
`writeDivision(boolean simulate)`
`protected void`
`writeMinusMinus(org.objectweb.asm.MethodVisitor mv)`
`protected void`
`writePlusPlus(org.objectweb.asm.MethodVisitor mv)`
`boolean`
`writePostOrPrefixMethod(int operation, boolean simulate)`

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

`arrayGet, arraySet, supportsDivision, writeBitwiseOp, writeShiftOp, writeSpaceship, writeStdCompare, writeStdOperators`

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

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

## Constructor Details

### BinaryObjectExpressionHelper

public BinaryObjectExpressionHelper(WriterController controller)

## Method Details

### getArrayGetCaller

protected MethodCaller getArrayGetCaller()

Specified by:
  `getArrayGetCaller` in class `BinaryExpressionWriter`

### getArraySetCaller

protected MethodCaller getArraySetCaller()

Specified by:
  `getArraySetCaller` in class `BinaryExpressionWriter`

### writePostOrPrefixMethod

public boolean writePostOrPrefixMethod(int operation, boolean simulate)

Overrides:
  `writePostOrPrefixMethod` in class `BinaryExpressionWriter`

### write

public boolean write(int operation, boolean simulate)

Overrides:
  `write` in class `BinaryExpressionWriter`

### writeDivision

protected boolean writeDivision(boolean simulate)

Overrides:
  `writeDivision` 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`

### getDevisionOpResultType

protected ClassNode getDevisionOpResultType()

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

### writePlusPlus

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

Specified by:
  `writePlusPlus` in class `BinaryExpressionWriter`

### writeMinusMinus

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

Specified by:
  `writeMinusMinus` in class `BinaryExpressionWriter`

### doubleTwoOperands

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

Specified by:
  `doubleTwoOperands` in class `BinaryExpressionWriter`

### getArrayGetResultType

protected ClassNode getArrayGetResultType()

Overrides:
  `getArrayGetResultType` in class `BinaryExpressionWriter`