class org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer extends org.springframework.boot.diagnostics.AbstractFailureAnalyzer<java.lang.Throwable>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer
  super_class: org.springframework.boot.diagnostics.AbstractFailureAnalyzer
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
         0: .line 36
            aload 0 /* this */
            invokespecial org.springframework.boot.diagnostics.AbstractFailureAnalyzer.<init>:()V
            return
        end local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer;

  protected org.springframework.boot.diagnostics.FailureAnalysis analyze(java.lang.Throwable, java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Throwable;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
        start local 1 // java.lang.Throwable rootFailure
        start local 2 // java.lang.Throwable cause
         0: .line 40
            aload 0 /* this */
            aload 1 /* rootFailure */
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.getBindValidationExceptionDetails:(Ljava/lang/Throwable;)Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer$ExceptionDetails;
            astore 3 /* details */
        start local 3 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails details
         1: .line 41
            aload 3 /* details */
            ifnonnull 3
         2: .line 42
            aconst_null
            areturn
         3: .line 44
      StackMap locals: org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails
      StackMap stack:
            aload 0 /* this */
            aload 3 /* details */
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.analyzeBindValidationException:(Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer$ExceptionDetails;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
            areturn
        end local 3 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails details
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.Throwable rootFailure
        end local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer;
            0    4     1  rootFailure  Ljava/lang/Throwable;
            0    4     2        cause  Ljava/lang/Throwable;
            1    4     3      details  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer$ExceptionDetails;
    MethodParameters:
             Name  Flags
      rootFailure  
      cause        

  private org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails getBindValidationExceptionDetails(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer$ExceptionDetails;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
        start local 1 // java.lang.Throwable rootFailure
         0: .line 48
            aload 0 /* this */
            aload 1 /* rootFailure */
            ldc Lorg/springframework/boot/context/properties/bind/validation/BindValidationException;
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.findCause:(Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
            checkcast org.springframework.boot.context.properties.bind.validation.BindValidationException
            astore 2 /* validationException */
        start local 2 // org.springframework.boot.context.properties.bind.validation.BindValidationException validationException
         1: .line 49
            aload 2 /* validationException */
            ifnull 5
         2: .line 50
            aload 0 /* this */
            aload 1 /* rootFailure */
            ldc Lorg/springframework/boot/context/properties/bind/BindException;
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.findCause:(Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
            checkcast org.springframework.boot.context.properties.bind.BindException
            astore 3 /* target */
        start local 3 // org.springframework.boot.context.properties.bind.BindException target
         3: .line 51
            aload 2 /* validationException */
            invokevirtual org.springframework.boot.context.properties.bind.validation.BindValidationException.getValidationErrors:()Lorg/springframework/boot/context/properties/bind/validation/ValidationErrors;
            invokevirtual org.springframework.boot.context.properties.bind.validation.ValidationErrors.getAllErrors:()Ljava/util/List;
            astore 4 /* errors */
        start local 4 // java.util.List errors
         4: .line 52
            new org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails
            dup
            aload 4 /* errors */
            aload 3 /* target */
            aload 2 /* validationException */
            invokespecial org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails.<init>:(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Throwable;)V
            areturn
        end local 4 // java.util.List errors
        end local 3 // org.springframework.boot.context.properties.bind.BindException target
         5: .line 54
      StackMap locals: org.springframework.boot.context.properties.bind.validation.BindValidationException
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rootFailure */
         6: .line 55
            ldc Lorg/springframework/validation/BindException;
         7: .line 54
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.findCause:(Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
            checkcast org.springframework.validation.BindException
            astore 3 /* bindException */
        start local 3 // org.springframework.validation.BindException bindException
         8: .line 56
            aload 3 /* bindException */
            ifnull 11
         9: .line 57
            aload 3 /* bindException */
            invokevirtual org.springframework.validation.BindException.getAllErrors:()Ljava/util/List;
            astore 4 /* errors */
        start local 4 // java.util.List errors
        10: .line 58
            new org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails
            dup
            aload 4 /* errors */
            aload 3 /* bindException */
            invokevirtual org.springframework.validation.BindException.getTarget:()Ljava/lang/Object;
            aload 3 /* bindException */
            invokespecial org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails.<init>:(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Throwable;)V
            areturn
        end local 4 // java.util.List errors
        11: .line 60
      StackMap locals: org.springframework.validation.BindException
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.springframework.validation.BindException bindException
        end local 2 // org.springframework.boot.context.properties.bind.validation.BindValidationException validationException
        end local 1 // java.lang.Throwable rootFailure
        end local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer;
            0   12     1          rootFailure  Ljava/lang/Throwable;
            1   12     2  validationException  Lorg/springframework/boot/context/properties/bind/validation/BindValidationException;
            3    5     3               target  Lorg/springframework/boot/context/properties/bind/BindException;
            4    5     4               errors  Ljava/util/List<Lorg/springframework/validation/ObjectError;>;
            8   12     3        bindException  Lorg/springframework/validation/BindException;
           10   11     4               errors  Ljava/util/List<Lorg/springframework/validation/ObjectError;>;
    MethodParameters:
             Name  Flags
      rootFailure  

  private org.springframework.boot.diagnostics.FailureAnalysis analyzeBindValidationException(org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails);
    descriptor: (Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer$ExceptionDetails;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
        start local 1 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails details
         0: .line 64
            new java.lang.StringBuilder
            dup
         1: .line 65
            ldc "Binding to target %s failed:%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* details */
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails.getTarget:()Ljava/lang/Object;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         2: .line 64
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* description */
        start local 2 // java.lang.StringBuilder description
         3: .line 66
            aload 1 /* details */
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails.getErrors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.validation.ObjectError
            astore 3 /* error */
        start local 3 // org.springframework.validation.ObjectError error
         5: .line 67
            aload 3 /* error */
            instanceof org.springframework.validation.FieldError
            ifeq 7
         6: .line 68
            aload 0 /* this */
            aload 2 /* description */
            aload 3 /* error */
            checkcast org.springframework.validation.FieldError
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.appendFieldError:(Ljava/lang/StringBuilder;Lorg/springframework/validation/FieldError;)V
         7: .line 70
      StackMap locals: org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails java.lang.StringBuilder org.springframework.validation.ObjectError java.util.Iterator
      StackMap stack:
            aload 2 /* description */
            ldc "%n    Reason: %s%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* error */
            invokevirtual org.springframework.validation.ObjectError.getDefaultMessage:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // org.springframework.validation.ObjectError error
         8: .line 66
      StackMap locals: org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 72
            aload 0 /* this */
            aload 2 /* description */
            aload 1 /* details */
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails.getCause:()Ljava/lang/Throwable;
            invokevirtual org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer.getFailureAnalysis:(Ljava/lang/Object;Ljava/lang/Throwable;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
            areturn
        end local 2 // java.lang.StringBuilder description
        end local 1 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails details
        end local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer;
            0   10     1      details  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer$ExceptionDetails;
            3   10     2  description  Ljava/lang/StringBuilder;
            5    8     3        error  Lorg/springframework/validation/ObjectError;
    MethodParameters:
         Name  Flags
      details  

  private void appendFieldError(java.lang.StringBuilder, org.springframework.validation.FieldError);
    descriptor: (Ljava/lang/StringBuilder;Lorg/springframework/validation/FieldError;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
        start local 1 // java.lang.StringBuilder description
        start local 2 // org.springframework.validation.FieldError error
         0: .line 76
            aload 2 /* error */
            invokestatic org.springframework.boot.origin.Origin.from:(Ljava/lang/Object;)Lorg/springframework/boot/origin/Origin;
            astore 3 /* origin */
        start local 3 // org.springframework.boot.origin.Origin origin
         1: .line 77
            aload 1 /* description */
            ldc "%n    Property: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            aload 2 /* error */
            invokevirtual org.springframework.validation.FieldError.getObjectName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* error */
            invokevirtual org.springframework.validation.FieldError.getField:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 78
            aload 1 /* description */
            ldc "%n    Value: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* error */
            invokevirtual org.springframework.validation.FieldError.getRejectedValue:()Ljava/lang/Object;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 79
            aload 3 /* origin */
            ifnull 5
         4: .line 80
            aload 1 /* description */
            ldc "%n    Origin: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* origin */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 82
      StackMap locals: org.springframework.boot.origin.Origin
      StackMap stack:
            return
        end local 3 // org.springframework.boot.origin.Origin origin
        end local 2 // org.springframework.validation.FieldError error
        end local 1 // java.lang.StringBuilder description
        end local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer;
            0    6     1  description  Ljava/lang/StringBuilder;
            0    6     2        error  Lorg/springframework/validation/FieldError;
            1    6     3       origin  Lorg/springframework/boot/origin/Origin;
    MethodParameters:
             Name  Flags
      description  
      error        

  private org.springframework.boot.diagnostics.FailureAnalysis getFailureAnalysis(java.lang.Object, java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)Lorg/springframework/boot/diagnostics/FailureAnalysis;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
        start local 1 // java.lang.Object description
        start local 2 // java.lang.Throwable cause
         0: .line 85
            new org.springframework.boot.diagnostics.FailureAnalysis
            dup
            aload 1 /* description */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "Update your application's configuration"
            aload 2 /* cause */
            invokespecial org.springframework.boot.diagnostics.FailureAnalysis.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.Object description
        end local 0 // org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/boot/diagnostics/analyzer/BindValidationFailureAnalyzer;
            0    1     1  description  Ljava/lang/Object;
            0    1     2        cause  Ljava/lang/Throwable;
    MethodParameters:
             Name  Flags
      description  
      cause        
}
Signature: Lorg/springframework/boot/diagnostics/AbstractFailureAnalyzer<Ljava/lang/Throwable;>;
SourceFile: "BindValidationFailureAnalyzer.java"
NestMembers:
  org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails
InnerClasses:
  private ExceptionDetails = org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer$ExceptionDetails of org.springframework.boot.diagnostics.analyzer.BindValidationFailureAnalyzer