class org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor implements org.springframework.cglib.proxy.MethodInterceptor, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor
super_class: java.lang.Object
{
private final org.springframework.aop.framework.AdvisedSupport advised;
descriptor: Lorg/springframework/aop/framework/AdvisedSupport;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/framework/CglibAopProxy$DynamicAdvisedInterceptor;
0 3 1 advised Lorg/springframework/aop/framework/AdvisedSupport;
MethodParameters:
Name Flags
advised
public java.lang.Object intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], org.springframework.cglib.proxy.MethodProxy);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/cglib/proxy/MethodProxy;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aload 0
getfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
invokevirtual org.springframework.aop.framework.AdvisedSupport.getTargetSource:()Lorg/springframework/aop/TargetSource;
astore 8
start local 8 4: aload 0
getfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
getfield org.springframework.aop.framework.AdvisedSupport.exposeProxy:Z
ifeq 7
5: aload 1
invokestatic org.springframework.aop.framework.AopContext.setCurrentProxy:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
6: iconst_1
istore 6
7: StackMap locals: org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor java.lang.Object java.lang.reflect.Method java.lang.Object[] org.springframework.cglib.proxy.MethodProxy java.lang.Object int java.lang.Object org.springframework.aop.TargetSource
StackMap stack:
aload 8
invokeinterface org.springframework.aop.TargetSource.getTarget:()Ljava/lang/Object;
astore 7
8: aload 7
ifnull 9
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
goto 10
StackMap locals:
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: java.lang.Class
10: astore 9
start local 9 11: aload 0
getfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
aload 2
aload 9
invokevirtual org.springframework.aop.framework.AdvisedSupport.getInterceptorsAndDynamicInterceptionAdvice:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/util/List;
astore 10
start local 10 12: aload 10
invokeinterface java.util.List.isEmpty:()Z
ifeq 16
aload 2
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 16
13: aload 2
aload 3
invokestatic org.springframework.aop.framework.AopProxyUtils.adaptArgumentsIfNecessary:(Ljava/lang/reflect/Method;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 12
start local 12 14: aload 4
aload 7
aload 12
invokevirtual org.springframework.cglib.proxy.MethodProxy.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 11
end local 12 start local 11 15: goto 17
end local 11 16: StackMap locals: java.lang.Class java.util.List
StackMap stack:
new org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation
dup
aload 1
aload 7
aload 2
aload 3
aload 9
aload 10
aload 4
invokespecial org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Ljava/lang/Class;Ljava/util/List;Lorg/springframework/cglib/proxy/MethodProxy;)V
invokevirtual org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed:()Ljava/lang/Object;
astore 11
start local 11 17: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 7
aload 2
aload 11
invokestatic org.springframework.aop.framework.CglibAopProxy.processReturnType:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
astore 11
18: aload 11
astore 14
19: aload 7
ifnull 21
aload 8
invokeinterface org.springframework.aop.TargetSource.isStatic:()Z
ifne 21
20: aload 8
aload 7
invokeinterface org.springframework.aop.TargetSource.releaseTarget:(Ljava/lang/Object;)V
21: StackMap locals: org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor java.lang.Object java.lang.reflect.Method java.lang.Object[] org.springframework.cglib.proxy.MethodProxy java.lang.Object int java.lang.Object org.springframework.aop.TargetSource java.lang.Class java.util.List java.lang.Object top top java.lang.Object
StackMap stack:
iload 6
ifeq 23
22: aload 5
invokestatic org.springframework.aop.framework.AopContext.setCurrentProxy:(Ljava/lang/Object;)Ljava/lang/Object;
pop
23: StackMap locals:
StackMap stack:
aload 14
areturn
end local 11 end local 10 end local 9 24: StackMap locals: org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor java.lang.Object java.lang.reflect.Method java.lang.Object[] org.springframework.cglib.proxy.MethodProxy java.lang.Object int java.lang.Object org.springframework.aop.TargetSource
StackMap stack: java.lang.Throwable
astore 13
25: aload 7
ifnull 27
aload 8
invokeinterface org.springframework.aop.TargetSource.isStatic:()Z
ifne 27
26: aload 8
aload 7
invokeinterface org.springframework.aop.TargetSource.releaseTarget:(Ljava/lang/Object;)V
27: StackMap locals: org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor java.lang.Object java.lang.reflect.Method java.lang.Object[] org.springframework.cglib.proxy.MethodProxy java.lang.Object int java.lang.Object org.springframework.aop.TargetSource top top top top java.lang.Throwable
StackMap stack:
iload 6
ifeq 29
28: aload 5
invokestatic org.springframework.aop.framework.AopContext.setCurrentProxy:(Ljava/lang/Object;)Ljava/lang/Object;
pop
29: StackMap locals:
StackMap stack:
aload 13
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/springframework/aop/framework/CglibAopProxy$DynamicAdvisedInterceptor;
0 30 1 proxy Ljava/lang/Object;
0 30 2 method Ljava/lang/reflect/Method;
0 30 3 args [Ljava/lang/Object;
0 30 4 methodProxy Lorg/springframework/cglib/proxy/MethodProxy;
1 30 5 oldProxy Ljava/lang/Object;
2 30 6 setProxyContext Z
3 30 7 target Ljava/lang/Object;
4 30 8 targetSource Lorg/springframework/aop/TargetSource;
11 24 9 targetClass Ljava/lang/Class<*>;
12 24 10 chain Ljava/util/List<Ljava/lang/Object;>;
15 16 11 retVal Ljava/lang/Object;
17 24 11 retVal Ljava/lang/Object;
14 15 12 argsToUse [Ljava/lang/Object;
Exception table:
from to target type
4 19 24 any
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
proxy
method
args
methodProxy
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpeq 4
1: aload 1
instanceof org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor
ifeq 3
2: aload 0
getfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
aload 1
checkcast org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor
getfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/aop/framework/CglibAopProxy$DynamicAdvisedInterceptor;
0 5 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.advised:Lorg/springframework/aop/framework/AdvisedSupport;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/framework/CglibAopProxy$DynamicAdvisedInterceptor;
}
SourceFile: "CglibAopProxy.java"
NestHost: org.springframework.aop.framework.CglibAopProxy
InnerClasses:
private CglibMethodInvocation = org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation of org.springframework.aop.framework.CglibAopProxy
private DynamicAdvisedInterceptor = org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor of org.springframework.aop.framework.CglibAopProxy