class org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy extends org.springframework.cglib.core.DefaultGeneratorStrategy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy
super_class: org.springframework.cglib.core.DefaultGeneratorStrategy
{
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
invokespecial org.springframework.cglib.core.DefaultGeneratorStrategy.<init>:()V
1: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.classLoader:Ljava/lang/ClassLoader;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/context/annotation/ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy;
0 3 1 classLoader Ljava/lang/ClassLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
protected org.springframework.cglib.core.ClassGenerator transform(org.springframework.cglib.core.ClassGenerator);
descriptor: (Lorg/springframework/cglib/core/ClassGenerator;)Lorg/springframework/cglib/core/ClassGenerator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy$1
dup
aload 0
invokespecial org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy$1.<init>:(Lorg/springframework/context/annotation/ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy;)V
astore 2
start local 2 1: new org.springframework.cglib.transform.TransformingClassGenerator
dup
aload 1
aload 2
invokespecial org.springframework.cglib.transform.TransformingClassGenerator.<init>:(Lorg/springframework/cglib/core/ClassGenerator;Lorg/springframework/cglib/transform/ClassTransformer;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/context/annotation/ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy;
0 2 1 cg Lorg/springframework/cglib/core/ClassGenerator;
1 2 2 transformer Lorg/springframework/cglib/transform/ClassEmitterTransformer;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cg
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.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.classLoader:Ljava/lang/ClassLoader;
ifnonnull 2
1: aload 0
aload 1
invokespecial org.springframework.cglib.core.DefaultGeneratorStrategy.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.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy org.springframework.cglib.core.ClassGenerator java.lang.Thread
StackMap stack: java.lang.Throwable
pop
6: aload 0
aload 1
invokespecial org.springframework.cglib.core.DefaultGeneratorStrategy.generate:(Lorg/springframework/cglib/core/ClassGenerator;)[B
areturn
start local 3 7: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.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.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.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.core.DefaultGeneratorStrategy.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.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy org.springframework.cglib.core.ClassGenerator java.lang.Thread java.lang.ClassLoader int top byte[]
StackMap stack:
aload 6
areturn
16: StackMap locals: org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy 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/context/annotation/ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy;
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: "ConfigurationClassEnhancer.java"
NestHost: org.springframework.context.annotation.ConfigurationClassEnhancer
InnerClasses:
private BeanFactoryAwareGeneratorStrategy = org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy of org.springframework.context.annotation.ConfigurationClassEnhancer
org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy$1