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 // org.springframework.beans.PropertyMatches$FieldPropertyMatches this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Class beanClass
        start local 3 // int maxDistance
         0: .line 235
            aload 0 /* this */
            aload 1 /* propertyName */
            aload 1 /* propertyName */
            aload 2 /* beanClass */
            iload 3 /* maxDistance */
            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: .line 236
            return
        end local 3 // int maxDistance
        end local 2 // java.lang.Class beanClass
        end local 1 // java.lang.String propertyName
        end local 0 // org.springframework.beans.PropertyMatches$FieldPropertyMatches this
      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 // java.lang.String name
        start local 1 // java.lang.Class clazz
        start local 2 // int maxDistance
         0: .line 239
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* candidates */
        start local 3 // java.util.List candidates
         1: .line 240
            aload 1 /* clazz */
            aload 0 /* name */
            iload 2 /* maxDistance */
            aload 3 /* candidates */
            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: .line 246
            aload 3 /* candidates */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
         3: .line 247
            aload 3 /* candidates */
            invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            areturn
        end local 3 // java.util.List candidates
        end local 2 // int maxDistance
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String name
      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 // org.springframework.beans.PropertyMatches$FieldPropertyMatches this
         0: .line 252
            new java.lang.StringBuilder
            dup
            bipush 80
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* msg */
        start local 1 // java.lang.StringBuilder msg
         1: .line 253
            aload 1 /* msg */
            ldc "Bean property '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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: .line 254
            aload 0 /* this */
            invokevirtual org.springframework.beans.PropertyMatches$FieldPropertyMatches.getPossibleMatches:()[Ljava/lang/String;
            invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
            ifne 5
         3: .line 255
            aload 1 /* msg */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 256
            aload 0 /* this */
            aload 1 /* msg */
            invokevirtual org.springframework.beans.PropertyMatches$FieldPropertyMatches.appendHintMessage:(Ljava/lang/StringBuilder;)V
         5: .line 258
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* msg */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder msg
        end local 0 // org.springframework.beans.PropertyMatches$FieldPropertyMatches this
      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 // java.lang.reflect.Field field
         0: .line 241
            aload 3 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            astore 4 /* possibleAlternative */
        start local 4 // java.lang.String possibleAlternative
         1: .line 242
            aload 0
            aload 4 /* possibleAlternative */
            invokestatic org.springframework.beans.PropertyMatches.calculateStringDistance:(Ljava/lang/String;Ljava/lang/String;)I
            iload 1
            if_icmpgt 3
         2: .line 243
            aload 2
            aload 4 /* possibleAlternative */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String possibleAlternative
         3: .line 245
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.reflect.Field field
      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