class org.springframework.boot.context.properties.bind.ArrayBinder extends org.springframework.boot.context.properties.bind.IndexedElementsBinder<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.boot.context.properties.bind.ArrayBinder
super_class: org.springframework.boot.context.properties.bind.IndexedElementsBinder
{
void <init>(org.springframework.boot.context.properties.bind.Binder$Context);
descriptor: (Lorg/springframework/boot/context/properties/bind/Binder$Context;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.springframework.boot.context.properties.bind.ArrayBinder this
start local 1 // org.springframework.boot.context.properties.bind.Binder$Context context
0: .line 37
aload 0 /* this */
aload 1 /* context */
invokespecial org.springframework.boot.context.properties.bind.IndexedElementsBinder.<init>:(Lorg/springframework/boot/context/properties/bind/Binder$Context;)V
1: .line 38
return
end local 1 // org.springframework.boot.context.properties.bind.Binder$Context context
end local 0 // org.springframework.boot.context.properties.bind.ArrayBinder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/boot/context/properties/bind/ArrayBinder;
0 2 1 context Lorg/springframework/boot/context/properties/bind/Binder$Context;
MethodParameters:
Name Flags
context
protected bindAggregate(org.springframework.boot.context.properties.source.ConfigurationPropertyName, org.springframework.boot.context.properties.bind.Bindable<?>, org.springframework.boot.context.properties.bind.AggregateElementBinder);
descriptor: (Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/bind/AggregateElementBinder;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=10, args_size=4
start local 0 // org.springframework.boot.context.properties.bind.ArrayBinder this
start local 1 // org.springframework.boot.context.properties.source.ConfigurationPropertyName name
start local 2 // org.springframework.boot.context.properties.bind.Bindable target
start local 3 // org.springframework.boot.context.properties.bind.AggregateElementBinder elementBinder
0: .line 43
new org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier
dup
invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/util/ArrayList.<init>()V (8)
()Ljava/util/Collection;
invokespecial org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier.<init>:(Ljava/util/function/Supplier;)V
astore 4 /* result */
start local 4 // org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier result
1: .line 44
aload 2 /* target */
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getType:()Lorg/springframework/core/ResolvableType;
astore 5 /* aggregateType */
start local 5 // org.springframework.core.ResolvableType aggregateType
2: .line 45
aload 2 /* target */
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getType:()Lorg/springframework/core/ResolvableType;
invokevirtual org.springframework.core.ResolvableType.getComponentType:()Lorg/springframework/core/ResolvableType;
astore 6 /* elementType */
start local 6 // org.springframework.core.ResolvableType elementType
3: .line 46
aload 0 /* this */
aload 1 /* name */
aload 2 /* target */
aload 3 /* elementBinder */
aload 5 /* aggregateType */
aload 6 /* elementType */
aload 4 /* result */
invokevirtual org.springframework.boot.context.properties.bind.ArrayBinder.bindIndexed:(Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/bind/AggregateElementBinder;Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/boot/context/properties/bind/IndexedElementsBinder$IndexedCollectionSupplier;)V
4: .line 47
aload 4 /* result */
invokevirtual org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier.wasSupplied:()Z
ifeq 13
5: .line 48
aload 4 /* result */
invokevirtual org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier.get:()Ljava/lang/Object;
checkcast java.util.List
astore 7 /* list */
start local 7 // java.util.List list
6: .line 49
aload 6 /* elementType */
invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
aload 7 /* list */
invokeinterface java.util.List.size:()I
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 8 /* array */
start local 8 // java.lang.Object array
7: .line 50
iconst_0
istore 9 /* i */
start local 9 // int i
8: goto 11
9: .line 51
StackMap locals: org.springframework.boot.context.properties.bind.ArrayBinder org.springframework.boot.context.properties.source.ConfigurationPropertyName org.springframework.boot.context.properties.bind.Bindable org.springframework.boot.context.properties.bind.AggregateElementBinder org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier org.springframework.core.ResolvableType org.springframework.core.ResolvableType java.util.List java.lang.Object int
StackMap stack:
aload 8 /* array */
iload 9 /* i */
aload 7 /* list */
iload 9 /* i */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
10: .line 50
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 9 /* i */
aload 7 /* list */
invokeinterface java.util.List.size:()I
if_icmplt 9
end local 9 // int i
12: .line 53
aload 8 /* array */
areturn
end local 8 // java.lang.Object array
end local 7 // java.util.List list
13: .line 55
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 // org.springframework.core.ResolvableType elementType
end local 5 // org.springframework.core.ResolvableType aggregateType
end local 4 // org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier result
end local 3 // org.springframework.boot.context.properties.bind.AggregateElementBinder elementBinder
end local 2 // org.springframework.boot.context.properties.bind.Bindable target
end local 1 // org.springframework.boot.context.properties.source.ConfigurationPropertyName name
end local 0 // org.springframework.boot.context.properties.bind.ArrayBinder this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/boot/context/properties/bind/ArrayBinder;
0 14 1 name Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;
0 14 2 target Lorg/springframework/boot/context/properties/bind/Bindable<*>;
0 14 3 elementBinder Lorg/springframework/boot/context/properties/bind/AggregateElementBinder;
1 14 4 result Lorg/springframework/boot/context/properties/bind/IndexedElementsBinder$IndexedCollectionSupplier;
2 14 5 aggregateType Lorg/springframework/core/ResolvableType;
3 14 6 elementType Lorg/springframework/core/ResolvableType;
6 13 7 list Ljava/util/List<Ljava/lang/Object;>;
7 13 8 array Ljava/lang/Object;
8 12 9 i I
Signature: (Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName;Lorg/springframework/boot/context/properties/bind/Bindable<*>;Lorg/springframework/boot/context/properties/bind/AggregateElementBinder;)Ljava/lang/Object;
MethodParameters:
Name Flags
name
target
elementBinder
protected merge(java.util.function.Supplier<java.lang.Object>, );
descriptor: (Ljava/util/function/Supplier;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 // org.springframework.boot.context.properties.bind.ArrayBinder this
start local 1 // java.util.function.Supplier existing
start local 2 // java.lang.Object additional
0: .line 60
aload 2 /* additional */
areturn
end local 2 // java.lang.Object additional
end local 1 // java.util.function.Supplier existing
end local 0 // org.springframework.boot.context.properties.bind.ArrayBinder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/bind/ArrayBinder;
0 1 1 existing Ljava/util/function/Supplier<Ljava/lang/Object;>;
0 1 2 additional Ljava/lang/Object;
Signature: (Ljava/util/function/Supplier<Ljava/lang/Object;>;Ljava/lang/Object;)Ljava/lang/Object;
MethodParameters:
Name Flags
existing
additional
}
Signature: Lorg/springframework/boot/context/properties/bind/IndexedElementsBinder<Ljava/lang/Object;>;
SourceFile: "ArrayBinder.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final Context = org.springframework.boot.context.properties.bind.Binder$Context of org.springframework.boot.context.properties.bind.Binder
protected IndexedCollectionSupplier = org.springframework.boot.context.properties.bind.IndexedElementsBinder$IndexedCollectionSupplier of org.springframework.boot.context.properties.bind.IndexedElementsBinder