public class net.sf.cglib.proxy.Proxy implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sf.cglib.proxy.Proxy
super_class: java.lang.Object
{
protected net.sf.cglib.proxy.InvocationHandler h;
descriptor: Lnet/sf/cglib/proxy/InvocationHandler;
flags: (0x0004) ACC_PROTECTED
private static final net.sf.cglib.proxy.CallbackFilter BAD_OBJECT_METHOD_FILTER;
descriptor: Lnet/sf/cglib/proxy/CallbackFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new net.sf.cglib.proxy.Proxy$1
dup
invokespecial net.sf.cglib.proxy.Proxy$1.<init>:()V
putstatic net.sf.cglib.proxy.Proxy.BAD_OBJECT_METHOD_FILTER:Lnet/sf/cglib/proxy/CallbackFilter;
1: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(net.sf.cglib.proxy.InvocationHandler);
descriptor: (Lnet/sf/cglib/proxy/InvocationHandler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_2
anewarray net.sf.cglib.proxy.Callback
dup
iconst_0
aload 1
aastore
invokestatic net.sf.cglib.proxy.Enhancer.registerCallbacks:(Ljava/lang/Class;[Lnet/sf/cglib/proxy/Callback;)V
2: aload 0
aload 1
putfield net.sf.cglib.proxy.Proxy.h:Lnet/sf/cglib/proxy/InvocationHandler;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lnet/sf/cglib/proxy/Proxy;
0 4 1 h Lnet/sf/cglib/proxy/InvocationHandler;
MethodParameters:
Name Flags
h
public static net.sf.cglib.proxy.InvocationHandler getInvocationHandler(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lnet/sf/cglib/proxy/InvocationHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof net.sf.cglib.proxy.Proxy$ProxyImpl
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Object is not a proxy"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
checkcast net.sf.cglib.proxy.Proxy
getfield net.sf.cglib.proxy.Proxy.h:Lnet/sf/cglib/proxy/InvocationHandler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 proxy Ljava/lang/Object;
MethodParameters:
Name Flags
proxy
public static java.lang.Class getProxyClass(java.lang.ClassLoader, java.lang.Class[]);
descriptor: (Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new net.sf.cglib.proxy.Enhancer
dup
invokespecial net.sf.cglib.proxy.Enhancer.<init>:()V
astore 2
start local 2 1: aload 2
ldc Lnet/sf/cglib/proxy/Proxy$ProxyImpl;
invokevirtual net.sf.cglib.proxy.Enhancer.setSuperclass:(Ljava/lang/Class;)V
2: aload 2
aload 1
invokevirtual net.sf.cglib.proxy.Enhancer.setInterfaces:([Ljava/lang/Class;)V
3: aload 2
iconst_2
anewarray java.lang.Class
dup
iconst_0
4: ldc Lnet/sf/cglib/proxy/InvocationHandler;
aastore
dup
iconst_1
5: ldc Lnet/sf/cglib/proxy/NoOp;
aastore
6: invokevirtual net.sf.cglib.proxy.Enhancer.setCallbackTypes:([Ljava/lang/Class;)V
7: aload 2
getstatic net.sf.cglib.proxy.Proxy.BAD_OBJECT_METHOD_FILTER:Lnet/sf/cglib/proxy/CallbackFilter;
invokevirtual net.sf.cglib.proxy.Enhancer.setCallbackFilter:(Lnet/sf/cglib/proxy/CallbackFilter;)V
8: aload 2
iconst_0
invokevirtual net.sf.cglib.proxy.Enhancer.setUseFactory:(Z)V
9: aload 2
invokevirtual net.sf.cglib.proxy.Enhancer.createClass:()Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 loader Ljava/lang/ClassLoader;
0 10 1 interfaces [Ljava/lang/Class;
1 10 2 e Lnet/sf/cglib/proxy/Enhancer;
MethodParameters:
Name Flags
loader
interfaces
public static boolean isProxyClass(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
ldc Lnet/sf/cglib/proxy/Proxy$ProxyImpl;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cl Ljava/lang/Class;
MethodParameters:
Name Flags
cl
public static java.lang.Object newProxyInstance(java.lang.ClassLoader, java.lang.Class[], net.sf.cglib.proxy.InvocationHandler);
descriptor: (Ljava/lang/ClassLoader;[Ljava/lang/Class;Lnet/sf/cglib/proxy/InvocationHandler;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic net.sf.cglib.proxy.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lnet/sf/cglib/proxy/InvocationHandler;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
2: areturn
end local 3 3: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 3
start local 3 4: aload 3
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 6: new net.sf.cglib.core.CodeGenerationException
dup
aload 3
invokespecial net.sf.cglib.core.CodeGenerationException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 loader Ljava/lang/ClassLoader;
0 7 1 interfaces [Ljava/lang/Class;
0 7 2 h Lnet/sf/cglib/proxy/InvocationHandler;
1 3 3 clazz Ljava/lang/Class;
4 5 3 e Ljava/lang/RuntimeException;
6 7 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.RuntimeException
0 2 5 Class java.lang.Exception
MethodParameters:
Name Flags
loader
interfaces
h
}
SourceFile: "Proxy.java"
NestMembers:
net.sf.cglib.proxy.Proxy$1 net.sf.cglib.proxy.Proxy$ProxyImpl
InnerClasses:
net.sf.cglib.proxy.Proxy$1
private ProxyImpl = net.sf.cglib.proxy.Proxy$ProxyImpl of net.sf.cglib.proxy.Proxy