org.codehaus.groovy.classgen.asm
Class BinaryIntExpressionHelper

java.lang.Object
  extended by org.codehaus.groovy.classgen.asm.BinaryExpressionWriter
      extended by org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper
Direct Known Subclasses:
BinaryBooleanExpressionHelper

public class BinaryIntExpressionHelper
extends BinaryExpressionWriter


Constructor Summary
BinaryIntExpressionHelper(WriterController wc)
           
 
Method Summary
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  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, supportsDivision, 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

Copyright © 2003-2012 The Codehaus. All rights reserved.