public class org.springframework.context.annotation.ComponentScanBeanDefinitionParser implements org.springframework.beans.factory.xml.BeanDefinitionParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.context.annotation.ComponentScanBeanDefinitionParser
super_class: java.lang.Object
{
private static final java.lang.String BASE_PACKAGE_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "base-package"
private static final java.lang.String RESOURCE_PATTERN_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "resource-pattern"
private static final java.lang.String USE_DEFAULT_FILTERS_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "use-default-filters"
private static final java.lang.String ANNOTATION_CONFIG_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "annotation-config"
private static final java.lang.String NAME_GENERATOR_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "name-generator"
private static final java.lang.String SCOPE_RESOLVER_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "scope-resolver"
private static final java.lang.String SCOPED_PROXY_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "scoped-proxy"
private static final java.lang.String EXCLUDE_FILTER_ELEMENT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "exclude-filter"
private static final java.lang.String INCLUDE_FILTER_ELEMENT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "include-filter"
private static final java.lang.String FILTER_TYPE_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "type"
private static final java.lang.String FILTER_EXPRESSION_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "expression"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/ComponentScanBeanDefinitionParser;
public org.springframework.beans.factory.config.BeanDefinition parse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext);
descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/xml/ParserContext;)Lorg/springframework/beans/factory/config/BeanDefinition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "base-package"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment:()Lorg/springframework/core/env/Environment;
aload 3
invokeinterface org.springframework.core.env.Environment.resolvePlaceholders:(Ljava/lang/String;)Ljava/lang/String;
astore 3
2: aload 3
3: ldc ",; \t\n"
4: invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 5: aload 0
aload 2
aload 1
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.configureScanner:(Lorg/springframework/beans/factory/xml/ParserContext;Lorg/w3c/dom/Element;)Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
astore 5
start local 5 6: aload 5
aload 4
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan:([Ljava/lang/String;)Ljava/util/Set;
astore 6
start local 6 7: aload 0
aload 2
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
aload 6
aload 1
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.registerComponents:(Lorg/springframework/beans/factory/xml/XmlReaderContext;Ljava/util/Set;Lorg/w3c/dom/Element;)V
8: aconst_null
areturn
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 9 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 9 1 element Lorg/w3c/dom/Element;
0 9 2 parserContext Lorg/springframework/beans/factory/xml/ParserContext;
1 9 3 basePackage Ljava/lang/String;
5 9 4 basePackages [Ljava/lang/String;
6 9 5 scanner Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
7 9 6 beanDefinitions Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
element
parserContext
protected org.springframework.context.annotation.ClassPathBeanDefinitionScanner configureScanner(org.springframework.beans.factory.xml.ParserContext, org.w3c.dom.Element);
descriptor: (Lorg/springframework/beans/factory/xml/ParserContext;Lorg/w3c/dom/Element;)Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
istore 3
start local 3 1: aload 2
ldc "use-default-filters"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 3
2: aload 2
ldc "use-default-filters"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 3
3: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
iload 3
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.createScanner:(Lorg/springframework/beans/factory/xml/XmlReaderContext;Z)Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
astore 4
start local 4 4: aload 4
aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.getDelegate:()Lorg/springframework/beans/factory/xml/BeanDefinitionParserDelegate;
invokevirtual org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.getBeanDefinitionDefaults:()Lorg/springframework/beans/factory/support/BeanDefinitionDefaults;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setBeanDefinitionDefaults:(Lorg/springframework/beans/factory/support/BeanDefinitionDefaults;)V
5: aload 4
aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.getDelegate:()Lorg/springframework/beans/factory/xml/BeanDefinitionParserDelegate;
invokevirtual org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.getAutowireCandidatePatterns:()[Ljava/lang/String;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setAutowireCandidatePatterns:([Ljava/lang/String;)V
6: aload 2
ldc "resource-pattern"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 8
7: aload 4
aload 2
ldc "resource-pattern"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setResourcePattern:(Ljava/lang/String;)V
8: StackMap locals: org.springframework.context.annotation.ClassPathBeanDefinitionScanner
StackMap stack:
aload 0
aload 2
aload 4
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parseBeanNameGenerator:(Lorg/w3c/dom/Element;Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;)V
9: goto 12
10: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 11: aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
aload 5
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 1
aload 2
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 12: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 4
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parseScope:(Lorg/w3c/dom/Element;Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;)V
13: goto 16
14: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 15: aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
aload 5
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 1
aload 2
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 16: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 4
aload 1
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parseTypeFilters:(Lorg/w3c/dom/Element;Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;Lorg/springframework/beans/factory/xml/ParserContext;)V
17: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 18 1 parserContext Lorg/springframework/beans/factory/xml/ParserContext;
0 18 2 element Lorg/w3c/dom/Element;
1 18 3 useDefaultFilters Z
4 18 4 scanner Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
11 12 5 ex Ljava/lang/Exception;
15 16 5 ex Ljava/lang/Exception;
Exception table:
from to target type
8 9 10 Class java.lang.Exception
12 13 14 Class java.lang.Exception
MethodParameters:
Name Flags
parserContext
element
protected org.springframework.context.annotation.ClassPathBeanDefinitionScanner createScanner(org.springframework.beans.factory.xml.XmlReaderContext, boolean);
descriptor: (Lorg/springframework/beans/factory/xml/XmlReaderContext;Z)Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.springframework.context.annotation.ClassPathBeanDefinitionScanner
dup
aload 1
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.getRegistry:()Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
iload 2
1: aload 1
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment:()Lorg/springframework/core/env/Environment;
aload 1
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
2: invokespecial org.springframework.context.annotation.ClassPathBeanDefinitionScanner.<init>:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;ZLorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 3 1 readerContext Lorg/springframework/beans/factory/xml/XmlReaderContext;
0 3 2 useDefaultFilters Z
MethodParameters:
Name Flags
readerContext
useDefaultFilters
protected void registerComponents(org.springframework.beans.factory.xml.XmlReaderContext, java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder>, org.w3c.dom.Element);
descriptor: (Lorg/springframework/beans/factory/xml/XmlReaderContext;Ljava/util/Set;Lorg/w3c/dom/Element;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: new org.springframework.beans.factory.parsing.CompositeComponentDefinition
dup
aload 3
invokeinterface org.w3c.dom.Element.getTagName:()Ljava/lang/String;
aload 4
invokespecial org.springframework.beans.factory.parsing.CompositeComponentDefinition.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 5
start local 5 2: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 5
StackMap locals: org.springframework.context.annotation.ComponentScanBeanDefinitionParser org.springframework.beans.factory.xml.XmlReaderContext java.util.Set org.w3c.dom.Element java.lang.Object org.springframework.beans.factory.parsing.CompositeComponentDefinition top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanDefinitionHolder
astore 6
start local 6 4: aload 5
new org.springframework.beans.factory.parsing.BeanComponentDefinition
dup
aload 6
invokespecial org.springframework.beans.factory.parsing.BeanComponentDefinition.<init>:(Lorg/springframework/beans/factory/config/BeanDefinitionHolder;)V
invokevirtual org.springframework.beans.factory.parsing.CompositeComponentDefinition.addNestedComponent:(Lorg/springframework/beans/factory/parsing/ComponentDefinition;)V
end local 6 5: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: iconst_1
istore 6
start local 6 7: aload 3
ldc "annotation-config"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 9
8: aload 3
ldc "annotation-config"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 6
9: StackMap locals: org.springframework.context.annotation.ComponentScanBeanDefinitionParser org.springframework.beans.factory.xml.XmlReaderContext java.util.Set org.w3c.dom.Element java.lang.Object org.springframework.beans.factory.parsing.CompositeComponentDefinition int
StackMap stack:
iload 6
ifeq 16
10: aload 1
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.getRegistry:()Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
aload 4
invokestatic org.springframework.context.annotation.AnnotationConfigUtils.registerAnnotationConfigProcessors:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Ljava/lang/Object;)Ljava/util/Set;
11: astore 7
start local 7 12: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 15
StackMap locals: org.springframework.context.annotation.ComponentScanBeanDefinitionParser org.springframework.beans.factory.xml.XmlReaderContext java.util.Set org.w3c.dom.Element java.lang.Object org.springframework.beans.factory.parsing.CompositeComponentDefinition int java.util.Set top java.util.Iterator
StackMap stack:
13: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanDefinitionHolder
astore 8
start local 8 14: aload 5
new org.springframework.beans.factory.parsing.BeanComponentDefinition
dup
aload 8
invokespecial org.springframework.beans.factory.parsing.BeanComponentDefinition.<init>:(Lorg/springframework/beans/factory/config/BeanDefinitionHolder;)V
invokevirtual org.springframework.beans.factory.parsing.CompositeComponentDefinition.addNestedComponent:(Lorg/springframework/beans/factory/parsing/ComponentDefinition;)V
end local 8 15: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 7 16: StackMap locals: org.springframework.context.annotation.ComponentScanBeanDefinitionParser org.springframework.beans.factory.xml.XmlReaderContext java.util.Set org.w3c.dom.Element java.lang.Object org.springframework.beans.factory.parsing.CompositeComponentDefinition int
StackMap stack:
aload 1
aload 5
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.fireComponentRegistered:(Lorg/springframework/beans/factory/parsing/ComponentDefinition;)V
17: return
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 18 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 18 1 readerContext Lorg/springframework/beans/factory/xml/XmlReaderContext;
0 18 2 beanDefinitions Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
0 18 3 element Lorg/w3c/dom/Element;
1 18 4 source Ljava/lang/Object;
2 18 5 compositeDef Lorg/springframework/beans/factory/parsing/CompositeComponentDefinition;
4 5 6 beanDefHolder Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
7 18 6 annotationConfig Z
12 16 7 processorDefinitions Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
14 15 8 processorDefinition Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
Signature: (Lorg/springframework/beans/factory/xml/XmlReaderContext;Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;Lorg/w3c/dom/Element;)V
MethodParameters:
Name Flags
readerContext
beanDefinitions
element
protected void parseBeanNameGenerator(org.w3c.dom.Element, org.springframework.context.annotation.ClassPathBeanDefinitionScanner);
descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "name-generator"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 6
1: aload 0
2: aload 1
ldc "name-generator"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc Lorg/springframework/beans/factory/support/BeanNameGenerator;
3: aload 2
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
4: invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.instantiateUserDefinedStrategy:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Object;
checkcast org.springframework.beans.factory.support.BeanNameGenerator
astore 3
start local 3 5: aload 2
aload 3
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setBeanNameGenerator:(Lorg/springframework/beans/factory/support/BeanNameGenerator;)V
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 7 1 element Lorg/w3c/dom/Element;
0 7 2 scanner Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
5 6 3 beanNameGenerator Lorg/springframework/beans/factory/support/BeanNameGenerator;
MethodParameters:
Name Flags
element
scanner
protected void parseScope(org.w3c.dom.Element, org.springframework.context.annotation.ClassPathBeanDefinitionScanner);
descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "scope-resolver"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 10
1: aload 1
ldc "scoped-proxy"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "Cannot define both 'scope-resolver' and 'scoped-proxy' on <component-scan> tag"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
6: aload 1
ldc "scope-resolver"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc Lorg/springframework/context/annotation/ScopeMetadataResolver;
7: aload 2
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
8: invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.instantiateUserDefinedStrategy:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Object;
checkcast org.springframework.context.annotation.ScopeMetadataResolver
astore 3
start local 3 9: aload 2
aload 3
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setScopeMetadataResolver:(Lorg/springframework/context/annotation/ScopeMetadataResolver;)V
end local 3 10: StackMap locals:
StackMap stack:
aload 1
ldc "scoped-proxy"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 22
11: aload 1
ldc "scoped-proxy"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 12: ldc "targetClass"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 2
getstatic org.springframework.context.annotation.ScopedProxyMode.TARGET_CLASS:Lorg/springframework/context/annotation/ScopedProxyMode;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setScopedProxyMode:(Lorg/springframework/context/annotation/ScopedProxyMode;)V
14: goto 22
15: StackMap locals: java.lang.String
StackMap stack:
ldc "interfaces"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: aload 2
getstatic org.springframework.context.annotation.ScopedProxyMode.INTERFACES:Lorg/springframework/context/annotation/ScopedProxyMode;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setScopedProxyMode:(Lorg/springframework/context/annotation/ScopedProxyMode;)V
17: goto 22
18: StackMap locals:
StackMap stack:
ldc "no"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 2
getstatic org.springframework.context.annotation.ScopedProxyMode.NO:Lorg/springframework/context/annotation/ScopedProxyMode;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setScopedProxyMode:(Lorg/springframework/context/annotation/ScopedProxyMode;)V
20: goto 22
21: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "scoped-proxy only supports 'no', 'interfaces' and 'targetClass'"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 23 1 element Lorg/w3c/dom/Element;
0 23 2 scanner Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
9 10 3 scopeMetadataResolver Lorg/springframework/context/annotation/ScopeMetadataResolver;
12 22 3 mode Ljava/lang/String;
MethodParameters:
Name Flags
element
scanner
protected void parseTypeFilters(org.w3c.dom.Element, org.springframework.context.annotation.ClassPathBeanDefinitionScanner, org.springframework.beans.factory.xml.ParserContext);
descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;Lorg/springframework/beans/factory/xml/ParserContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
astore 4
start local 4 1: aload 1
invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 25
4: StackMap locals: java.lang.ClassLoader org.w3c.dom.NodeList int
StackMap stack:
aload 5
iload 6
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 7
start local 7 5: aload 7
invokeinterface org.w3c.dom.Node.getNodeType:()S
iconst_1
if_icmpne 24
6: aload 3
invokevirtual org.springframework.beans.factory.xml.ParserContext.getDelegate:()Lorg/springframework/beans/factory/xml/BeanDefinitionParserDelegate;
aload 7
invokevirtual org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.getLocalName:(Lorg/w3c/dom/Node;)Ljava/lang/String;
astore 8
start local 8 7: ldc "include-filter"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: aload 0
aload 7
checkcast org.w3c.dom.Element
aload 4
aload 3
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.createTypeFilter:(Lorg/w3c/dom/Element;Ljava/lang/ClassLoader;Lorg/springframework/beans/factory/xml/ParserContext;)Lorg/springframework/core/type/filter/TypeFilter;
astore 9
start local 9 9: aload 2
aload 9
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.addIncludeFilter:(Lorg/springframework/core/type/filter/TypeFilter;)V
end local 9 10: goto 24
11: StackMap locals: org.w3c.dom.Node java.lang.String
StackMap stack:
ldc "exclude-filter"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
12: aload 0
aload 7
checkcast org.w3c.dom.Element
aload 4
aload 3
invokevirtual org.springframework.context.annotation.ComponentScanBeanDefinitionParser.createTypeFilter:(Lorg/w3c/dom/Element;Ljava/lang/ClassLoader;Lorg/springframework/beans/factory/xml/ParserContext;)Lorg/springframework/core/type/filter/TypeFilter;
astore 9
start local 9 13: aload 2
aload 9
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.addExcludeFilter:(Lorg/springframework/core/type/filter/TypeFilter;)V
end local 9 14: goto 24
15: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 9
start local 9 16: aload 3
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
17: new java.lang.StringBuilder
dup
ldc "Ignoring non-present type filter class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
18: invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.warning:(Ljava/lang/String;Ljava/lang/Object;)V
end local 9 19: goto 24
20: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 21: aload 3
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
22: aload 9
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 3
aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
aload 9
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
23: invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 9 end local 8 end local 7 24: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
25: iload 6
aload 5
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 4
end local 6 26: return
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 27 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 27 1 element Lorg/w3c/dom/Element;
0 27 2 scanner Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
0 27 3 parserContext Lorg/springframework/beans/factory/xml/ParserContext;
1 27 4 classLoader Ljava/lang/ClassLoader;
2 27 5 nodeList Lorg/w3c/dom/NodeList;
3 26 6 i I
5 24 7 node Lorg/w3c/dom/Node;
7 24 8 localName Ljava/lang/String;
9 10 9 typeFilter Lorg/springframework/core/type/filter/TypeFilter;
13 14 9 typeFilter Lorg/springframework/core/type/filter/TypeFilter;
16 19 9 ex Ljava/lang/ClassNotFoundException;
21 24 9 ex Ljava/lang/Exception;
Exception table:
from to target type
7 14 15 Class java.lang.ClassNotFoundException
7 14 20 Class java.lang.Exception
MethodParameters:
Name Flags
element
scanner
parserContext
protected org.springframework.core.type.filter.TypeFilter createTypeFilter(org.w3c.dom.Element, java.lang.ClassLoader, org.springframework.beans.factory.xml.ParserContext);
descriptor: (Lorg/w3c/dom/Element;Ljava/lang/ClassLoader;Lorg/springframework/beans/factory/xml/ParserContext;)Lorg/springframework/core/type/filter/TypeFilter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "type"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 1: aload 1
ldc "expression"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 2: aload 3
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment:()Lorg/springframework/core/env/Environment;
aload 5
invokeinterface org.springframework.core.env.Environment.resolvePlaceholders:(Ljava/lang/String;)Ljava/lang/String;
astore 5
3: ldc "annotation"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new org.springframework.core.type.filter.AnnotationTypeFilter
dup
aload 5
aload 2
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
invokespecial org.springframework.core.type.filter.AnnotationTypeFilter.<init>:(Ljava/lang/Class;)V
areturn
5: StackMap locals: java.lang.String java.lang.String
StackMap stack:
ldc "assignable"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new org.springframework.core.type.filter.AssignableTypeFilter
dup
aload 5
aload 2
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
invokespecial org.springframework.core.type.filter.AssignableTypeFilter.<init>:(Ljava/lang/Class;)V
areturn
7: StackMap locals:
StackMap stack:
ldc "aspectj"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: new org.springframework.core.type.filter.AspectJTypeFilter
dup
aload 5
aload 2
invokespecial org.springframework.core.type.filter.AspectJTypeFilter.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
areturn
9: StackMap locals:
StackMap stack:
ldc "regex"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: new org.springframework.core.type.filter.RegexPatternTypeFilter
dup
aload 5
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
invokespecial org.springframework.core.type.filter.RegexPatternTypeFilter.<init>:(Ljava/util/regex/Pattern;)V
areturn
11: StackMap locals:
StackMap stack:
ldc "custom"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
12: aload 5
aload 2
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 6
start local 6 13: ldc Lorg/springframework/core/type/filter/TypeFilter;
aload 6
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 17
14: new java.lang.IllegalArgumentException
dup
15: new java.lang.StringBuilder
dup
ldc "Class is not assignable to ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/springframework/core/type/filter/TypeFilter;
invokevirtual java.lang.Class.getName:()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 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: java.lang.Class
StackMap stack:
aload 6
invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.core.type.filter.TypeFilter
areturn
end local 6 18: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported filter type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
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 19 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 19 1 element Lorg/w3c/dom/Element;
0 19 2 classLoader Ljava/lang/ClassLoader;
0 19 3 parserContext Lorg/springframework/beans/factory/xml/ParserContext;
1 19 4 filterType Ljava/lang/String;
2 19 5 expression Ljava/lang/String;
13 18 6 filterClass Ljava/lang/Class<*>;
Exceptions:
throws java.lang.ClassNotFoundException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
element
classLoader
parserContext
private instantiateUserDefinedStrategy(java.lang.String, java.lang.Class<?>, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokestatic org.springframework.util.ReflectionUtils.accessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: goto 10
end local 4 2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 5
start local 5 3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] for strategy ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unable to instantiate class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] for strategy ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]: a zero-argument constructor is required"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 10: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 12
11: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Provided class name must be an implementation of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/context/annotation/ComponentScanBeanDefinitionParser;
0 13 1 className Ljava/lang/String;
0 13 2 strategyType Ljava/lang/Class<*>;
0 13 3 classLoader Ljava/lang/ClassLoader;
1 2 4 result Ljava/lang/Object;
10 13 4 result Ljava/lang/Object;
3 6 5 ex Ljava/lang/ClassNotFoundException;
7 10 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
0 1 6 Class java.lang.Throwable
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
className
strategyType
classLoader
}
SourceFile: "ComponentScanBeanDefinitionParser.java"