Top Description Inners Fields Constructors Methods
org.codehaus.groovy.classgen.asm

public Class BinaryExpressionMultiTypeDispatcher

extends BinaryExpressionHelper
Class Inheritance
Known Direct Subclasses
org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher
Imports
org.apache.groovy.util.Maps, org.codehaus.groovy.ast.ClassHelper, .ClassNode, .DynamicVariable, .Variable, org.codehaus.groovy.ast.expr.BinaryExpression, .Expression, .PropertyExpression, .VariableExpression, org.codehaus.groovy.classgen.AsmClassGenerator, org.codehaus.groovy.runtime.BytecodeInterface8, java.util.Map

This class is for internal use only! This class will dispatch to the right type adapters according to the kind of binary expression that is provided.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
protected BinaryExpressionWriter[]
public static final Map<ClassNode, Integer>
public static final String[]
Inherited from org.codehaus.groovy.classgen.asm.BinaryExpressionHelper:
controller

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected void
assignToArray(final Expression orig, final Expression receiver, final Expression index, final Expression rhsValueLoader, final boolean safe)

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.assignToArray.

private boolean
private boolean
protected boolean
doPrimitiveCompare(final ClassNode leftType, final ClassNode rightType, final BinaryExpression binExp)

protected boolean
doPrimtiveCompare(final ClassNode leftType, final ClassNode rightType, final BinaryExpression binExp)

Deprecated
protected void
protected void
protected void
private static int
getOperandConversionType(final ClassNode leftType, final ClassNode rightType)

protected int
protected BinaryExpressionWriter[]
private static boolean
private boolean
isIntCastableType(final Expression rightExp)

private static boolean
isShiftOperation(final int operation)

protected void
Inherited from org.codehaus.groovy.classgen.asm.BinaryExpressionHelper:
assignToArrayevalevaluateArrayAssignmentWithOperatorevaluateElvisEqualevaluateEqualevaluatePostfixMethodevaluatePrefixMethodevaluateTernarygetControllergetIsCaseMethod

Field Detail

binExpWriterback to summary
protected BinaryExpressionWriter[] binExpWriter
typeMapback to summary
public static final Map<ClassNode, Integer> typeMap
typeMapKeyNamesback to summary
public static final String[] typeMapKeyNames

Constructor Detail

BinaryExpressionMultiTypeDispatcherback to summary
public BinaryExpressionMultiTypeDispatcher(final WriterController wc)

Method Detail

assignToArrayback to summary
protected void assignToArray(final Expression orig, final Expression receiver, final Expression index, final Expression rhsValueLoader, final boolean safe)

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.assignToArray.

Annotations
@Override
doAssignmentToArrayback to summary
private boolean doAssignmentToArray(final BinaryExpression binExp)
doAssignmentToLocalVariableback to summary
private boolean doAssignmentToLocalVariable(final String method, final BinaryExpression binExp)
doPrimitiveCompareback to summary
protected boolean doPrimitiveCompare(final ClassNode leftType, final ClassNode rightType, final BinaryExpression binExp)
doPrimtiveCompareback to summary
protected boolean doPrimtiveCompare(final ClassNode leftType, final ClassNode rightType, final BinaryExpression binExp)

Deprecated

Annotations
@Deprecated
evaluateBinaryExpressionback to summary
protected void evaluateBinaryExpression(final String message, final BinaryExpression binExp)

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateBinaryExpression.

Annotations
@Override
evaluateBinaryExpressionWithAssignmentback to summary
protected void evaluateBinaryExpressionWithAssignment(final String method, final BinaryExpression binExp)

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateBinaryExpressionWithAssignment.

Annotations
@Override
evaluateCompareExpressionback to summary
protected void evaluateCompareExpression(final MethodCaller compareMethod, final BinaryExpression binExp)

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateCompareExpression.

