class org.springframework.boot.context.properties.source.SpringConfigurationPropertySource implements org.springframework.boot.context.properties.source.ConfigurationPropertySource
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.boot.context.properties.source.SpringConfigurationPropertySource
super_class: java.lang.Object
{
private static final org.springframework.boot.context.properties.source.PropertyMapper[] DEFAULT_MAPPERS;
descriptor: [Lorg/springframework/boot/context/properties/source/PropertyMapper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.springframework.boot.context.properties.source.PropertyMapper[] SYSTEM_ENVIRONMENT_MAPPERS;
descriptor: [Lorg/springframework/boot/context/properties/source/PropertyMapper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.springframework.core.env.PropertySource<?> propertySource;
descriptor: Lorg/springframework/core/env/PropertySource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/springframework/core/env/PropertySource<*>;
private final org.springframework.boot.context.properties.source.PropertyMapper[] mappers;
descriptor: [Lorg/springframework/boot/context/properties/source/PropertyMapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray org.springframework.boot.context.properties.source.PropertyMapper
dup
iconst_0
getstatic org.springframework.boot.context.properties.source.DefaultPropertyMapper.INSTANCE:Lorg/springframework/boot/context/properties/source/PropertyMapper;
aastore
putstatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.DEFAULT_MAPPERS:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
1: iconst_2
anewarray org.springframework.boot.context.properties.source.PropertyMapper
dup
iconst_0
getstatic org.springframework.boot.context.properties.source.SystemEnvironmentPropertyMapper.INSTANCE:Lorg/springframework/boot/context/properties/source/PropertyMapper;
aastore
dup
iconst_1
2: getstatic org.springframework.boot.context.properties.source.DefaultPropertyMapper.INSTANCE:Lorg/springframework/boot/context/properties/source/PropertyMapper;
aastore
3: putstatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.SYSTEM_ENVIRONMENT_MAPPERS:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
4: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.springframework.core.env.PropertySource<?>, org.springframework.boot.context.properties.source.PropertyMapper[]);
descriptor: (Lorg/springframework/core/env/PropertySource;[Lorg/springframework/boot/context/properties/source/PropertyMapper;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "PropertySource must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
arraylength
ifle 3
iconst_1
goto 4
StackMap locals: org.springframework.boot.context.properties.source.SpringConfigurationPropertySource org.springframework.core.env.PropertySource org.springframework.boot.context.properties.source.PropertyMapper[]
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: ldc "Mappers must contain at least one item"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
5: aload 0
aload 1
putfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.propertySource:Lorg/springframework/core/env/PropertySource;
6: aload 0
aload 2
putfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.mappers:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
0 8 1 propertySource Lorg/springframework/core/env/PropertySource<*>;
0 8 2 mappers [Lorg/springframework/boot/context/properties/source/PropertyMapper;
Signature: (Lorg/springframework/core/env/PropertySource<*>;[Lorg/springframework/boot/context/properties/source/PropertyMapper;)V
MethodParameters:
Name Flags
propertySource
mappers
public org.springframework.boot.context.properties.source.ConfigurationProperty getConfigurationProperty(org.springframework.boot.context.properties.source.ConfigurationPropertyName);
descriptor: (Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;)Lorg/springframework/boot/context/properties/source/ConfigurationProperty;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.mappers:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 15
StackMap locals: org.springframework.boot.context.properties.source.SpringConfigurationPropertySource org.springframework.boot.context.properties.source.ConfigurationPropertyName top int int org.springframework.boot.context.properties.source.PropertyMapper[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
aload 1
invokeinterface org.springframework.boot.context.properties.source.PropertyMapper.map:(Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: org.springframework.boot.context.properties.source.SpringConfigurationPropertySource org.springframework.boot.context.properties.source.ConfigurationPropertyName org.springframework.boot.context.properties.source.PropertyMapper int int org.springframework.boot.context.properties.source.PropertyMapper[] top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 6: aload 0
invokevirtual org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.getPropertySource:()Lorg/springframework/core/env/PropertySource;
aload 6
invokevirtual org.springframework.core.env.PropertySource.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 7: aload 8
ifnull 11
8: aload 0
invokevirtual org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.getPropertySource:()Lorg/springframework/core/env/PropertySource;
aload 6
invokestatic org.springframework.boot.origin.PropertySourceOrigin.get:(Lorg/springframework/core/env/PropertySource;Ljava/lang/String;)Lorg/springframework/boot/origin/Origin;
astore 9
start local 9 9: aload 1
aload 8
aload 9
invokestatic org.springframework.boot.context.properties.source.ConfigurationProperty.of:(Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;Ljava/lang/Object;Lorg/springframework/boot/origin/Origin;)Lorg/springframework/boot/context/properties/source/ConfigurationProperty;
10: areturn
end local 9 end local 8 end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: goto 14
13: StackMap locals: org.springframework.boot.context.properties.source.SpringConfigurationPropertySource org.springframework.boot.context.properties.source.ConfigurationPropertyName org.springframework.boot.context.properties.source.PropertyMapper int int org.springframework.boot.context.properties.source.PropertyMapper[]
StackMap stack: java.lang.Exception
pop
end local 2 14: StackMap locals: org.springframework.boot.context.properties.source.SpringConfigurationPropertySource org.springframework.boot.context.properties.source.ConfigurationPropertyName top int int org.springframework.boot.context.properties.source.PropertyMapper[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
iload 4
if_icmplt 3
16: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
0 17 1 name Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;
4 14 2 mapper Lorg/springframework/boot/context/properties/source/PropertyMapper;
6 11 6 candidate Ljava/lang/String;
7 11 8 value Ljava/lang/Object;
9 11 9 origin Lorg/springframework/boot/origin/Origin;
Exception table:
from to target type
4 10 13 Class java.lang.Exception
11 12 13 Class java.lang.Exception
MethodParameters:
Name Flags
name
public org.springframework.boot.context.properties.source.ConfigurationPropertyState containsDescendantOf(org.springframework.boot.context.properties.source.ConfigurationPropertyName);
descriptor: (Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.getPropertySource:()Lorg/springframework/core/env/PropertySource;
astore 2
start local 2 1: aload 2
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
instanceof java.util.Random
ifeq 3
2: ldc "random"
aload 1
invokestatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.containsDescendantOfForRandom:(Ljava/lang/String;Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
areturn
3: StackMap locals: org.springframework.core.env.PropertySource
StackMap stack:
aload 2
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
instanceof org.springframework.core.env.PropertySource
ifeq 6
4: aload 2
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
checkcast org.springframework.core.env.PropertySource
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
instanceof java.util.Random
ifeq 6
5: aload 2
invokevirtual org.springframework.core.env.PropertySource.getName:()Ljava/lang/String;
aload 1
invokestatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.containsDescendantOfForRandom:(Ljava/lang/String;Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
areturn
6: StackMap locals:
StackMap stack:
getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyState.UNKNOWN:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
0 7 1 name Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;
1 7 2 source Lorg/springframework/core/env/PropertySource<*>;
MethodParameters:
Name Flags
name
private static org.springframework.boot.context.properties.source.ConfigurationPropertyState containsDescendantOfForRandom(java.lang.String, org.springframework.boot.context.properties.source.ConfigurationPropertyName);
descriptor: (Ljava/lang/String;Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName.getNumberOfElements:()I
iconst_1
if_icmple 2
aload 1
iconst_0
getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$Form.DASHED:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Form;
invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName.getElement:(ILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Form;)Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyState.PRESENT:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyState.ABSENT:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyState;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 prefix Ljava/lang/String;
0 3 1 name Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;
MethodParameters:
Name Flags
prefix
name
public java.lang.Object getUnderlyingSource();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.propertySource:Lorg/springframework/core/env/PropertySource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
protected org.springframework.core.env.PropertySource<?> getPropertySource();
descriptor: ()Lorg/springframework/core/env/PropertySource;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.propertySource:Lorg/springframework/core/env/PropertySource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
Signature: ()Lorg/springframework/core/env/PropertySource<*>;
protected final org.springframework.boot.context.properties.source.PropertyMapper[] getMappers();
descriptor: ()[Lorg/springframework/boot/context/properties/source/PropertyMapper;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.mappers:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.propertySource:Lorg/springframework/core/env/PropertySource;
invokevirtual org.springframework.core.env.PropertySource.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
static org.springframework.boot.context.properties.source.SpringConfigurationPropertySource from(org.springframework.core.env.PropertySource<?>);
descriptor: (Lorg/springframework/core/env/PropertySource;)Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ldc "Source must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokestatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.getPropertyMappers:(Lorg/springframework/core/env/PropertySource;)[Lorg/springframework/boot/context/properties/source/PropertyMapper;
astore 1
start local 1 2: aload 0
invokestatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.isFullEnumerable:(Lorg/springframework/core/env/PropertySource;)Z
ifeq 4
3: new org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource
dup
aload 0
checkcast org.springframework.core.env.EnumerablePropertySource
aload 1
invokespecial org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.<init>:(Lorg/springframework/core/env/EnumerablePropertySource;[Lorg/springframework/boot/context/properties/source/PropertyMapper;)V
areturn
4: StackMap locals: org.springframework.boot.context.properties.source.PropertyMapper[]
StackMap stack:
new org.springframework.boot.context.properties.source.SpringConfigurationPropertySource
dup
aload 0
aload 1
invokespecial org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.<init>:(Lorg/springframework/core/env/PropertySource;[Lorg/springframework/boot/context/properties/source/PropertyMapper;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 source Lorg/springframework/core/env/PropertySource<*>;
2 5 1 mappers [Lorg/springframework/boot/context/properties/source/PropertyMapper;
Signature: (Lorg/springframework/core/env/PropertySource<*>;)Lorg/springframework/boot/context/properties/source/SpringConfigurationPropertySource;
MethodParameters:
Name Flags
source
private static org.springframework.boot.context.properties.source.PropertyMapper[] getPropertyMappers(org.springframework.core.env.PropertySource<?>);
descriptor: (Lorg/springframework/core/env/PropertySource;)[Lorg/springframework/boot/context/properties/source/PropertyMapper;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.springframework.core.env.SystemEnvironmentPropertySource
ifeq 2
aload 0
invokestatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.hasSystemEnvironmentName:(Lorg/springframework/core/env/PropertySource;)Z
ifeq 2
1: getstatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.SYSTEM_ENVIRONMENT_MAPPERS:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.DEFAULT_MAPPERS:[Lorg/springframework/boot/context/properties/source/PropertyMapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 source Lorg/springframework/core/env/PropertySource<*>;
Signature: (Lorg/springframework/core/env/PropertySource<*>;)[Lorg/springframework/boot/context/properties/source/PropertyMapper;
MethodParameters:
Name Flags
source
private static boolean hasSystemEnvironmentName(org.springframework.core.env.PropertySource<?>);
descriptor: (Lorg/springframework/core/env/PropertySource;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.env.PropertySource.getName:()Ljava/lang/String;
astore 1
start local 1 1: ldc "systemEnvironment"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 1
ldc "-systemEnvironment"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
3: iconst_0
ireturn
StackMap locals: java.lang.String
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 source Lorg/springframework/core/env/PropertySource<*>;
1 5 1 name Ljava/lang/String;
Signature: (Lorg/springframework/core/env/PropertySource<*>;)Z
MethodParameters:
Name Flags
source
private static boolean isFullEnumerable(org.springframework.core.env.PropertySource<?>);
descriptor: (Lorg/springframework/core/env/PropertySource;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.boot.context.properties.source.SpringConfigurationPropertySource.getRootSource:(Lorg/springframework/core/env/PropertySource;)Lorg/springframework/core/env/PropertySource;
astore 1
start local 1 1: aload 1
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
instanceof java.util.Map
ifeq 6
2: aload 1
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.size:()I
pop
3: goto 6
4: StackMap locals: org.springframework.core.env.PropertySource org.springframework.core.env.PropertySource
StackMap stack: java.lang.UnsupportedOperationException
pop
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof org.springframework.core.env.EnumerablePropertySource
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 source Lorg/springframework/core/env/PropertySource<*>;
1 7 1 rootSource Lorg/springframework/core/env/PropertySource<*>;
Exception table:
from to target type
2 3 4 Class java.lang.UnsupportedOperationException
Signature: (Lorg/springframework/core/env/PropertySource<*>;)Z
MethodParameters:
Name Flags
source
private static org.springframework.core.env.PropertySource<?> getRootSource(org.springframework.core.env.PropertySource<?>);
descriptor: (Lorg/springframework/core/env/PropertySource;)Lorg/springframework/core/env/PropertySource;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
checkcast org.springframework.core.env.PropertySource
astore 0
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
ifnull 3
aload 0
invokevirtual org.springframework.core.env.PropertySource.getSource:()Ljava/lang/Object;
instanceof org.springframework.core.env.PropertySource
ifne 1
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 source Lorg/springframework/core/env/PropertySource<*>;
Signature: (Lorg/springframework/core/env/PropertySource<*>;)Lorg/springframework/core/env/PropertySource<*>;
MethodParameters:
Name Flags
source
}
SourceFile: "SpringConfigurationPropertySource.java"
InnerClasses:
public final Form = org.springframework.boot.context.properties.source.ConfigurationPropertyName$Form of org.springframework.boot.context.properties.source.ConfigurationPropertyName