public class org.springframework.context.annotation.ConfigurationClassPostProcessor implements org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor, org.springframework.core.PriorityOrdered, org.springframework.context.ResourceLoaderAware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.context.EnvironmentAware
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.context.annotation.ConfigurationClassPostProcessor
super_class: java.lang.Object
{
private static final java.lang.String IMPORT_REGISTRY_BEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.springframework.beans.factory.parsing.SourceExtractor ;
descriptor: Lorg/springframework/beans/factory/parsing/SourceExtractor;
flags: (0x0002) ACC_PRIVATE
private org.springframework.beans.factory.parsing.ProblemReporter problemReporter;
descriptor: Lorg/springframework/beans/factory/parsing/ProblemReporter;
flags: (0x0002) ACC_PRIVATE
private org.springframework.core.env.Environment environment;
descriptor: Lorg/springframework/core/env/Environment;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.core.io.ResourceLoader resourceLoader;
descriptor: Lorg/springframework/core/io/ResourceLoader;
flags: (0x0002) ACC_PRIVATE
private java.lang.ClassLoader beanClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.core.type.classreading.MetadataReaderFactory metadataReaderFactory;
descriptor: Lorg/springframework/core/type/classreading/MetadataReaderFactory;
flags: (0x0002) ACC_PRIVATE
private boolean setMetadataReaderFactoryCalled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.Set<java.lang.Integer> registriesPostProcessed;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Integer;>;
private final java.util.Set<java.lang.Integer> factoriesPostProcessed;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Integer;>;
private org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader reader;
descriptor: Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean localBeanNameGeneratorSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.springframework.beans.factory.support.BeanNameGenerator componentScanBeanNameGenerator;
descriptor: Lorg/springframework/beans/factory/support/BeanNameGenerator;
flags: (0x0002) ACC_PRIVATE
private org.springframework.beans.factory.support.BeanNameGenerator importBeanNameGenerator;
descriptor: Lorg/springframework/beans/factory/support/BeanNameGenerator;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.StringBuilder
dup
ldc Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".importRegistry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
1: putstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IMPORT_REGISTRY_BEAN_NAME:Ljava/lang/String;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
2: aload 0
new org.springframework.beans.factory.parsing.PassThroughSourceExtractor
dup
invokespecial org.springframework.beans.factory.parsing.PassThroughSourceExtractor.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.sourceExtractor:Lorg/springframework/beans/factory/parsing/SourceExtractor;
3: aload 0
new org.springframework.beans.factory.parsing.FailFastProblemReporter
dup
invokespecial org.springframework.beans.factory.parsing.FailFastProblemReporter.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
4: aload 0
new org.springframework.core.io.DefaultResourceLoader
dup
invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
5: aload 0
invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.beanClassLoader:Ljava/lang/ClassLoader;
6: aload 0
new org.springframework.core.type.classreading.CachingMetadataReaderFactory
dup
invokespecial org.springframework.core.type.classreading.CachingMetadataReaderFactory.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
7: aload 0
iconst_0
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.setMetadataReaderFactoryCalled:Z
8: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.registriesPostProcessed:Ljava/util/Set;
9: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.factoriesPostProcessed:Ljava/util/Set;
10: aload 0
iconst_0
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.localBeanNameGeneratorSet:Z
11: aload 0
new org.springframework.context.annotation.AnnotationBeanNameGenerator
dup
invokespecial org.springframework.context.annotation.AnnotationBeanNameGenerator.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.componentScanBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
12: aload 0
new org.springframework.context.annotation.ConfigurationClassPostProcessor$1
dup
aload 0
invokespecial org.springframework.context.annotation.ConfigurationClassPostProcessor$1.<init>:(Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;)V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.importBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
public int getOrder();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 2147483647
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
public void (org.springframework.beans.factory.parsing.SourceExtractor);
descriptor: (Lorg/springframework/beans/factory/parsing/SourceExtractor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnull 1
aload 1
goto 2
StackMap locals:
StackMap stack: org.springframework.context.annotation.ConfigurationClassPostProcessor
1: new org.springframework.beans.factory.parsing.PassThroughSourceExtractor
dup
invokespecial org.springframework.beans.factory.parsing.PassThroughSourceExtractor.<init>:()V
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.parsing.SourceExtractor
StackMap stack: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.parsing.SourceExtractor
2: putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.sourceExtractor:Lorg/springframework/beans/factory/parsing/SourceExtractor;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 4 1 sourceExtractor Lorg/springframework/beans/factory/parsing/SourceExtractor;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
sourceExtractor
public void setProblemReporter(org.springframework.beans.factory.parsing.ProblemReporter);
descriptor: (Lorg/springframework/beans/factory/parsing/ProblemReporter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnull 1
aload 1
goto 2
StackMap locals:
StackMap stack: org.springframework.context.annotation.ConfigurationClassPostProcessor
1: new org.springframework.beans.factory.parsing.FailFastProblemReporter
dup
invokespecial org.springframework.beans.factory.parsing.FailFastProblemReporter.<init>:()V
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.parsing.ProblemReporter
StackMap stack: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.parsing.ProblemReporter
2: putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 4 1 problemReporter Lorg/springframework/beans/factory/parsing/ProblemReporter;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
problemReporter
public void setMetadataReaderFactory(org.springframework.core.type.classreading.MetadataReaderFactory);
descriptor: (Lorg/springframework/core/type/classreading/MetadataReaderFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "MetadataReaderFactory must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
2: aload 0
iconst_1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.setMetadataReaderFactoryCalled:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 4 1 metadataReaderFactory Lorg/springframework/core/type/classreading/MetadataReaderFactory;
MethodParameters:
Name Flags
metadataReaderFactory
public void setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator);
descriptor: (Lorg/springframework/beans/factory/support/BeanNameGenerator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "BeanNameGenerator must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
iconst_1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.localBeanNameGeneratorSet:Z
2: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.componentScanBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
3: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.importBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 5 1 beanNameGenerator Lorg/springframework/beans/factory/support/BeanNameGenerator;
MethodParameters:
Name Flags
beanNameGenerator
public void setEnvironment(org.springframework.core.env.Environment);
descriptor: (Lorg/springframework/core/env/Environment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Environment must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.environment:Lorg/springframework/core/env/Environment;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 3 1 environment Lorg/springframework/core/env/Environment;
MethodParameters:
Name Flags
environment
public void setResourceLoader(org.springframework.core.io.ResourceLoader);
descriptor: (Lorg/springframework/core/io/ResourceLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "ResourceLoader must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
2: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.setMetadataReaderFactoryCalled:Z
ifne 4
3: aload 0
new org.springframework.core.type.classreading.CachingMetadataReaderFactory
dup
aload 1
invokespecial org.springframework.core.type.classreading.CachingMetadataReaderFactory.<init>:(Lorg/springframework/core/io/ResourceLoader;)V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 5 1 resourceLoader Lorg/springframework/core/io/ResourceLoader;
MethodParameters:
Name Flags
resourceLoader
public void setBeanClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.beanClassLoader:Ljava/lang/ClassLoader;
1: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.setMetadataReaderFactoryCalled:Z
ifne 3
2: aload 0
new org.springframework.core.type.classreading.CachingMetadataReaderFactory
dup
aload 1
invokespecial org.springframework.core.type.classreading.CachingMetadataReaderFactory.<init>:(Ljava/lang/ClassLoader;)V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 4 1 beanClassLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
beanClassLoader
public void postProcessBeanDefinitionRegistry(org.springframework.beans.factory.support.BeanDefinitionRegistry);
descriptor: (Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.registriesPostProcessed:Ljava/util/Set;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
2: new java.lang.IllegalStateException
dup
3: new java.lang.StringBuilder
dup
ldc "postProcessBeanDefinitionRegistry already called on this post-processor against "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.factoriesPostProcessed:Ljava/util/Set;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
6: new java.lang.IllegalStateException
dup
7: new java.lang.StringBuilder
dup
ldc "postProcessBeanFactory already called on this post-processor against "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.registriesPostProcessed:Ljava/util/Set;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: aload 0
aload 1
invokevirtual org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 12 1 registry Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
1 12 2 registryId I
MethodParameters:
Name Flags
registry
public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory);
descriptor: (Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.factoriesPostProcessed:Ljava/util/Set;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
2: new java.lang.IllegalStateException
dup
3: new java.lang.StringBuilder
dup
ldc "postProcessBeanFactory already called on this post-processor against "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.factoriesPostProcessed:Ljava/util/Set;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.registriesPostProcessed:Ljava/util/Set;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 8
7: aload 0
aload 1
checkcast org.springframework.beans.factory.support.BeanDefinitionRegistry
invokevirtual org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses:(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V
9: aload 1
new org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor
dup
aload 1
invokespecial org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor.<init>:(Lorg/springframework/beans/factory/BeanFactory;)V
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.addBeanPostProcessor:(Lorg/springframework/beans/factory/config/BeanPostProcessor;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 11 1 beanFactory Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
1 11 2 factoryId I
MethodParameters:
Name Flags
beanFactory
public void processConfigBeanDefinitions(org.springframework.beans.factory.support.BeanDefinitionRegistry);
descriptor: (Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=17, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinitionNames:()[Ljava/lang/String;
astore 3
start local 3 2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 1
aload 4
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 8
start local 8 5: aload 8
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isFullConfigurationClass:(Lorg/springframework/beans/factory/config/BeanDefinition;)Z
ifne 7
6: aload 8
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isLiteConfigurationClass:(Lorg/springframework/beans/factory/config/BeanDefinition;)Z
ifeq 10
7: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[] java.lang.String int int java.lang.String[] org.springframework.beans.factory.config.BeanDefinition
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 12
8: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Bean definition has already been processed as a configuration class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
9: goto 12
10: StackMap locals:
StackMap stack:
aload 8
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate:(Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/core/type/classreading/MetadataReaderFactory;)Z
ifeq 12
11: aload 2
new org.springframework.beans.factory.config.BeanDefinitionHolder
dup
aload 8
aload 4
invokespecial org.springframework.beans.factory.config.BeanDefinitionHolder.<init>:(Lorg/springframework/beans/factory/config/BeanDefinition;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 4 12: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 3
14: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 16
15: return
16: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[]
StackMap stack:
aload 2
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
org/springframework/context/annotation/ConfigurationClassPostProcessor.lambda$0(Lorg/springframework/beans/factory/config/BeanDefinitionHolder;Lorg/springframework/beans/factory/config/BeanDefinitionHolder;)I (6)
(Lorg/springframework/beans/factory/config/BeanDefinitionHolder;Lorg/springframework/beans/factory/config/BeanDefinitionHolder;)I
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
17: aconst_null
astore 4
start local 4 18: aload 1
instanceof org.springframework.beans.factory.config.SingletonBeanRegistry
ifeq 25
19: aload 1
checkcast org.springframework.beans.factory.config.SingletonBeanRegistry
astore 4
20: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.localBeanNameGeneratorSet:Z
ifne 25
21: aload 4
ldc "org.springframework.context.annotation.internalConfigurationBeanNameGenerator"
invokeinterface org.springframework.beans.factory.config.SingletonBeanRegistry.getSingleton:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.springframework.beans.factory.support.BeanNameGenerator
astore 5
start local 5 22: aload 5
ifnull 25
23: aload 0
aload 5
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.componentScanBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
24: aload 0
aload 5
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.importBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
end local 5 25: StackMap locals: org.springframework.beans.factory.config.SingletonBeanRegistry
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.environment:Lorg/springframework/core/env/Environment;
ifnonnull 27
26: aload 0
new org.springframework.core.env.StandardEnvironment
dup
invokespecial org.springframework.core.env.StandardEnvironment.<init>:()V
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.environment:Lorg/springframework/core/env/Environment;
27: StackMap locals:
StackMap stack:
new org.springframework.context.annotation.ConfigurationClassParser
dup
28: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.environment:Lorg/springframework/core/env/Environment;
29: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.componentScanBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
aload 1
30: invokespecial org.springframework.context.annotation.ConfigurationClassParser.<init>:(Lorg/springframework/core/type/classreading/MetadataReaderFactory;Lorg/springframework/beans/factory/parsing/ProblemReporter;Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanNameGenerator;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
astore 5
start local 5 31: new java.util.LinkedHashSet
dup
aload 2
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 32: new java.util.HashSet
dup
aload 2
invokeinterface java.util.List.size:()I
invokespecial java.util.HashSet.<init>:(I)V
astore 7
start local 7 33: StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.util.Set java.util.Set
StackMap stack:
aload 5
aload 6
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.parse:(Ljava/util/Set;)V
34: aload 5
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.validate:()V
35: new java.util.LinkedHashSet
dup
aload 5
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.getConfigurationClasses:()Ljava/util/Set;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
astore 8
start local 8 36: aload 8
aload 7
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
37: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.reader:Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
ifnonnull 42
38: aload 0
new org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader
dup
39: aload 1
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.sourceExtractor:Lorg/springframework/beans/factory/parsing/SourceExtractor;
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.environment:Lorg/springframework/core/env/Environment;
40: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.importBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
aload 5
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.getImportRegistry:()Lorg/springframework/context/annotation/ImportRegistry;
invokespecial org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.<init>:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Lorg/springframework/beans/factory/parsing/SourceExtractor;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/core/env/Environment;Lorg/springframework/beans/factory/support/BeanNameGenerator;Lorg/springframework/context/annotation/ImportRegistry;)V
41: putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.reader:Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
42: StackMap locals: java.util.Set
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.reader:Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
aload 8
invokevirtual org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions:(Ljava/util/Set;)V
43: aload 7
aload 8
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
44: aload 6
invokeinterface java.util.Set.clear:()V
45: aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinitionCount:()I
aload 3
arraylength
if_icmple 63
46: aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinitionNames:()[Ljava/lang/String;
astore 9
start local 9 47: new java.util.HashSet
dup
aload 3
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 10
start local 10 48: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 11
start local 11 49: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
goto 52
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[] org.springframework.beans.factory.config.SingletonBeanRegistry org.springframework.context.annotation.ConfigurationClassParser java.util.Set java.util.Set java.util.Set java.lang.String[] java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
50: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.context.annotation.ConfigurationClass
astore 12
start local 12 51: aload 11
aload 12
invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 12 52: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
53: aload 9
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 61
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[] org.springframework.beans.factory.config.SingletonBeanRegistry org.springframework.context.annotation.ConfigurationClassParser java.util.Set java.util.Set java.util.Set java.lang.String[] java.util.Set java.util.Set top int int java.lang.String[]
StackMap stack:
54: aload 15
iload 13
aaload
astore 12
start local 12 55: aload 10
aload 12
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 60
56: aload 1
aload 12
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 16
start local 16 57: aload 16
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate:(Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/core/type/classreading/MetadataReaderFactory;)Z
ifeq 60
58: aload 11
aload 16
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 60
59: aload 6
new org.springframework.beans.factory.config.BeanDefinitionHolder
dup
aload 16
aload 12
invokespecial org.springframework.beans.factory.config.BeanDefinitionHolder.<init>:(Lorg/springframework/beans/factory/config/BeanDefinition;Ljava/lang/String;)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 12 60: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
61: iload 13
iload 14
if_icmplt 54
62: aload 9
astore 3
end local 11 end local 10 end local 9 end local 8 63: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.support.BeanDefinitionRegistry java.util.List java.lang.String[] org.springframework.beans.factory.config.SingletonBeanRegistry org.springframework.context.annotation.ConfigurationClassParser java.util.Set java.util.Set
StackMap stack:
aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifeq 33
64: aload 4
ifnull 66
aload 4
getstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IMPORT_REGISTRY_BEAN_NAME:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.config.SingletonBeanRegistry.containsSingleton:(Ljava/lang/String;)Z
ifne 66
65: aload 4
getstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IMPORT_REGISTRY_BEAN_NAME:Ljava/lang/String;
aload 5
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.getImportRegistry:()Lorg/springframework/context/annotation/ImportRegistry;
invokeinterface org.springframework.beans.factory.config.SingletonBeanRegistry.registerSingleton:(Ljava/lang/String;Ljava/lang/Object;)V
66: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
instanceof org.springframework.core.type.classreading.CachingMetadataReaderFactory
ifeq 68
67: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
checkcast org.springframework.core.type.classreading.CachingMetadataReaderFactory
invokevirtual org.springframework.core.type.classreading.CachingMetadataReaderFactory.clearCache:()V
68: StackMap locals:
StackMap stack:
return
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 69 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 69 1 registry Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
1 69 2 configCandidates Ljava/util/List<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
2 69 3 candidateNames [Ljava/lang/String;
4 12 4 beanName Ljava/lang/String;
5 12 8 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
18 69 4 sbr Lorg/springframework/beans/factory/config/SingletonBeanRegistry;
22 25 5 generator Lorg/springframework/beans/factory/support/BeanNameGenerator;
31 69 5 parser Lorg/springframework/context/annotation/ConfigurationClassParser;
32 69 6 candidates Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
33 69 7 alreadyParsed Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClass;>;
36 63 8 configClasses Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClass;>;
47 63 9 newCandidateNames [Ljava/lang/String;
48 63 10 oldCandidateNames Ljava/util/Set<Ljava/lang/String;>;
49 63 11 alreadyParsedClasses Ljava/util/Set<Ljava/lang/String;>;
51 52 12 configurationClass Lorg/springframework/context/annotation/ConfigurationClass;
55 60 12 candidateName Ljava/lang/String;
57 60 16 bd Lorg/springframework/beans/factory/config/BeanDefinition;
MethodParameters:
Name Flags
registry
public void enhanceConfigurationClasses(org.springframework.beans.factory.config.ConfigurableListableBeanFactory);
descriptor: (Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinitionNames:()[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 17
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 1
aload 3
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 7
start local 7 4: aload 7
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isFullConfigurationClass:(Lorg/springframework/beans/factory/config/BeanDefinition;)Z
ifeq 16
5: aload 7
instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
ifne 9
6: new org.springframework.beans.factory.BeanDefinitionStoreException
dup
new java.lang.StringBuilder
dup
ldc "Cannot enhance @Configuration bean definition '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' since it is not stored in an AbstractBeanDefinition subclass"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map java.lang.String int int java.lang.String[] org.springframework.beans.factory.config.BeanDefinition
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 15
aload 1
aload 3
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.containsSingleton:(Ljava/lang/String;)Z
ifeq 15
10: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Cannot enhance @Configuration bean definition '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "' since its singleton instance has been created too early. The typical cause "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc "return type: Consider declaring such methods as 'static'."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 7
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 3 16: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
iload 5
if_icmplt 2
18: aload 2
invokeinterface java.util.Map.isEmpty:()Z
ifeq 20
19: return
20: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map
StackMap stack:
new org.springframework.context.annotation.ConfigurationClassEnhancer
dup
invokespecial org.springframework.context.annotation.ConfigurationClassEnhancer.<init>:()V
astore 3
start local 3 21: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 37
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map org.springframework.context.annotation.ConfigurationClassEnhancer top java.util.Iterator
StackMap stack:
22: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 23: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
astore 6
start local 6 24: aload 6
getstatic org.springframework.aop.framework.autoproxy.AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE:Ljava/lang/String;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
25: aload 6
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.beanClassLoader:Ljava/lang/ClassLoader;
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass:(Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 7
start local 7 26: aload 7
ifnull 37
27: aload 3
aload 7
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.beanClassLoader:Ljava/lang/ClassLoader;
invokevirtual org.springframework.context.annotation.ConfigurationClassEnhancer.enhance:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 8
start local 8 28: aload 7
aload 8
if_acmpeq 37
29: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 33
30: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
ldc "Replacing bean definition '%s' existing class '%s' with enhanced class '%s'"
iconst_3
anewarray java.lang.Object
dup
iconst_0
31: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
dup
iconst_1
aload 7
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 8
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
32: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
33: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map org.springframework.context.annotation.ConfigurationClassEnhancer java.util.Map$Entry java.util.Iterator org.springframework.beans.factory.support.AbstractBeanDefinition java.lang.Class java.lang.Class
StackMap stack:
aload 6
aload 8
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
end local 8 end local 7 34: goto 37
35: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map org.springframework.context.annotation.ConfigurationClassEnhancer java.util.Map$Entry java.util.Iterator org.springframework.beans.factory.support.AbstractBeanDefinition
StackMap stack: java.lang.Throwable
astore 7
start local 7 36: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot load configuration class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 4 37: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory java.util.Map org.springframework.context.annotation.ConfigurationClassEnhancer top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
38: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 39 1 beanFactory Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
1 39 2 configBeanDefs Ljava/util/Map<Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;>;
3 16 3 beanName Ljava/lang/String;
4 16 7 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
21 39 3 enhancer Lorg/springframework/context/annotation/ConfigurationClassEnhancer;
23 37 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;>;
24 37 6 beanDef Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
26 34 7 configClass Ljava/lang/Class<*>;
28 34 8 enhancedClass Ljava/lang/Class<*>;
36 37 7 ex Ljava/lang/Throwable;
Exception table:
from to target type
25 34 35 Class java.lang.Throwable
MethodParameters:
Name Flags
beanFactory
private static int lambda$0(org.springframework.beans.factory.config.BeanDefinitionHolder, org.springframework.beans.factory.config.BeanDefinitionHolder);
descriptor: (Lorg/springframework/beans/factory/config/BeanDefinitionHolder;Lorg/springframework/beans/factory/config/BeanDefinitionHolder;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.getOrder:(Lorg/springframework/beans/factory/config/BeanDefinition;)I
istore 2
start local 2 1: aload 1
invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.getOrder:(Lorg/springframework/beans/factory/config/BeanDefinition;)I
istore 3
start local 3 2: iload 2
iload 3
invokestatic java.lang.Integer.compare:(II)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bd1 Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
0 3 1 bd2 Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
1 3 2 i1 I
2 3 3 i2 I
}
SourceFile: "ConfigurationClassPostProcessor.java"
NestMembers:
org.springframework.context.annotation.ConfigurationClassPostProcessor$1 org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
org.springframework.context.annotation.ConfigurationClassPostProcessor$1
private ImportAwareBeanPostProcessor = org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor of org.springframework.context.annotation.ConfigurationClassPostProcessor