abstract class org.springframework.context.annotation.ConfigurationClassUtils
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.context.annotation.ConfigurationClassUtils
super_class: java.lang.Object
{
private static final java.lang.String CONFIGURATION_CLASS_FULL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "full"
private static final java.lang.String CONFIGURATION_CLASS_LITE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lite"
private static final java.lang.String CONFIGURATION_CLASS_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ORDER_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set<java.lang.String> candidateIndicators;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
ldc "configurationClass"
invokestatic org.springframework.core.Conventions.getQualifiedAttributeName:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
1: putstatic org.springframework.context.annotation.ConfigurationClassUtils.CONFIGURATION_CLASS_ATTRIBUTE:Ljava/lang/String;
2: ldc Lorg/springframework/context/annotation/ConfigurationClassPostProcessor;
ldc "order"
invokestatic org.springframework.core.Conventions.getQualifiedAttributeName:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
3: putstatic org.springframework.context.annotation.ConfigurationClassUtils.ORDER_ATTRIBUTE:Ljava/lang/String;
4: ldc Lorg/springframework/context/annotation/ConfigurationClassUtils;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.context.annotation.ConfigurationClassUtils.logger:Lorg/apache/commons/logging/Log;
5: new java.util.HashSet
dup
bipush 8
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.context.annotation.ConfigurationClassUtils.candidateIndicators:Ljava/util/Set;
6: getstatic org.springframework.context.annotation.ConfigurationClassUtils.candidateIndicators:Ljava/util/Set;
ldc Lorg/springframework/stereotype/Component;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.springframework.context.annotation.ConfigurationClassUtils.candidateIndicators:Ljava/util/Set;
ldc Lorg/springframework/context/annotation/ComponentScan;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: getstatic org.springframework.context.annotation.ConfigurationClassUtils.candidateIndicators:Ljava/util/Set;
ldc Lorg/springframework/context/annotation/Import;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.springframework.context.annotation.ConfigurationClassUtils.candidateIndicators:Ljava/util/Set;
ldc Lorg/springframework/context/annotation/ImportResource;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/annotation/ConfigurationClassUtils;
public static boolean checkConfigurationClassCandidate(org.springframework.beans.factory.config.BeanDefinition, org.springframework.core.type.classreading.MetadataReaderFactory);
descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/core/type/classreading/MetadataReaderFactory;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 0
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getFactoryMethodName:()Ljava/lang/String;
ifnull 3
2: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
instanceof org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
ifeq 7
4: aload 2
aload 0
checkcast org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
invokeinterface org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
checkcast org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
invokeinterface org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
astore 3
start local 3 6: goto 20
end local 3 7: StackMap locals:
StackMap stack:
aload 0
instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
ifeq 11
aload 0
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.hasBeanClass:()Z
ifeq 11
8: aload 0
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass:()Ljava/lang/Class;
astore 4
start local 4 9: new org.springframework.core.type.StandardAnnotationMetadata
dup
aload 4
iconst_1
invokespecial org.springframework.core.type.StandardAnnotationMetadata.<init>:(Ljava/lang/Class;Z)V
astore 3
end local 4 start local 3 10: goto 20
end local 3 11: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface org.springframework.core.type.classreading.MetadataReaderFactory.getMetadataReader:(Ljava/lang/String;)Lorg/springframework/core/type/classreading/MetadataReader;
astore 4
start local 4 12: aload 4
invokeinterface org.springframework.core.type.classreading.MetadataReader.getAnnotationMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
astore 3
end local 4 start local 3 13: goto 20
end local 3 14: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 15: getstatic org.springframework.context.annotation.ConfigurationClassUtils.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 19
16: getstatic org.springframework.context.annotation.ConfigurationClassUtils.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Could not find class file for introspecting configuration annotations: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
18: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
19: StackMap locals: org.springframework.beans.factory.config.BeanDefinition org.springframework.core.type.classreading.MetadataReaderFactory java.lang.String top java.io.IOException
StackMap stack:
iconst_0
ireturn
end local 4 start local 3 20: StackMap locals: org.springframework.beans.factory.config.BeanDefinition org.springframework.core.type.classreading.MetadataReaderFactory java.lang.String org.springframework.core.type.AnnotationMetadata
StackMap stack:
aload 3
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isFullConfigurationCandidate:(Lorg/springframework/core/type/AnnotationMetadata;)Z
ifeq 23
21: aload 0
getstatic org.springframework.context.annotation.ConfigurationClassUtils.CONFIGURATION_CLASS_ATTRIBUTE:Ljava/lang/String;
ldc "full"
invokeinterface org.springframework.beans.factory.config.BeanDefinition.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
22: goto 27
23: StackMap locals:
StackMap stack:
aload 3
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isLiteConfigurationCandidate:(Lorg/springframework/core/type/AnnotationMetadata;)Z
ifeq 26
24: aload 0
getstatic org.springframework.context.annotation.ConfigurationClassUtils.CONFIGURATION_CLASS_ATTRIBUTE:Ljava/lang/String;
ldc "lite"
invokeinterface org.springframework.beans.factory.config.BeanDefinition.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
25: goto 27
26: StackMap locals:
StackMap stack:
iconst_0
ireturn
27: StackMap locals:
StackMap stack:
aload 3
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.getOrder:(Lorg/springframework/core/type/AnnotationMetadata;)Ljava/lang/Integer;
astore 4
start local 4 28: aload 4
ifnull 30
29: aload 0
getstatic org.springframework.context.annotation.ConfigurationClassUtils.ORDER_ATTRIBUTE:Ljava/lang/String;
aload 4
invokeinterface org.springframework.beans.factory.config.BeanDefinition.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
30: StackMap locals: java.lang.Integer
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
0 31 1 metadataReaderFactory Lorg/springframework/core/type/classreading/MetadataReaderFactory;
1 31 2 className Ljava/lang/String;
6 7 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
10 11 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
13 14 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
20 31 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
9 10 4 beanClass Ljava/lang/Class<*>;
12 13 4 metadataReader Lorg/springframework/core/type/classreading/MetadataReader;
15 20 4 ex Ljava/io/IOException;
28 31 4 order Ljava/lang/Integer;
Exception table:
from to target type
11 13 14 Class java.io.IOException
MethodParameters:
Name Flags
beanDef
metadataReaderFactory
public static boolean isConfigurationCandidate(org.springframework.core.type.AnnotationMetadata);
descriptor: (Lorg/springframework/core/type/AnnotationMetadata;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isFullConfigurationCandidate:(Lorg/springframework/core/type/AnnotationMetadata;)Z
ifne 1
aload 0
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isLiteConfigurationCandidate:(Lorg/springframework/core/type/AnnotationMetadata;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 metadata Lorg/springframework/core/type/AnnotationMetadata;
MethodParameters:
Name Flags
metadata
public static boolean isFullConfigurationCandidate(org.springframework.core.type.AnnotationMetadata);
descriptor: (Lorg/springframework/core/type/AnnotationMetadata;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/springframework/context/annotation/Configuration;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.springframework.core.type.AnnotationMetadata.isAnnotated:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 metadata Lorg/springframework/core/type/AnnotationMetadata;
MethodParameters:
Name Flags
metadata
public static boolean isLiteConfigurationCandidate(org.springframework.core.type.AnnotationMetadata);
descriptor: (Lorg/springframework/core/type/AnnotationMetadata;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface org.springframework.core.type.AnnotationMetadata.isInterface:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic org.springframework.context.annotation.ConfigurationClassUtils.candidateIndicators:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: org.springframework.core.type.AnnotationMetadata top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 4: aload 0
aload 1
invokeinterface org.springframework.core.type.AnnotationMetadata.isAnnotated:(Ljava/lang/String;)Z
ifeq 6
5: iconst_1
ireturn
end local 1 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 0
ldc Lorg/springframework/context/annotation/Bean;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.springframework.core.type.AnnotationMetadata.hasAnnotatedMethods:(Ljava/lang/String;)Z
8: ireturn
9: StackMap locals: org.springframework.core.type.AnnotationMetadata
StackMap stack: java.lang.Throwable
astore 1
start local 1 10: getstatic org.springframework.context.annotation.ConfigurationClassUtils.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 12
11: getstatic org.springframework.context.annotation.ConfigurationClassUtils.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Failed to introspect @Bean methods on class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
12: StackMap locals: java.lang.Throwable
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 metadata Lorg/springframework/core/type/AnnotationMetadata;
4 6 1 indicator Ljava/lang/String;
10 13 1 ex Ljava/lang/Throwable;
Exception table:
from to target type
7 8 9 Class java.lang.Throwable
MethodParameters:
Name Flags
metadata
public static boolean isFullConfigurationClass(org.springframework.beans.factory.config.BeanDefinition);
descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "full"
aload 0
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;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
MethodParameters:
Name Flags
beanDef
public static boolean isLiteConfigurationClass(org.springframework.beans.factory.config.BeanDefinition);
descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "lite"
aload 0
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;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
MethodParameters:
Name Flags
beanDef
public static java.lang.Integer getOrder(org.springframework.core.type.AnnotationMetadata);
descriptor: (Lorg/springframework/core/type/AnnotationMetadata;)Ljava/lang/Integer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/springframework/core/annotation/Order;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.springframework.core.type.AnnotationMetadata.getAnnotationAttributes:(Ljava/lang/String;)Ljava/util/Map;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
ldc "value"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
goto 3
StackMap locals: java.util.Map
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Integer
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 metadata Lorg/springframework/core/type/AnnotationMetadata;
1 4 1 orderAttributes Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
metadata
public static int getOrder(org.springframework.beans.factory.config.BeanDefinition);
descriptor: (Lorg/springframework/beans/factory/config/BeanDefinition;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic org.springframework.context.annotation.ConfigurationClassUtils.ORDER_ATTRIBUTE:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokevirtual java.lang.Integer.intValue:()I
goto 3
StackMap locals: java.lang.Integer
StackMap stack:
2: ldc 2147483647
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
1 4 1 order Ljava/lang/Integer;
MethodParameters:
Name Flags
beanDef
}
SourceFile: "ConfigurationClassUtils.java"