Class StaticTypesBinaryExpressionMultiTypeDispatcher
- java.lang.Object
- 
- org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
- 
- org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
- 
- org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher
 
 
 
- 
- All Implemented Interfaces:
- org.objectweb.asm.Opcodes
 - Direct Known Subclasses:
- IndyStaticTypesMultiTypeDispatcher
 
 public class StaticTypesBinaryExpressionMultiTypeDispatcher extends BinaryExpressionMultiTypeDispatcher implements org.objectweb.asm.Opcodes A specialized version of the multi type binary expression dispatcher which is aware of static compilation. It is able to generate optimized bytecode for some operations using JVM instructions when available.
- 
- 
Field Summary- 
Fields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcherbinExpWriter, typeMap, typeMapKeyNames
 - 
Fields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelpercontroller
 - 
Fields inherited from interface org.objectweb.asm.OpcodesAALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V9
 
- 
 - 
Constructor SummaryConstructors Constructor Description StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidassignToArray(Expression enclosing, Expression receiver, Expression subscript, Expression rhsValueLoader, boolean safe)protected voidevaluateBinaryExpressionWithAssignment(String method, BinaryExpression expression)voidevaluateEqual(BinaryExpression expression, boolean defineVariable)protected voidwritePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)- 
Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcherdoPrimitiveCompare, doPrimtiveCompare, evaluateBinaryExpression, evaluateCompareExpression, getOperandType, initializeDelegateHelpers
 - 
Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelperassignToArray, eval, evaluateArrayAssignmentWithOperator, evaluateElvisEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod
 
- 
 
- 
- 
- 
Constructor Detail- 
StaticTypesBinaryExpressionMultiTypeDispatcherpublic StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc) 
 
- 
 - 
Method Detail- 
writePostOrPrefixMethodprotected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)- Overrides:
- writePostOrPrefixMethodin class- BinaryExpressionMultiTypeDispatcher
 
 - 
evaluateBinaryExpressionWithAssignmentprotected void evaluateBinaryExpressionWithAssignment(String method, BinaryExpression expression) - Overrides:
- evaluateBinaryExpressionWithAssignmentin class- BinaryExpressionMultiTypeDispatcher
 
 - 
evaluateEqualpublic void evaluateEqual(BinaryExpression expression, boolean defineVariable) - Overrides:
- evaluateEqualin class- BinaryExpressionHelper
 
 - 
assignToArrayprotected void assignToArray(Expression enclosing, Expression receiver, Expression subscript, Expression rhsValueLoader, boolean safe) - Overrides:
- assignToArrayin class- BinaryExpressionMultiTypeDispatcher
 
 
- 
 
-