class org.springframework.beans.PropertyMatches$FieldPropertyMatches extends org.springframework.beans.PropertyMatches
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.beans.PropertyMatches$FieldPropertyMatches
super_class: org.springframework.beans.PropertyMatches
{
public void <init>(java.lang.String, java.lang.Class<?>, );
descriptor: (Ljava/lang/String;Ljava/lang/Class;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
aload 2
iload 3
invokestatic org.springframework.beans.PropertyMatches$FieldPropertyMatches.calculateMatches:(Ljava/lang/String;Ljava/lang/Class;I)[Ljava/lang/String;
invokespecial org.springframework.beans.PropertyMatches.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/PropertyMatches$FieldPropertyMatches;
0 2 1 propertyName Ljava/lang/String;
0 2 2 beanClass Ljava/lang/Class<*>;
0 2 3 maxDistance I
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;I)V
MethodParameters:
Name Flags
propertyName
beanClass
maxDistance
private static java.lang.String[] calculateMatches(java.lang.String, java.lang.Class<?>, int);
descriptor: (Ljava/lang/String;Ljava/lang/Class;I)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
aload 0
iload 2
aload 3
invokedynamic doWith(Ljava/lang/String;ILjava/util/List;)Lorg/springframework/util/ReflectionUtils$FieldCallback;
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/reflect/Field;)V
org/springframework/beans/PropertyMatches$FieldPropertyMatches.lambda$0(Ljava/lang/String;ILjava/util/List;Ljava/lang/reflect/Field;)V (6)
(Ljava/lang/reflect/Field;)V
invokestatic org.springframework.util.ReflectionUtils.doWithFields:(Ljava/lang/Class;Lorg/springframework/util/ReflectionUtils$FieldCallback;)V
2: aload 3
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
3: aload 3
invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
0 4 1 clazz Ljava/lang/Class<*>;
0 4 2 maxDistance I
1 4 3 candidates Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;I)[Ljava/lang/String;
MethodParameters:
Name Flags
name final
clazz
maxDistance final
public java.lang.String buildErrorMessage();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
bipush 80
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 1
ldc "Bean property '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.springframework.beans.PropertyMatches$FieldPropertyMatches.getPropertyName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' has no matching field."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
invokevirtual org.springframework.beans.PropertyMatches$FieldPropertyMatches.getPossibleMatches:()[Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifne 5
3: aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 0
aload 1
invokevirtual org.springframework.beans.PropertyMatches$FieldPropertyMatches.appendHintMessage:(Ljava/lang/StringBuilder;)V
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/PropertyMatches$FieldPropertyMatches;
1 6 1 msg Ljava/lang/StringBuilder;
private static void lambda$0(java.lang.String, int, java.util.List, java.lang.reflect.Field);
descriptor: (Ljava/lang/String;ILjava/util/List;Ljava/lang/reflect/Field;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=5, args_size=4
start local 3 0: aload 3
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
astore 4
start local 4 1: aload 0
aload 4
invokestatic org.springframework.beans.PropertyMatches.calculateStringDistance:(Ljava/lang/String;Ljava/lang/String;)I
iload 1
if_icmpgt 3
2: aload 2
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 3: StackMap locals:
StackMap stack:
return
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 4 3 field Ljava/lang/reflect/Field;
1 3 4 possibleAlternative Ljava/lang/String;
Exceptions:
throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
}
SourceFile: "PropertyMatches.java"
NestHost: org.springframework.beans.PropertyMatches
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private FieldPropertyMatches = org.springframework.beans.PropertyMatches$FieldPropertyMatches of org.springframework.beans.PropertyMatches
public abstract FieldCallback = org.springframework.util.ReflectionUtils$FieldCallback of org.springframework.util.ReflectionUtils