class org.springframework.context.annotation.ComponentScanAnnotationParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.context.annotation.ComponentScanAnnotationParser
super_class: java.lang.Object
{
private final org.springframework.core.env.Environment environment;
descriptor: Lorg/springframework/core/env/Environment;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.core.io.ResourceLoader resourceLoader;
descriptor: Lorg/springframework/core/io/ResourceLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.beans.factory.support.BeanNameGenerator beanNameGenerator;
descriptor: Lorg/springframework/beans/factory/support/BeanNameGenerator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.beans.factory.support.BeanDefinitionRegistry registry;
descriptor: Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$springframework$context$annotation$FilterType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(org.springframework.core.env.Environment, org.springframework.core.io.ResourceLoader, org.springframework.beans.factory.support.BeanNameGenerator, org.springframework.beans.factory.support.BeanDefinitionRegistry);
descriptor: (Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanNameGenerator;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.context.annotation.ComponentScanAnnotationParser.environment:Lorg/springframework/core/env/Environment;
2: aload 0
aload 2
putfield org.springframework.context.annotation.ComponentScanAnnotationParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
3: aload 0
aload 3
putfield org.springframework.context.annotation.ComponentScanAnnotationParser.beanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
4: aload 0
aload 4
putfield org.springframework.context.annotation.ComponentScanAnnotationParser.registry:Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/context/annotation/ComponentScanAnnotationParser;
0 6 1 environment Lorg/springframework/core/env/Environment;
0 6 2 resourceLoader Lorg/springframework/core/io/ResourceLoader;
0 6 3 beanNameGenerator Lorg/springframework/beans/factory/support/BeanNameGenerator;
0 6 4 registry Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
MethodParameters:
Name Flags
environment
resourceLoader
beanNameGenerator
registry
public java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder> parse(org.springframework.core.annotation.AnnotationAttributes, java.lang.String);
descriptor: (Lorg/springframework/core/annotation/AnnotationAttributes;Ljava/lang/String;)Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=15, args_size=3
start local 0 start local 1 start local 2 0: new org.springframework.context.annotation.ClassPathBeanDefinitionScanner
dup
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.registry:Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
1: aload 1
ldc "useDefaultFilters"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getBoolean:(Ljava/lang/String;)Z
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.environment:Lorg/springframework/core/env/Environment;
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.resourceLoader: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
astore 3
start local 3 3: aload 1
ldc "nameGenerator"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 4: ldc Lorg/springframework/beans/factory/support/BeanNameGenerator;
aload 4
if_acmpne 5
iconst_1
goto 6
StackMap locals: org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: aload 3
iload 5
ifeq 8
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.beanNameGenerator:Lorg/springframework/beans/factory/support/BeanNameGenerator;
goto 9
8: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int
StackMap stack: org.springframework.context.annotation.ClassPathBeanDefinitionScanner
aload 4
invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.beans.factory.support.BeanNameGenerator
9: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int
StackMap stack: org.springframework.context.annotation.ClassPathBeanDefinitionScanner org.springframework.beans.factory.support.BeanNameGenerator
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setBeanNameGenerator:(Lorg/springframework/beans/factory/support/BeanNameGenerator;)V
10: aload 1
ldc "scopedProxy"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getEnum:(Ljava/lang/String;)Ljava/lang/Enum;
checkcast org.springframework.context.annotation.ScopedProxyMode
astore 6
start local 6 11: aload 6
getstatic org.springframework.context.annotation.ScopedProxyMode.DEFAULT:Lorg/springframework/context/annotation/ScopedProxyMode;
if_acmpeq 14
12: aload 3
aload 6
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setScopedProxyMode:(Lorg/springframework/context/annotation/ScopedProxyMode;)V
13: goto 16
14: StackMap locals: org.springframework.context.annotation.ScopedProxyMode
StackMap stack:
aload 1
ldc "scopeResolver"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 7
start local 7 15: aload 3
aload 7
invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.context.annotation.ScopeMetadataResolver
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setScopeMetadataResolver:(Lorg/springframework/context/annotation/ScopeMetadataResolver;)V
end local 7 16: StackMap locals:
StackMap stack:
aload 3
aload 1
ldc "resourcePattern"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.setResourcePattern:(Ljava/lang/String;)V
17: aload 1
ldc "includeFilters"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getAnnotationArray:(Ljava/lang/String;)[Lorg/springframework/core/annotation/AnnotationAttributes;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 24
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode top int int org.springframework.core.annotation.AnnotationAttributes[]
StackMap stack:
18: aload 10
iload 8
aaload
astore 7
start local 7 19: aload 0
aload 7
invokevirtual org.springframework.context.annotation.ComponentScanAnnotationParser.typeFiltersFor:(Lorg/springframework/core/annotation/AnnotationAttributes;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 22
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode org.springframework.core.annotation.AnnotationAttributes int int org.springframework.core.annotation.AnnotationAttributes[] top java.util.Iterator
StackMap stack:
20: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.core.type.filter.TypeFilter
astore 11
start local 11 21: aload 3
aload 11
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.addIncludeFilter:(Lorg/springframework/core/type/filter/TypeFilter;)V
end local 11 22: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 7 23: iinc 8 1
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode top int int org.springframework.core.annotation.AnnotationAttributes[]
StackMap stack:
24: iload 8
iload 9
if_icmplt 18
25: aload 1
ldc "excludeFilters"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getAnnotationArray:(Ljava/lang/String;)[Lorg/springframework/core/annotation/AnnotationAttributes;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 32
StackMap locals:
StackMap stack:
26: aload 10
iload 8
aaload
astore 7
start local 7 27: aload 0
aload 7
invokevirtual org.springframework.context.annotation.ComponentScanAnnotationParser.typeFiltersFor:(Lorg/springframework/core/annotation/AnnotationAttributes;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 30
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode org.springframework.core.annotation.AnnotationAttributes int int org.springframework.core.annotation.AnnotationAttributes[] top java.util.Iterator
StackMap stack:
28: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.core.type.filter.TypeFilter
astore 11
start local 11 29: aload 3
aload 11
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.addExcludeFilter:(Lorg/springframework/core/type/filter/TypeFilter;)V
end local 11 30: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
end local 7 31: iinc 8 1
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode top int int org.springframework.core.annotation.AnnotationAttributes[]
StackMap stack:
32: iload 8
iload 9
if_icmplt 26
33: aload 1
ldc "lazyInit"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getBoolean:(Ljava/lang/String;)Z
istore 7
start local 7 34: iload 7
ifeq 36
35: aload 3
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.getBeanDefinitionDefaults:()Lorg/springframework/beans/factory/support/BeanDefinitionDefaults;
iconst_1
invokevirtual org.springframework.beans.factory.support.BeanDefinitionDefaults.setLazyInit:(Z)V
36: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode int
StackMap stack:
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 8
start local 8 37: aload 1
ldc "basePackages"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
astore 9
start local 9 38: aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 45
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode int java.util.Set java.lang.String[] top int int java.lang.String[]
StackMap stack:
39: aload 13
iload 11
aaload
astore 10
start local 10 40: aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.environment:Lorg/springframework/core/env/Environment;
aload 10
invokeinterface org.springframework.core.env.Environment.resolvePlaceholders:(Ljava/lang/String;)Ljava/lang/String;
41: ldc ",; \t\n"
42: invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 14
start local 14 43: aload 8
aload 14
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
end local 14 end local 10 44: iinc 11 1
StackMap locals:
StackMap stack:
45: iload 11
iload 12
if_icmplt 39
46: aload 1
ldc "basePackageClasses"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getClassArray:(Ljava/lang/String;)[Ljava/lang/Class;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 50
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode int java.util.Set java.lang.String[] top int int java.lang.Class[]
StackMap stack:
47: aload 13
iload 11
aaload
astore 10
start local 10 48: aload 8
aload 10
invokestatic org.springframework.util.ClassUtils.getPackageName:(Ljava/lang/Class;)Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 10 49: iinc 11 1
StackMap locals:
StackMap stack:
50: iload 11
iload 12
if_icmplt 47
51: aload 8
invokeinterface java.util.Set.isEmpty:()Z
ifeq 53
52: aload 8
aload 2
invokestatic org.springframework.util.ClassUtils.getPackageName:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
53: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.lang.String org.springframework.context.annotation.ClassPathBeanDefinitionScanner java.lang.Class int org.springframework.context.annotation.ScopedProxyMode int java.util.Set java.lang.String[]
StackMap stack:
aload 3
new org.springframework.context.annotation.ComponentScanAnnotationParser$1
dup
aload 0
iconst_0
iconst_0
aload 2
invokespecial org.springframework.context.annotation.ComponentScanAnnotationParser$1.<init>:(Lorg/springframework/context/annotation/ComponentScanAnnotationParser;ZZLjava/lang/String;)V
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.addExcludeFilter:(Lorg/springframework/core/type/filter/TypeFilter;)V
54: aload 3
aload 8
invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
invokevirtual org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan:([Ljava/lang/String;)Ljava/util/Set;
areturn
end local 9 end local 8 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 55 0 this Lorg/springframework/context/annotation/ComponentScanAnnotationParser;
0 55 1 componentScan Lorg/springframework/core/annotation/AnnotationAttributes;
0 55 2 declaringClass Ljava/lang/String;
3 55 3 scanner Lorg/springframework/context/annotation/ClassPathBeanDefinitionScanner;
4 55 4 generatorClass Ljava/lang/Class<+Lorg/springframework/beans/factory/support/BeanNameGenerator;>;
7 55 5 useInheritedGenerator Z
11 55 6 scopedProxyMode Lorg/springframework/context/annotation/ScopedProxyMode;
15 16 7 resolverClass Ljava/lang/Class<+Lorg/springframework/context/annotation/ScopeMetadataResolver;>;
19 23 7 filter Lorg/springframework/core/annotation/AnnotationAttributes;
21 22 11 typeFilter Lorg/springframework/core/type/filter/TypeFilter;
27 31 7 filter Lorg/springframework/core/annotation/AnnotationAttributes;
29 30 11 typeFilter Lorg/springframework/core/type/filter/TypeFilter;
34 55 7 lazyInit Z
37 55 8 basePackages Ljava/util/Set<Ljava/lang/String;>;
38 55 9 basePackagesArray [Ljava/lang/String;
40 44 10 pkg Ljava/lang/String;
43 44 14 tokenized [Ljava/lang/String;
48 49 10 clazz Ljava/lang/Class<*>;
Signature: (Lorg/springframework/core/annotation/AnnotationAttributes;Ljava/lang/String;)Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
MethodParameters:
Name Flags
componentScan
declaringClass final
private java.util.List<org.springframework.core.type.filter.TypeFilter> typeFiltersFor(org.springframework.core.annotation.AnnotationAttributes);
descriptor: (Lorg/springframework/core/annotation/AnnotationAttributes;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, 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
ldc "type"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getEnum:(Ljava/lang/String;)Ljava/lang/Enum;
checkcast org.springframework.context.annotation.FilterType
astore 3
start local 3 2: aload 1
ldc "classes"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getClassArray:(Ljava/lang/String;)[Ljava/lang/Class;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 23
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.util.List org.springframework.context.annotation.FilterType top int int java.lang.Class[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: invokestatic org.springframework.context.annotation.ComponentScanAnnotationParser.$SWITCH_TABLE$org$springframework$context$annotation$FilterType:()[I
aload 3
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 5
2: 11
3: 21
4: 21
5: 13
default: 21
}
5: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.util.List org.springframework.context.annotation.FilterType java.lang.Class int int java.lang.Class[]
StackMap stack:
ldc Ljava/lang/annotation/Annotation;
aload 4
6: ldc "@ComponentScan ANNOTATION type filter requires an annotation type"
7: invokestatic org.springframework.util.Assert.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V
8: aload 4
astore 8
start local 8 9: aload 2
new org.springframework.core.type.filter.AnnotationTypeFilter
dup
aload 8
invokespecial org.springframework.core.type.filter.AnnotationTypeFilter.<init>:(Ljava/lang/Class;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: goto 22
end local 8 11: StackMap locals:
StackMap stack:
aload 2
new org.springframework.core.type.filter.AssignableTypeFilter
dup
aload 4
invokespecial org.springframework.core.type.filter.AssignableTypeFilter.<init>:(Ljava/lang/Class;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: goto 22
13: StackMap locals:
StackMap stack:
ldc Lorg/springframework/core/type/filter/TypeFilter;
aload 4
14: ldc "@ComponentScan CUSTOM type filter requires a TypeFilter implementation"
15: invokestatic org.springframework.util.Assert.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V
16: aload 4
ldc Lorg/springframework/core/type/filter/TypeFilter;
invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.core.type.filter.TypeFilter
astore 9
start local 9 17: aload 9
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.environment:Lorg/springframework/core/env/Environment;
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.registry:Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
18: invokestatic org.springframework.context.annotation.ParserStrategyUtils.invokeAwareMethods:(Ljava/lang/Object;Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
19: aload 2
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: goto 22
end local 9 21: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Filter type not supported with Class value: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
end local 4 22: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.util.List org.springframework.context.annotation.FilterType top int int java.lang.Class[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 6
if_icmplt 3
24: aload 1
ldc "pattern"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 33
StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.util.List org.springframework.context.annotation.FilterType top int int java.lang.String[]
StackMap stack:
25: aload 7
iload 5
aaload
astore 4
start local 4 26: invokestatic org.springframework.context.annotation.ComponentScanAnnotationParser.$SWITCH_TABLE$org$springframework$context$annotation$FilterType:()[I
aload 3
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iaload
tableswitch { // 3 - 4
3: 27
4: 29
default: 31
}
27: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.util.List org.springframework.context.annotation.FilterType java.lang.String int int java.lang.String[]
StackMap stack:
aload 2
new org.springframework.core.type.filter.AspectJTypeFilter
dup
aload 4
aload 0
getfield org.springframework.context.annotation.ComponentScanAnnotationParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
invokespecial org.springframework.core.type.filter.AspectJTypeFilter.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: goto 32
29: StackMap locals:
StackMap stack:
aload 2
new org.springframework.core.type.filter.RegexPatternTypeFilter
dup
aload 4
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
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: goto 32
31: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Filter type not supported with String pattern: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
end local 4 32: StackMap locals: org.springframework.context.annotation.ComponentScanAnnotationParser org.springframework.core.annotation.AnnotationAttributes java.util.List org.springframework.context.annotation.FilterType top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
33: iload 5
iload 6
if_icmplt 25
34: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/springframework/context/annotation/ComponentScanAnnotationParser;
0 35 1 filterAttributes Lorg/springframework/core/annotation/AnnotationAttributes;
1 35 2 typeFilters Ljava/util/List<Lorg/springframework/core/type/filter/TypeFilter;>;
2 35 3 filterType Lorg/springframework/context/annotation/FilterType;
4 22 4 filterClass Ljava/lang/Class<*>;
9 11 8 annotationType Ljava/lang/Class<Ljava/lang/annotation/Annotation;>;
17 21 9 filter Lorg/springframework/core/type/filter/TypeFilter;
26 32 4 expression Ljava/lang/String;
Signature: (Lorg/springframework/core/annotation/AnnotationAttributes;)Ljava/util/List<Lorg/springframework/core/type/filter/TypeFilter;>;
MethodParameters:
Name Flags
filterAttributes
static int[] $SWITCH_TABLE$org$springframework$context$annotation$FilterType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.springframework.context.annotation.ComponentScanAnnotationParser.$SWITCH_TABLE$org$springframework$context$annotation$FilterType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.springframework.context.annotation.FilterType.values:()[Lorg/springframework/context/annotation/FilterType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.springframework.context.annotation.FilterType.ANNOTATION:Lorg/springframework/context/annotation/FilterType;
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.springframework.context.annotation.FilterType.ASPECTJ:Lorg/springframework/context/annotation/FilterType;
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.springframework.context.annotation.FilterType.ASSIGNABLE_TYPE:Lorg/springframework/context/annotation/FilterType;
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.springframework.context.annotation.FilterType.CUSTOM:Lorg/springframework/context/annotation/FilterType;
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.springframework.context.annotation.FilterType.REGEX:Lorg/springframework/context/annotation/FilterType;
invokevirtual org.springframework.context.annotation.FilterType.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.springframework.context.annotation.ComponentScanAnnotationParser.$SWITCH_TABLE$org$springframework$context$annotation$FilterType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "ComponentScanAnnotationParser.java"
NestMembers:
org.springframework.context.annotation.ComponentScanAnnotationParser$1
InnerClasses:
org.springframework.context.annotation.ComponentScanAnnotationParser$1