org.codehaus.groovy.classgen.asm
Class BinaryExpressionWriter
java.lang.Object
org.codehaus.groovy.classgen.asm.BinaryExpressionWriter
- Direct Known Subclasses:
- BinaryFloatExpressionHelper, BinaryIntExpressionHelper, BinaryLongExpressionHelper
public abstract class BinaryExpressionWriter
- extends Object
- Author:
- Jochen "blackdrag" Theodorou
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
stdCompareCodes
protected static final int[] stdCompareCodes
BinaryExpressionWriter
public BinaryExpressionWriter(WriterController controller)
getCompareCode
protected abstract int getCompareCode()
writeStdCompare
protected boolean writeStdCompare(int type,
boolean simulate)
- writes some int standard operations. type is one of IADD, ISUB, IMUL,
IDIV or IREM
- Parameters:
type
- the token type
- Returns:
- true if a successful std operator write
doubleTwoOperands
protected abstract void doubleTwoOperands(org.objectweb.asm.MethodVisitor mv)
removeTwoOperands
protected abstract void removeTwoOperands(org.objectweb.asm.MethodVisitor mv)
writeSpaceship
protected boolean writeSpaceship(int type,
boolean simulate)
getNormalOpResultType
protected abstract ClassNode getNormalOpResultType()
getStandardOperationBytecode
protected abstract int getStandardOperationBytecode(int type)
writeStdOperators
protected boolean writeStdOperators(int type,
boolean simulate)
getBitwiseOperationBytecode
protected abstract int getBitwiseOperationBytecode(int type)
writeBitwiseOp
protected boolean writeBitwiseOp(int type,
boolean simulate)
- writes some the bitwise operations. type is one of BITWISE_OR,
BITWISE_AND, BIWISE_XOR
- Parameters:
type
- the token type
- Returns:
- true if a successful bitwise operation write
getShiftOperationBytecode
protected abstract int getShiftOperationBytecode(int type)
writeShiftOp
protected boolean writeShiftOp(int type,
boolean simulate)
- Write shifting operations.
Type is one of LEFT_SHIFT, RIGHT_SHIFT, or RIGHT_SHIFT_UNSIGNED
- Parameters:
type
- the token type
- Returns:
- true on a successful shift operation write
write
public boolean write(int operation,
boolean simulate)
getArrayGetCaller
protected abstract MethodCaller getArrayGetCaller()
getArrayGetResultType
protected ClassNode getArrayGetResultType()
getArraySetCaller
protected abstract MethodCaller getArraySetCaller()
arrayGet
public boolean arrayGet(int operation,
boolean simulate)
arraySet
public boolean arraySet(boolean simulate)
writePostOrPrefixMethod
public boolean writePostOrPrefixMethod(int operation,
boolean simulate)
writePlusPlus
protected abstract void writePlusPlus(org.objectweb.asm.MethodVisitor mv)
writeMinusMinus
protected abstract void writeMinusMinus(org.objectweb.asm.MethodVisitor mv)