|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.groovy.classgen.asm.BytecodeHelper
public class BytecodeHelper
A helper class for bytecode generation with AsmClassGenerator.
Field Summary |
---|
Fields inherited from interface org.objectweb.asm.Opcodes |
---|
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, 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, 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, INVOKEDYNAMIC_OWNER, 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, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7 |
Constructor Summary | |
---|---|
BytecodeHelper()
|
Method Summary | |
---|---|
static boolean |
box(org.objectweb.asm.MethodVisitor mv,
Class type)
Generates the bytecode to autobox the current value on the stack |
static boolean |
box(org.objectweb.asm.MethodVisitor mv,
ClassNode type)
box top level operand |
static void |
doCast(org.objectweb.asm.MethodVisitor mv,
Class type)
|
static void |
doCast(org.objectweb.asm.MethodVisitor mv,
ClassNode type)
|
static void |
doCastToPrimitive(org.objectweb.asm.MethodVisitor mv,
ClassNode sourceType,
ClassNode targetType)
Given a wrapped number type (Byte, Integer, Short, ...), generates bytecode to convert it to a primitive number (int, long, double) using calls to wrapped. |
static void |
doReturn(org.objectweb.asm.MethodVisitor mv,
ClassNode returnType)
|
static String |
formatNameForClassLoading(String name)
returns a name that Class.forName() can take. |
static String |
getClassInternalName(Class t)
|
static String |
getClassInternalName(ClassNode t)
|
static String |
getClassInternalName(String name)
|
static String[] |
getClassInternalNames(ClassNode[] names)
|
static String |
getClassLoadingTypeDescription(ClassNode c)
array types are special: eg.: String[]: classname: [Ljava.lang.String; Object: classname: java.lang.Object int[] : classname: [I unlike getTypeDescription '.' is not replaced by '/'. |
static String |
getGenericsBounds(ClassNode type)
|
static String |
getGenericsMethodSignature(MethodNode node)
|
static String |
getGenericsSignature(ClassNode node)
|
static String |
getMethodDescriptor(Class returnType,
Class[] paramTypes)
|
static String |
getMethodDescriptor(ClassNode returnType,
Parameter[] parameters)
|
static String |
getTypeDescription(Class c)
|
static String |
getTypeDescription(ClassNode c)
array types are special: eg.: String[]: classname: [Ljava/lang/String; int[]: [I |
static void |
load(org.objectweb.asm.MethodVisitor mv,
ClassNode type,
int idx)
|
static void |
negateBoolean(org.objectweb.asm.MethodVisitor mv)
negate a boolean on stack. true->false, false->true |
static void |
pushConstant(org.objectweb.asm.MethodVisitor mv,
int value)
|
static void |
unbox(org.objectweb.asm.MethodVisitor mv,
Class type)
Generates the bytecode to unbox the current value on the stack |
static void |
unbox(org.objectweb.asm.MethodVisitor mv,
ClassNode type)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BytecodeHelper()
Method Detail |
---|
public static String getClassInternalName(ClassNode t)
public static String getClassInternalName(Class t)
public static String getClassInternalName(String name)
public static String getMethodDescriptor(ClassNode returnType, Parameter[] parameters)
public static String getMethodDescriptor(Class returnType, Class[] paramTypes)
public static String getTypeDescription(Class c)
public static String getClassLoadingTypeDescription(ClassNode c)
public static String getTypeDescription(ClassNode c)
public static String[] getClassInternalNames(ClassNode[] names)
public static void pushConstant(org.objectweb.asm.MethodVisitor mv, int value)
public static void negateBoolean(org.objectweb.asm.MethodVisitor mv)
public static String formatNameForClassLoading(String name)
name
- public static void doReturn(org.objectweb.asm.MethodVisitor mv, ClassNode returnType)
public static String getGenericsMethodSignature(MethodNode node)
public static String getGenericsSignature(ClassNode node)
public static String getGenericsBounds(ClassNode type)
public static void load(org.objectweb.asm.MethodVisitor mv, ClassNode type, int idx)
public static void doCast(org.objectweb.asm.MethodVisitor mv, ClassNode type)
public static void doCastToPrimitive(org.objectweb.asm.MethodVisitor mv, ClassNode sourceType, ClassNode targetType)
mv
- method visitorsourceType
- the wrapped number typetargetType
- the primitive target typepublic static void doCast(org.objectweb.asm.MethodVisitor mv, Class type)
public static void unbox(org.objectweb.asm.MethodVisitor mv, Class type)
public static void unbox(org.objectweb.asm.MethodVisitor mv, ClassNode type)
public static boolean box(org.objectweb.asm.MethodVisitor mv, ClassNode type)
public static boolean box(org.objectweb.asm.MethodVisitor mv, Class type)
|
Copyright © 2003-2012 The Codehaus. All rights reserved. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |