class org.springframework.aop.framework.ObjenesisCglibAopProxy extends org.springframework.aop.framework.CglibAopProxy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.aop.framework.ObjenesisCglibAopProxy
super_class: org.springframework.aop.framework.CglibAopProxy
{
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.springframework.objenesis.SpringObjenesis objenesis;
descriptor: Lorg/springframework/objenesis/SpringObjenesis;
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: ldc Lorg/springframework/aop/framework/ObjenesisCglibAopProxy;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.aop.framework.ObjenesisCglibAopProxy.logger:Lorg/apache/commons/logging/Log;
1: new org.springframework.objenesis.SpringObjenesis
dup
invokespecial org.springframework.objenesis.SpringObjenesis.<init>:()V
putstatic org.springframework.aop.framework.ObjenesisCglibAopProxy.objenesis:Lorg/springframework/objenesis/SpringObjenesis;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.springframework.aop.framework.AdvisedSupport);
descriptor: (Lorg/springframework/aop/framework/AdvisedSupport;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.springframework.aop.framework.CglibAopProxy.<init>:(Lorg/springframework/aop/framework/AdvisedSupport;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ObjenesisCglibAopProxy;
0 2 1 config Lorg/springframework/aop/framework/AdvisedSupport;
MethodParameters:
Name Flags
config
protected java.lang.Object createProxyClassAndInstance(org.springframework.cglib.proxy.Enhancer, org.springframework.cglib.proxy.Callback[]);
descriptor: (Lorg/springframework/cglib/proxy/Enhancer;[Lorg/springframework/cglib/proxy/Callback;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.springframework.cglib.proxy.Enhancer.createClass:()Ljava/lang/Class;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: getstatic org.springframework.aop.framework.ObjenesisCglibAopProxy.objenesis:Lorg/springframework/objenesis/SpringObjenesis;
invokevirtual org.springframework.objenesis.SpringObjenesis.isWorthTrying:()Z
ifeq 9
3: getstatic org.springframework.aop.framework.ObjenesisCglibAopProxy.objenesis:Lorg/springframework/objenesis/SpringObjenesis;
aload 3
aload 1
invokevirtual org.springframework.cglib.proxy.Enhancer.getUseCache:()Z
invokevirtual org.springframework.objenesis.SpringObjenesis.newInstance:(Ljava/lang/Class;Z)Ljava/lang/Object;
astore 4
4: goto 9
5: StackMap locals: org.springframework.aop.framework.ObjenesisCglibAopProxy org.springframework.cglib.proxy.Enhancer org.springframework.cglib.proxy.Callback[] java.lang.Class java.lang.Object
StackMap stack: java.lang.Throwable
astore 5
start local 5 6: getstatic org.springframework.aop.framework.ObjenesisCglibAopProxy.logger:Lorg/apache/commons/logging/Log;
ldc "Unable to instantiate proxy using Objenesis, falling back to regular proxy construction"
7: aload 5
8: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 9: StackMap locals:
StackMap stack:
aload 4
ifnonnull 24
10: aload 0
getfield org.springframework.aop.framework.ObjenesisCglibAopProxy.constructorArgs:[Ljava/lang/Object;
ifnull 12
11: aload 3
aload 0
getfield org.springframework.aop.framework.ObjenesisCglibAopProxy.constructorArgTypes:[Ljava/lang/Class;
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
goto 13
12: StackMap locals:
StackMap stack:
aload 3
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
13: StackMap locals:
StackMap stack: java.lang.reflect.Constructor
astore 5
start local 5 14: aload 5
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Constructor;)V
15: aload 0
getfield org.springframework.aop.framework.ObjenesisCglibAopProxy.constructorArgs:[Ljava/lang/Object;
ifnull 17
16: aload 5
aload 0
getfield org.springframework.aop.framework.ObjenesisCglibAopProxy.constructorArgs:[Ljava/lang/Object;
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
goto 18
StackMap locals: java.lang.reflect.Constructor
StackMap stack:
17: aload 5
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
18: StackMap locals:
StackMap stack: java.lang.Object
astore 4
end local 5 19: goto 24
20: StackMap locals: org.springframework.aop.framework.ObjenesisCglibAopProxy org.springframework.cglib.proxy.Enhancer org.springframework.cglib.proxy.Callback[] java.lang.Class java.lang.Object
StackMap stack: java.lang.Throwable
astore 5
start local 5 21: new org.springframework.aop.framework.AopConfigException
dup
ldc "Unable to instantiate proxy using Objenesis, and regular proxy instantiation via default constructor fails as well"
22: aload 5
23: invokespecial org.springframework.aop.framework.AopConfigException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 24: StackMap locals:
StackMap stack:
aload 4
checkcast org.springframework.cglib.proxy.Factory
aload 2
invokeinterface org.springframework.cglib.proxy.Factory.setCallbacks:([Lorg/springframework/cglib/proxy/Callback;)V
25: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/springframework/aop/framework/ObjenesisCglibAopProxy;
0 26 1 enhancer Lorg/springframework/cglib/proxy/Enhancer;
0 26 2 callbacks [Lorg/springframework/cglib/proxy/Callback;
1 26 3 proxyClass Ljava/lang/Class<*>;
2 26 4 proxyInstance Ljava/lang/Object;
6 9 5 ex Ljava/lang/Throwable;
14 19 5 ctor Ljava/lang/reflect/Constructor<*>;
21 24 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
10 19 20 Class java.lang.Throwable
MethodParameters:
Name Flags
enhancer
callbacks
}
SourceFile: "ObjenesisCglibAopProxy.java"