class org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider implements org.springframework.boot.context.properties.bind.BindConstructorProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/bind/DefaultBindConstructorProvider;
public java.lang.reflect.Constructor<?> getBindConstructor(org.springframework.boot.context.properties.bind.Bindable<?>, boolean);
descriptor: (Lorg/springframework/boot/context/properties/bind/Bindable;Z)Ljava/lang/reflect/Constructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getType:()Lorg/springframework/core/ResolvableType;
invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
astore 3
start local 3 1: aload 1
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getValue:()Ljava/util/function/Supplier;
ifnonnull 2
aload 3
ifnonnull 3
2: StackMap locals: java.lang.Class
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
invokestatic org.springframework.core.KotlinDetector.isKotlinPresent:()Z
ifeq 5
aload 3
invokestatic org.springframework.core.KotlinDetector.isKotlinType:(Ljava/lang/Class;)Z
ifeq 5
4: aload 0
aload 3
invokevirtual org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider.getDeducedKotlinConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
areturn
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
astore 4
start local 4 6: aload 4
arraylength
iconst_1
if_icmpne 8
aload 4
iconst_0
aaload
invokevirtual java.lang.reflect.Constructor.getParameterCount:()I
ifle 8
7: aload 4
iconst_0
aaload
areturn
8: StackMap locals: java.lang.reflect.Constructor[]
StackMap stack:
aconst_null
astore 5
start local 5 9: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 16
StackMap locals: org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider org.springframework.boot.context.properties.bind.Bindable int java.lang.Class java.lang.reflect.Constructor[] java.lang.reflect.Constructor top int int java.lang.reflect.Constructor[]
StackMap stack:
10: aload 9
iload 7
aaload
astore 6
start local 6 11: aload 6
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
ifne 15
12: aload 5
ifnull 14
13: aconst_null
areturn
14: StackMap locals: org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider org.springframework.boot.context.properties.bind.Bindable int java.lang.Class java.lang.reflect.Constructor[] java.lang.reflect.Constructor java.lang.reflect.Constructor int int java.lang.reflect.Constructor[]
StackMap stack:
aload 6
astore 5
end local 6 15: StackMap locals: org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider org.springframework.boot.context.properties.bind.Bindable int java.lang.Class java.lang.reflect.Constructor[] java.lang.reflect.Constructor top int int java.lang.reflect.Constructor[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 8
if_icmplt 10
17: aload 5
ifnull 19
aload 5
invokevirtual java.lang.reflect.Constructor.getParameterCount:()I
ifle 19
18: aload 5
areturn
19: StackMap locals: org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider org.springframework.boot.context.properties.bind.Bindable int java.lang.Class java.lang.reflect.Constructor[] java.lang.reflect.Constructor
StackMap stack:
aconst_null
areturn
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 20 0 this Lorg/springframework/boot/context/properties/bind/DefaultBindConstructorProvider;
0 20 1 bindable Lorg/springframework/boot/context/properties/bind/Bindable<*>;
0 20 2 isNestedConstructorBinding Z
1 20 3 type Ljava/lang/Class<*>;
6 20 4 constructors [Ljava/lang/reflect/Constructor;
9 20 5 constructor Ljava/lang/reflect/Constructor<*>;
11 15 6 candidate Ljava/lang/reflect/Constructor<*>;
Signature: (Lorg/springframework/boot/context/properties/bind/Bindable<*>;Z)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
bindable
isNestedConstructorBinding
private java.lang.reflect.Constructor<?> getDeducedKotlinConstructor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.beans.BeanUtils.findPrimaryConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
invokevirtual java.lang.reflect.Constructor.getParameterCount:()I
ifle 3
2: aload 2
areturn
3: StackMap locals: java.lang.reflect.Constructor
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/boot/context/properties/bind/DefaultBindConstructorProvider;
0 4 1 type Ljava/lang/Class<*>;
1 4 2 primaryConstructor Ljava/lang/reflect/Constructor<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
type
}
SourceFile: "DefaultBindConstructorProvider.java"