Package org.codehaus.groovy.classgen.asm
Class BinaryExpressionWriter
- java.lang.Object
- 
- org.codehaus.groovy.classgen.asm.BinaryExpressionWriter
 
- 
- Direct Known Subclasses:
- BinaryFloatExpressionHelper,- BinaryIntExpressionHelper,- BinaryLongExpressionHelper,- BinaryObjectExpressionHelper
 
 public abstract class BinaryExpressionWriter extends java.lang.ObjectBase class for writing primitive typed operations
- 
- 
Field SummaryFields Modifier and Type Field Description protected static int[]stdCompareCodes
 - 
Constructor SummaryConstructors Constructor Description BinaryExpressionWriter(WriterController controller, MethodCaller arraySet, MethodCaller arrayGet)
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanarrayGet(int operation, boolean simulate)booleanarraySet(boolean simulate)protected abstract voiddoubleTwoOperands(org.objectweb.asm.MethodVisitor mv)protected MethodCallergetArrayGetCaller()protected ClassNodegetArrayGetResultType()protected MethodCallergetArraySetCaller()protected abstract intgetBitwiseOperationBytecode(int type)protected abstract intgetCompareCode()WriterControllergetController()return writer controllerprotected abstract ClassNodegetDevisionOpResultType()protected abstract ClassNodegetNormalOpResultType()protected abstract intgetShiftOperationBytecode(int type)protected abstract intgetStandardOperationBytecode(int type)protected abstract voidremoveTwoOperands(org.objectweb.asm.MethodVisitor mv)voidsetArraySetAndGet(MethodCaller arraySet, MethodCaller arrayGet)protected booleansupportsDivision()booleanwrite(int operation, boolean simulate)protected booleanwriteBitwiseOp(int type, boolean simulate)writes some the bitwise operations.protected booleanwriteDivision(boolean simulate)protected abstract voidwriteMinusMinus(org.objectweb.asm.MethodVisitor mv)protected abstract voidwritePlusPlus(org.objectweb.asm.MethodVisitor mv)booleanwritePostOrPrefixMethod(int operation, boolean simulate)protected booleanwriteShiftOp(int type, boolean simulate)Write shifting operations.protected booleanwriteSpaceship(int type, boolean simulate)protected booleanwriteStdCompare(int type, boolean simulate)writes some int standard operations for comparesprotected booleanwriteStdOperators(int type, boolean simulate)
 
- 
- 
- 
Constructor Detail- 
BinaryExpressionWriterpublic BinaryExpressionWriter(WriterController controller, MethodCaller arraySet, MethodCaller arrayGet) 
 
- 
 - 
Method Detail- 
getControllerpublic WriterController getController() return writer controller- Since:
- 2.5.0
 
 - 
getCompareCodeprotected abstract int getCompareCode() 
 - 
writeStdCompareprotected boolean writeStdCompare(int type, boolean simulate)writes some int standard operations for compares- Parameters:
- type- the token type
- Returns:
- true if a successful std operator write
 
 - 
doubleTwoOperandsprotected abstract void doubleTwoOperands(org.objectweb.asm.MethodVisitor mv) 
 - 
removeTwoOperandsprotected abstract void removeTwoOperands(org.objectweb.asm.MethodVisitor mv) 
 - 
writeSpaceshipprotected boolean writeSpaceship(int type, boolean simulate)
 - 
getNormalOpResultTypeprotected abstract ClassNode getNormalOpResultType() 
 - 
getStandardOperationBytecodeprotected abstract int getStandardOperationBytecode(int type) 
 - 
writeStdOperatorsprotected boolean writeStdOperators(int type, boolean simulate)
 - 
writeDivisionprotected boolean writeDivision(boolean simulate) 
 - 
supportsDivisionprotected boolean supportsDivision() 
 - 
getDevisionOpResultTypeprotected abstract ClassNode getDevisionOpResultType() 
 - 
getBitwiseOperationBytecodeprotected abstract int getBitwiseOperationBytecode(int type) 
 - 
writeBitwiseOpprotected boolean writeBitwiseOp(int type, boolean simulate)writes some the bitwise operations. type is one of BITWISE_OR, BITWISE_AND, BITWISE_XOR- Parameters:
- type- the token type
- Returns:
- true if a successful bitwise operation write
 
 - 
getShiftOperationBytecodeprotected abstract int getShiftOperationBytecode(int type) 
 - 
writeShiftOpprotected 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
 
 - 
writepublic boolean write(int operation, boolean simulate)
 - 
getArrayGetCallerprotected MethodCaller getArrayGetCaller() 
 - 
getArrayGetResultTypeprotected ClassNode getArrayGetResultType() 
 - 
getArraySetCallerprotected MethodCaller getArraySetCaller() 
 - 
setArraySetAndGetpublic void setArraySetAndGet(MethodCaller arraySet, MethodCaller arrayGet) 
 - 
arrayGetpublic boolean arrayGet(int operation, boolean simulate)
 - 
arraySetpublic boolean arraySet(boolean simulate) 
 - 
writePostOrPrefixMethodpublic boolean writePostOrPrefixMethod(int operation, boolean simulate)
 - 
writePlusPlusprotected abstract void writePlusPlus(org.objectweb.asm.MethodVisitor mv) 
 - 
writeMinusMinusprotected abstract void writeMinusMinus(org.objectweb.asm.MethodVisitor mv) 
 
- 
 
-