Annotations
@Override
getOperandConversionTypeback to summary
private static int getOperandConversionType(final ClassNode leftType, final ClassNode rightType)
getOperandTypeback to summary
protected int getOperandType(final ClassNode type)
initializeDelegateHelpersback to summary
protected BinaryExpressionWriter[] initializeDelegateHelpers()
isAssignmentToArrayback to summary
private static boolean isAssignmentToArray(final BinaryExpression binExp)
isIntCastableTypeback to summary
private boolean isIntCastableType(final Expression rightExp)
isShiftOperationback to summary
private static boolean isShiftOperation(final int operation)
writePostOrPrefixMethodback to summary
protected void writePostOrPrefixMethod(final int op, final String method, final Expression expression, final Expression orig)

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.writePostOrPrefixMethod.

Annotations
@Override
org.codehaus.groovy.classgen.asm back to summary

private Class BinaryExpressionMultiTypeDispatcher.BinaryByteExpressionHelper

extends BinaryIntExpressionHelper
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final MethodCaller
private static final MethodCaller

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected ClassNode
Inherited from org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper:
doubleTwoOperandsgetBitwiseOperationBytecodegetCompareCodegetDevisionOpResultTypegetNormalOpResultTypegetShiftOperationBytecodegetStandardOperationBytecoderemoveTwoOperandssupportsDivisionwriteMinusMinuswritePlusPluswriteSpaceshipwriteStdCompare

Field Detail

byteArrayGetback to summary
private static final MethodCaller byteArrayGet
byteArraySetback to summary
private static final MethodCaller byteArraySet

Constructor Detail

BinaryByteExpressionHelperback to summary
public BinaryByteExpressionHelper(final WriterController wc)

Method Detail

getArrayGetResultTypeback to summary
protected ClassNode getArrayGetResultType()

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionWriter.getArrayGetResultType.

Annotations
@Override
org.codehaus.groovy.classgen.asm back to summary

private Class BinaryExpressionMultiTypeDispatcher.BinaryCharExpressionHelper

extends BinaryIntExpressionHelper
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final MethodCaller
private static final MethodCaller

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected ClassNode
Inherited from org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper:
doubleTwoOperandsgetBitwiseOperationBytecodegetCompareCodegetDevisionOpResultTypegetNormalOpResultTypegetShiftOperationBytecodegetStandardOperationBytecoderemoveTwoOperandssupportsDivisionwriteMinusMinuswritePlusPluswriteSpaceshipwriteStdCompare

Field Detail

charArrayGetback to summary
private static final MethodCaller charArrayGet
charArraySetback to summary
private static final MethodCaller charArraySet

Constructor Detail

BinaryCharExpressionHelperback to summary
public BinaryCharExpressionHelper(final WriterController wc)

Method Detail

getArrayGetResultTypeback to summary
protected ClassNode getArrayGetResultType()

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionWriter.getArrayGetResultType.

Annotations
@Override
org.codehaus.groovy.classgen.asm back to summary

private Class BinaryExpressionMultiTypeDispatcher.BinaryShortExpressionHelper

extends BinaryIntExpressionHelper
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final MethodCaller
private static final MethodCaller

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected ClassNode
Inherited from org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper:
doubleTwoOperandsgetBitwiseOperationBytecodegetCompareCodegetDevisionOpResultTypegetNormalOpResultTypegetShiftOperationBytecodegetStandardOperationBytecoderemoveTwoOperandssupportsDivisionwriteMinusMinuswritePlusPluswriteSpaceshipwriteStdCompare

Field Detail

shortArrayGetback to summary
private static final MethodCaller shortArrayGet
shortArraySetback to summary
private static final MethodCaller shortArraySet

Constructor Detail

BinaryShortExpressionHelperback to summary
public BinaryShortExpressionHelper(final WriterController wc)

Method Detail

getArrayGetResultTypeback to summary
protected ClassNode getArrayGetResultType()

Overrides org.codehaus.groovy.classgen.asm.BinaryExpressionWriter.getArrayGetResultType.

Annotations
@Override