|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.groovy.reflection.MethodHandleFactory
public class MethodHandleFactory
Nested Class Summary | |
---|---|
private static class |
MethodHandleFactory.ReflectiveMethodHandle
|
Field Summary | |
---|---|
private static java.lang.String[] |
EXCEPTIONS
|
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, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, 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, 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, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, 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, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6 |
Constructor Summary | |
---|---|
MethodHandleFactory()
|
Method Summary | |
---|---|
private static boolean |
checkAccessable(java.lang.reflect.Method method)
|
private static java.lang.reflect.Constructor |
compileMethodHandle(java.lang.reflect.Method cachedMethod,
ClassLoaderForClassArtifacts loader)
|
private static MethodHandle |
createCompiledMethodHandle(java.lang.reflect.Method method,
ClassLoaderForClassArtifacts loader)
|
private static void |
genConstructor(org.objectweb.asm.ClassWriter cw,
java.lang.String superClass)
|
private static void |
genInvokeWithFixedParams(org.objectweb.asm.ClassWriter cw,
java.lang.reflect.Method method)
|
private static void |
genInvokeWithFixedPrimitiveParams(org.objectweb.asm.ClassWriter cw,
java.lang.reflect.Method method)
|
static void |
genInvokeXxxWithArray(org.objectweb.asm.ClassWriter cw,
java.lang.reflect.Method method)
|
static void |
genLoadParameters(int argumentIndex,
org.objectweb.asm.MethodVisitor mv,
BytecodeHelper helper,
java.lang.reflect.Method method)
|
static void |
genLoadParametersDirect(int argumentIndex,
org.objectweb.asm.MethodVisitor mv,
BytecodeHelper helper,
java.lang.reflect.Method method)
|
static void |
genLoadParametersPrimitiveDirect(int argumentIndex,
org.objectweb.asm.MethodVisitor mv,
BytecodeHelper helper,
java.lang.reflect.Method method)
|
private static byte[] |
genMethodHandle(java.lang.reflect.Method method,
org.objectweb.asm.ClassWriter cw,
java.lang.String name)
|
static MethodHandle |
unreflect(java.lang.reflect.Method method)
|
private static MethodHandle |
unreflect(java.lang.reflect.Method method,
ClassLoaderForClassArtifacts loader)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String[] EXCEPTIONS
Constructor Detail |
---|
public MethodHandleFactory()
Method Detail |
---|
public static MethodHandle unreflect(java.lang.reflect.Method method)
private static MethodHandle unreflect(java.lang.reflect.Method method, ClassLoaderForClassArtifacts loader)
private static boolean checkAccessable(java.lang.reflect.Method method)
public static void genLoadParameters(int argumentIndex, org.objectweb.asm.MethodVisitor mv, BytecodeHelper helper, java.lang.reflect.Method method)
public static void genLoadParametersDirect(int argumentIndex, org.objectweb.asm.MethodVisitor mv, BytecodeHelper helper, java.lang.reflect.Method method)
public static void genLoadParametersPrimitiveDirect(int argumentIndex, org.objectweb.asm.MethodVisitor mv, BytecodeHelper helper, java.lang.reflect.Method method)
private static MethodHandle createCompiledMethodHandle(java.lang.reflect.Method method, ClassLoaderForClassArtifacts loader)
private static java.lang.reflect.Constructor compileMethodHandle(java.lang.reflect.Method cachedMethod, ClassLoaderForClassArtifacts loader)
private static byte[] genMethodHandle(java.lang.reflect.Method method, org.objectweb.asm.ClassWriter cw, java.lang.String name)
private static void genConstructor(org.objectweb.asm.ClassWriter cw, java.lang.String superClass)
public static void genInvokeXxxWithArray(org.objectweb.asm.ClassWriter cw, java.lang.reflect.Method method)
private static void genInvokeWithFixedParams(org.objectweb.asm.ClassWriter cw, java.lang.reflect.Method method)
private static void genInvokeWithFixedPrimitiveParams(org.objectweb.asm.ClassWriter cw, java.lang.reflect.Method method)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |