class org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy extends org.springframework.cglib.transform.impl.UndeclaredThrowableStrategy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy
super_class: org.springframework.cglib.transform.impl.UndeclaredThrowableStrategy
{
private final java.lang.ClassLoader classLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljava/lang/reflect/UndeclaredThrowableException;
invokespecial org.springframework.cglib.transform.impl.UndeclaredThrowableStrategy.<init>:(Ljava/lang/Class;)V
1: aload 0
aload 1
putfield org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy.classLoader:Ljava/lang/ClassLoader;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/framework/CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy;
0 3 1 classLoader Ljava/lang/ClassLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
public byte[] generate(org.springframework.cglib.core.ClassGenerator);
descriptor: (Lorg/springframework/cglib/core/ClassGenerator;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy.classLoader:Ljava/lang/ClassLoader;
ifnonnull 2
1: aload 0
aload 1
invokespecial org.springframework.cglib.transform.impl.UndeclaredThrowableStrategy.generate:(Lorg/springframework/cglib/core/ClassGenerator;)[B
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 2
start local 2 3: aload 2
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 4: goto 7
end local 3 5: StackMap locals: org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy org.springframework.cglib.core.ClassGenerator java.lang.Thread
StackMap stack: java.lang.Throwable
pop
6: aload 0
aload 1
invokespecial org.springframework.cglib.transform.impl.UndeclaredThrowableStrategy.generate:(Lorg/springframework/cglib/core/ClassGenerator;)[B
areturn
start local 3 7: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
getfield org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy.classLoader:Ljava/lang/ClassLoader;
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 4
start local 4 10: iload 4
ifeq 12
11: aload 2
aload 0
getfield org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy.classLoader:Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
12: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokespecial org.springframework.cglib.transform.impl.UndeclaredThrowableStrategy.generate:(Lorg/springframework/cglib/core/ClassGenerator;)[B
astore 6
13: iload 4
ifeq 15
14: aload 2
aload 3
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
15: StackMap locals: org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy org.springframework.cglib.core.ClassGenerator java.lang.Thread java.lang.ClassLoader int top byte[]
StackMap stack:
aload 6
areturn
16: StackMap locals: org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy org.springframework.cglib.core.ClassGenerator java.lang.Thread java.lang.ClassLoader int
StackMap stack: java.lang.Throwable
astore 5
17: iload 4
ifeq 19
18: aload 2
aload 3
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
19: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/springframework/aop/framework/CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy;
0 20 1 cg Lorg/springframework/cglib/core/ClassGenerator;
3 20 2 currentThread Ljava/lang/Thread;
4 5 3 threadContextClassLoader Ljava/lang/ClassLoader;
7 20 3 threadContextClassLoader Ljava/lang/ClassLoader;
10 20 4 overrideClassLoader Z
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
12 13 16 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cg
}
SourceFile: "CglibAopProxy.java"
NestHost: org.springframework.aop.framework.CglibAopProxy
InnerClasses:
private ClassLoaderAwareUndeclaredThrowableStrategy = org.springframework.aop.framework.CglibAopProxy$ClassLoaderAwareUndeclaredThrowableStrategy of org.springframework.aop.framework.CglibAopProxy