public class org.springframework.context.annotation.ConfigurationClassPostProcessor implements org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor, org.springframework.core.PriorityOrdered, org.springframework.context.ResourceLoaderAware, org.springframework.context.ApplicationStartupAware, 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
{
public static final org.springframework.context.annotation.AnnotationBeanNameGenerator IMPORT_BEAN_NAME_GENERATOR;
descriptor: Lorg/springframework/context/annotation/AnnotationBeanNameGenerator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.String IMPORT_REGISTRY_BEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean IN_NATIVE_IMAGE;
descriptor: Z
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
private org.springframework.core.metrics.ApplicationStartup applicationStartup;
descriptor: Lorg/springframework/core/metrics/ApplicationStartup;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic org.springframework.context.annotation.FullyQualifiedAnnotationBeanNameGenerator.INSTANCE:Lorg/springframework/context/annotation/FullyQualifiedAnnotationBeanNameGenerator;
1: putstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR:Lorg/springframework/context/annotation/AnnotationBeanNameGenerator;
2: 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;
3: putstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IMPORT_REGISTRY_BEAN_NAME:Ljava/lang/String;
4: ldc "org.graalvm.nativeimage.imagecode"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: putstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IN_NATIVE_IMAGE:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
getstatic org.springframework.context.annotation.AnnotationBeanNameGenerator.INSTANCE:Lorg/springframework/context/annotation/AnnotationBeanNameGenerator;
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.componentScanBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
12: aload 0
getstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR:Lorg/springframework/context/annotation/AnnotationBeanNameGenerator;
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.importBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
13: aload 0
getstatic org.springframework.core.metrics.ApplicationStartup.DEFAULT:Lorg/springframework/core/metrics/ApplicationStartup;
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.applicationStartup:Lorg/springframework/core/metrics/ApplicationStartup;
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 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 setApplicationStartup(org.springframework.core.metrics.ApplicationStartup);
descriptor: (Lorg/springframework/core/metrics/ApplicationStartup;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.applicationStartup:Lorg/springframework/core/metrics/ApplicationStartup;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 2 1 applicationStartup Lorg/springframework/core/metrics/ApplicationStartup;
MethodParameters:
Name Flags
applicationStartup
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=18, 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 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:
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
getstatic org.springframework.context.annotation.ConfigurationClassUtils.CONFIGURATION_CLASS_ATTRIBUTE:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 9
6: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 11
7: 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
8: goto 11
9: 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 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 11
10: 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 11: 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:
12: iload 5
iload 6
if_icmplt 3
13: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 15
14: return
15: 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
16: aconst_null
astore 4
start local 4 17: aload 1
instanceof org.springframework.beans.factory.config.SingletonBeanRegistry
ifeq 26
18: aload 1
checkcast org.springframework.beans.factory.config.SingletonBeanRegistry
astore 4
19: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.localBeanNameGeneratorSet:Z
ifne 26
20: aload 4
21: ldc "org.springframework.context.annotation.internalConfigurationBeanNameGenerator"
22: 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 23: aload 5
ifnull 26
24: aload 0
aload 5
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.componentScanBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
25: aload 0
aload 5
putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.importBeanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
end local 5 26: 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 28
27: 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;
28: StackMap locals:
StackMap stack:
new org.springframework.context.annotation.ConfigurationClassParser
dup
29: 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;
30: 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
31: 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 32: new java.util.LinkedHashSet
dup
aload 2
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 33: 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 34: StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.util.Set java.util.Set
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.applicationStartup:Lorg/springframework/core/metrics/ApplicationStartup;
ldc "spring.context.config-classes.parse"
invokeinterface org.springframework.core.metrics.ApplicationStartup.start:(Ljava/lang/String;)Lorg/springframework/core/metrics/StartupStep;
astore 8
start local 8 35: aload 5
aload 6
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.parse:(Ljava/util/Set;)V
36: aload 5
invokevirtual org.springframework.context.annotation.ConfigurationClassParser.validate:()V
37: 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 9
start local 9 38: aload 9
aload 7
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
39: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.reader:Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
ifnonnull 44
40: aload 0
new org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader
dup
41: 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;
42: 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
43: putfield org.springframework.context.annotation.ConfigurationClassPostProcessor.reader:Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
44: StackMap locals: org.springframework.core.metrics.StartupStep java.util.Set
StackMap stack:
aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.reader:Lorg/springframework/context/annotation/ConfigurationClassBeanDefinitionReader;
aload 9
invokevirtual org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions:(Ljava/util/Set;)V
45: aload 7
aload 9
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
46: aload 8
ldc "classCount"
aload 9
invokedynamic get(Ljava/util/Set;)Ljava/util/function/Supplier;
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;
org/springframework/context/annotation/ConfigurationClassPostProcessor.lambda$1(Ljava/util/Set;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface org.springframework.core.metrics.StartupStep.tag:(Ljava/lang/String;Ljava/util/function/Supplier;)Lorg/springframework/core/metrics/StartupStep;
invokeinterface org.springframework.core.metrics.StartupStep.end:()V
47: aload 6
invokeinterface java.util.Set.clear:()V
48: aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinitionCount:()I
aload 3
arraylength
if_icmple 66
49: aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinitionNames:()[Ljava/lang/String;
astore 10
start local 10 50: 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 11
start local 11 51: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 12
start local 12 52: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 55
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 org.springframework.core.metrics.StartupStep java.util.Set java.lang.String[] java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
53: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.context.annotation.ConfigurationClass
astore 13
start local 13 54: aload 12
aload 13
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 13 55: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
56: aload 10
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 64
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 org.springframework.core.metrics.StartupStep java.util.Set java.lang.String[] java.util.Set java.util.Set top int int java.lang.String[]
StackMap stack:
57: aload 16
iload 14
aaload
astore 13
start local 13 58: aload 11
aload 13
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 63
59: aload 1
aload 13
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 17
start local 17 60: aload 17
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 63
61: aload 12
aload 17
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 63
62: aload 6
new org.springframework.beans.factory.config.BeanDefinitionHolder
dup
aload 17
aload 13
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 17 end local 13 63: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
64: iload 14
iload 15
if_icmplt 57
65: aload 10
astore 3
end local 12 end local 11 end local 10 end local 9 end local 8 66: 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 34
67: aload 4
ifnull 69
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 69
68: 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
69: 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 71
70: 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
71: 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 72 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 72 1 registry Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
1 72 2 configCandidates Ljava/util/List<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
2 72 3 candidateNames [Ljava/lang/String;
4 11 4 beanName Ljava/lang/String;
5 11 8 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
17 72 4 sbr Lorg/springframework/beans/factory/config/SingletonBeanRegistry;
23 26 5 generator Lorg/springframework/beans/factory/support/BeanNameGenerator;
32 72 5 parser Lorg/springframework/context/annotation/ConfigurationClassParser;
33 72 6 candidates Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
34 72 7 alreadyParsed Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClass;>;
35 66 8 processConfig Lorg/springframework/core/metrics/StartupStep;
38 66 9 configClasses Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClass;>;
50 66 10 newCandidateNames [Ljava/lang/String;
51 66 11 oldCandidateNames Ljava/util/Set<Ljava/lang/String;>;
52 66 12 alreadyParsedClasses Ljava/util/Set<Ljava/lang/String;>;
54 55 13 configurationClass Lorg/springframework/context/annotation/ConfigurationClass;
58 63 13 candidateName Ljava/lang/String;
60 63 17 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=13, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.applicationStartup:Lorg/springframework/core/metrics/ApplicationStartup;
ldc "spring.context.config-classes.enhance"
invokeinterface org.springframework.core.metrics.ApplicationStartup.start:(Ljava/lang/String;)Lorg/springframework/core/metrics/StartupStep;
astore 2
start local 2 1: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 3
start local 3 2: aload 1
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinitionNames:()[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 32
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map 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.config.ConfigurableListableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 8
start local 8 5: aload 8
getstatic org.springframework.context.annotation.ConfigurationClassUtils.CONFIGURATION_CLASS_ATTRIBUTE:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
astore 9
start local 9 6: aconst_null
astore 10
start local 10 7: aload 8
instanceof org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
ifeq 9
8: aload 8
checkcast org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
invokeinterface org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.getFactoryMethodMetadata:()Lorg/springframework/core/type/MethodMetadata;
astore 10
9: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map java.lang.String int int java.lang.String[] org.springframework.beans.factory.config.BeanDefinition java.lang.Object org.springframework.core.type.MethodMetadata
StackMap stack:
aload 9
ifnonnull 10
aload 10
ifnull 19
StackMap locals:
StackMap stack:
10: aload 8
instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
ifeq 19
11: aload 8
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
astore 11
start local 11 12: aload 11
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.hasBeanClass:()Z
ifne 19
13: aload 11
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;
pop
14: goto 19
15: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map java.lang.String int int java.lang.String[] org.springframework.beans.factory.config.BeanDefinition java.lang.Object org.springframework.core.type.MethodMetadata org.springframework.beans.factory.support.AbstractBeanDefinition
StackMap stack: java.lang.Throwable
astore 12
start local 12 16: new java.lang.IllegalStateException
dup
17: new java.lang.StringBuilder
dup
ldc "Cannot load configuration class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 12
18: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 end local 11 19: StackMap locals:
StackMap stack:
ldc "full"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
20: aload 8
instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
ifne 24
21: 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
22: aload 4
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;
23: invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
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 30
aload 1
aload 4
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.containsSingleton:(Ljava/lang/String;)Z
ifeq 30
25: 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 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "' since its singleton instance has been created too early. The typical cause "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: ldc "is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: 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;
29: invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
30: StackMap locals:
StackMap stack:
aload 3
aload 4
aload 8
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 8 end local 4 31: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
32: iload 5
iload 6
if_icmplt 3
33: aload 3
invokeinterface java.util.Map.isEmpty:()Z
ifne 34
getstatic org.springframework.context.annotation.ConfigurationClassPostProcessor.IN_NATIVE_IMAGE:Z
ifeq 36
34: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map
StackMap stack:
aload 2
invokeinterface org.springframework.core.metrics.StartupStep.end:()V
35: return
36: StackMap locals:
StackMap stack:
new org.springframework.context.annotation.ConfigurationClassEnhancer
dup
invokespecial org.springframework.context.annotation.ConfigurationClassEnhancer.<init>:()V
astore 4
start local 4 37: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 49
StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map org.springframework.context.annotation.ConfigurationClassEnhancer top java.util.Iterator
StackMap stack:
38: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 39: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
astore 7
start local 7 40: aload 7
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
41: aload 7
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass:()Ljava/lang/Class;
astore 8
start local 8 42: aload 4
aload 8
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 9
start local 9 43: aload 8
aload 9
if_acmpeq 49
44: aload 0
getfield org.springframework.context.annotation.ConfigurationClassPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 48
45: 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
46: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
dup
iconst_1
aload 8
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 9
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
47: 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
48: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep 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 7
aload 9
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
end local 9 end local 8 end local 7 end local 5 49: StackMap locals: org.springframework.context.annotation.ConfigurationClassPostProcessor org.springframework.beans.factory.config.ConfigurableListableBeanFactory org.springframework.core.metrics.StartupStep java.util.Map org.springframework.context.annotation.ConfigurationClassEnhancer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
50: aload 2
ldc "classCount"
aload 3
invokedynamic get(Ljava/util/Map;)Ljava/util/function/Supplier;
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;
org/springframework/context/annotation/ConfigurationClassPostProcessor.lambda$2(Ljava/util/Map;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface org.springframework.core.metrics.StartupStep.tag:(Ljava/lang/String;Ljava/util/function/Supplier;)Lorg/springframework/core/metrics/StartupStep;
invokeinterface org.springframework.core.metrics.StartupStep.end:()V
51: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
0 52 1 beanFactory Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
1 52 2 enhanceConfigClasses Lorg/springframework/core/metrics/StartupStep;
2 52 3 configBeanDefs Ljava/util/Map<Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;>;
4 31 4 beanName Ljava/lang/String;
5 31 8 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
6 31 9 configClassAttr Ljava/lang/Object;
7 31 10 methodMetadata Lorg/springframework/core/type/MethodMetadata;
12 19 11 abd Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
16 19 12 ex Ljava/lang/Throwable;
37 52 4 enhancer Lorg/springframework/context/annotation/ConfigurationClassEnhancer;
39 49 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;>;
40 49 7 beanDef Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
42 49 8 configClass Ljava/lang/Class<*>;
43 49 9 enhancedClass Ljava/lang/Class<*>;
Exception table:
from to target type
13 14 15 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
private static java.lang.String lambda$1(java.util.Set);
descriptor: (Ljava/util/Set;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokeinterface java.util.Set.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$2(java.util.Map);
descriptor: (Ljava/util/Map;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ConfigurationClassPostProcessor.java"
NestMembers:
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
private ImportAwareBeanPostProcessor = org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor of org.springframework.context.annotation.ConfigurationClassPostProcessor