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
{
public static final java.lang.String CONFIGURATION_CLASS_FULL;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "full"
public static final java.lang.String CONFIGURATION_CLASS_LITE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lite"
public static final java.lang.String CONFIGURATION_CLASS_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, 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=6, 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 25
end local 3 7: StackMap locals:
StackMap stack:
aload 0
instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
ifeq 16
aload 0
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.hasBeanClass:()Z
ifeq 16
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: ldc Lorg/springframework/beans/factory/config/BeanFactoryPostProcessor;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
10: ldc Lorg/springframework/beans/factory/config/BeanPostProcessor;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
11: ldc Lorg/springframework/aop/framework/AopInfrastructureBean;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
12: ldc Lorg/springframework/context/event/EventListenerFactory;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 14
13: StackMap locals: org.springframework.beans.factory.config.BeanDefinition org.springframework.core.type.classreading.MetadataReaderFactory java.lang.String top java.lang.Class
StackMap stack:
iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 4
invokestatic org.springframework.core.type.AnnotationMetadata.introspect:(Ljava/lang/Class;)Lorg/springframework/core/type/AnnotationMetadata;
astore 3
end local 4 start local 3 15: goto 25
end local 3 16: StackMap locals: org.springframework.beans.factory.config.BeanDefinition org.springframework.core.type.classreading.MetadataReaderFactory java.lang.String
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 17: aload 4
invokeinterface org.springframework.core.type.classreading.MetadataReader.getAnnotationMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
astore 3
end local 4 start local 3 18: goto 25
end local 3 19: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 20: getstatic org.springframework.context.annotation.ConfigurationClassUtils.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 24
21: 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
22: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
23: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
24: 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 25: 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
ldc Lorg/springframework/context/annotation/Configuration;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.springframework.core.type.AnnotationMetadata.getAnnotationAttributes:(Ljava/lang/String;)Ljava/util/Map;
astore 4
start local 4 26: aload 4
ifnull 29
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 4
ldc "proxyBeanMethods"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifne 29
27: 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
28: goto 33
29: StackMap locals: java.util.Map
StackMap stack:
aload 4
ifnonnull 30
aload 3
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isConfigurationCandidate:(Lorg/springframework/core/type/AnnotationMetadata;)Z
ifeq 32
30: StackMap locals:
StackMap stack:
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
31: goto 33
32: StackMap locals:
StackMap stack:
iconst_0
ireturn
33: StackMap locals:
StackMap stack:
aload 3
invokestatic org.springframework.context.annotation.ConfigurationClassUtils.getOrder:(Lorg/springframework/core/type/AnnotationMetadata;)Ljava/lang/Integer;
astore 5
start local 5 34: aload 5
ifnull 36
35: aload 0
getstatic org.springframework.context.annotation.ConfigurationClassUtils.ORDER_ATTRIBUTE:Ljava/lang/String;
aload 5
invokeinterface org.springframework.beans.factory.config.BeanDefinition.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
36: StackMap locals: java.lang.Integer
StackMap stack:
iconst_1
ireturn
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 37 0 beanDef Lorg/springframework/beans/factory/config/BeanDefinition;
0 37 1 metadataReaderFactory Lorg/springframework/core/type/classreading/MetadataReaderFactory;
1 37 2 className Ljava/lang/String;
6 7 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
15 16 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
18 19 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
25 37 3 metadata Lorg/springframework/core/type/AnnotationMetadata;
9 15 4 beanClass Ljava/lang/Class<*>;
17 18 4 metadataReader Lorg/springframework/core/type/classreading/MetadataReader;
20 25 4 ex Ljava/io/IOException;
26 37 4 config Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
34 37 5 order Ljava/lang/Integer;
Exception table:
from to target type
16 18 19 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=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 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"