public abstract class org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter implements org.springframework.web.method.support.HandlerMethodArgumentResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter
  super_class: java.lang.Object
{
  private final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.web.bind.support.WebArgumentResolver adaptee;
    descriptor: Lorg/springframework/web/bind/support/WebArgumentResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.springframework.web.bind.support.WebArgumentResolver);
    descriptor: (Lorg/springframework/web/bind/support/WebArgumentResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter this
        start local 1 // org.springframework.web.bind.support.WebArgumentResolver adaptee
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.logger:Lorg/apache/commons/logging/Log;
         2: .line 61
            aload 1 /* adaptee */
            ldc "'adaptee' must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 62
            aload 0 /* this */
            aload 1 /* adaptee */
            putfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.adaptee:Lorg/springframework/web/bind/support/WebArgumentResolver;
         4: .line 63
            return
        end local 1 // org.springframework.web.bind.support.WebArgumentResolver adaptee
        end local 0 // org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/springframework/web/method/annotation/AbstractWebArgumentResolverAdapter;
            0    5     1  adaptee  Lorg/springframework/web/bind/support/WebArgumentResolver;
    MethodParameters:
         Name  Flags
      adaptee  

  public boolean supportsParameter(org.springframework.core.MethodParameter);
    descriptor: (Lorg/springframework/core/MethodParameter;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter this
        start local 1 // org.springframework.core.MethodParameter parameter
         0: .line 73
            aload 0 /* this */
            invokevirtual org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.getWebRequest:()Lorg/springframework/web/context/request/NativeWebRequest;
            astore 2 /* webRequest */
        start local 2 // org.springframework.web.context.request.NativeWebRequest webRequest
         1: .line 74
            aload 0 /* this */
            getfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.adaptee:Lorg/springframework/web/bind/support/WebArgumentResolver;
            aload 1 /* parameter */
            aload 2 /* webRequest */
            invokeinterface org.springframework.web.bind.support.WebArgumentResolver.resolveArgument:(Lorg/springframework/core/MethodParameter;Lorg/springframework/web/context/request/NativeWebRequest;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         2: .line 75
            aload 3 /* result */
            getstatic org.springframework.web.bind.support.WebArgumentResolver.UNRESOLVED:Ljava/lang/Object;
            if_acmpne 4
         3: .line 76
            iconst_0
            ireturn
         4: .line 79
      StackMap locals: org.springframework.web.context.request.NativeWebRequest java.lang.Object
      StackMap stack:
            aload 1 /* parameter */
            invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
            aload 3 /* result */
            invokestatic org.springframework.util.ClassUtils.isAssignableValue:(Ljava/lang/Class;Ljava/lang/Object;)Z
         5: ireturn
        end local 3 // java.lang.Object result
        end local 2 // org.springframework.web.context.request.NativeWebRequest webRequest
         6: .line 82
      StackMap locals: org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter org.springframework.core.MethodParameter
      StackMap stack: java.lang.Exception
            astore 2 /* ex */
        start local 2 // java.lang.Exception ex
         7: .line 84
            aload 0 /* this */
            getfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 9
         8: .line 85
            aload 0 /* this */
            getfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Error in checking support for parameter ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* parameter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 87
      StackMap locals: java.lang.Exception
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Exception ex
        end local 1 // org.springframework.core.MethodParameter parameter
        end local 0 // org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/springframework/web/method/annotation/AbstractWebArgumentResolverAdapter;
            0   10     1   parameter  Lorg/springframework/core/MethodParameter;
            1    6     2  webRequest  Lorg/springframework/web/context/request/NativeWebRequest;
            2    6     3      result  Ljava/lang/Object;
            7   10     2          ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       6  Class java.lang.Exception
           4     5       6  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      parameter  

  public java.lang.Object resolveArgument(org.springframework.core.MethodParameter, org.springframework.web.method.support.ModelAndViewContainer, org.springframework.web.context.request.NativeWebRequest, org.springframework.web.bind.support.WebDataBinderFactory);
    descriptor: (Lorg/springframework/core/MethodParameter;Lorg/springframework/web/method/support/ModelAndViewContainer;Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/bind/support/WebDataBinderFactory;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter this
        start local 1 // org.springframework.core.MethodParameter parameter
        start local 2 // org.springframework.web.method.support.ModelAndViewContainer mavContainer
        start local 3 // org.springframework.web.context.request.NativeWebRequest webRequest
        start local 4 // org.springframework.web.bind.support.WebDataBinderFactory binderFactory
         0: .line 101
            aload 1 /* parameter */
            invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
            astore 5 /* paramType */
        start local 5 // java.lang.Class paramType
         1: .line 102
            aload 0 /* this */
            getfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.adaptee:Lorg/springframework/web/bind/support/WebArgumentResolver;
            aload 1 /* parameter */
            aload 3 /* webRequest */
            invokeinterface org.springframework.web.bind.support.WebArgumentResolver.resolveArgument:(Lorg/springframework/core/MethodParameter;Lorg/springframework/web/context/request/NativeWebRequest;)Ljava/lang/Object;
            astore 6 /* result */
        start local 6 // java.lang.Object result
         2: .line 103
            aload 6 /* result */
            getstatic org.springframework.web.bind.support.WebArgumentResolver.UNRESOLVED:Ljava/lang/Object;
            if_acmpeq 3
            aload 5 /* paramType */
            aload 6 /* result */
            invokestatic org.springframework.util.ClassUtils.isAssignableValue:(Ljava/lang/Class;Ljava/lang/Object;)Z
            ifne 11
         3: .line 104
      StackMap locals: java.lang.Class java.lang.Object
      StackMap stack:
            new java.lang.IllegalStateException
            dup
         4: .line 105
            new java.lang.StringBuilder
            dup
            ldc "Standard argument type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* paramType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] in method "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* parameter */
            invokevirtual org.springframework.core.MethodParameter.getMethod:()Ljava/lang/reflect/Method;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 106
            ldc "resolved to incompatible value of type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* result */
            ifnull 6
            aload 6 /* result */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 7
      StackMap locals: org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter org.springframework.core.MethodParameter org.springframework.web.method.support.ModelAndViewContainer org.springframework.web.context.request.NativeWebRequest org.springframework.web.bind.support.WebDataBinderFactory java.lang.Class java.lang.Object
      StackMap stack: new 3 new 3 java.lang.StringBuilder
         6: aconst_null
      StackMap locals: org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter org.springframework.core.MethodParameter org.springframework.web.method.support.ModelAndViewContainer org.springframework.web.context.request.NativeWebRequest org.springframework.web.bind.support.WebDataBinderFactory java.lang.Class java.lang.Object
      StackMap stack: new 3 new 3 java.lang.StringBuilder java.lang.Class
         7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         8: .line 107
            ldc "]. Consider declaring the argument type in a less specific fashion."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 105
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 104
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 109
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 6 // java.lang.Object result
        end local 5 // java.lang.Class paramType
        end local 4 // org.springframework.web.bind.support.WebDataBinderFactory binderFactory
        end local 3 // org.springframework.web.context.request.NativeWebRequest webRequest
        end local 2 // org.springframework.web.method.support.ModelAndViewContainer mavContainer
        end local 1 // org.springframework.core.MethodParameter parameter
        end local 0 // org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/springframework/web/method/annotation/AbstractWebArgumentResolverAdapter;
            0   12     1      parameter  Lorg/springframework/core/MethodParameter;
            0   12     2   mavContainer  Lorg/springframework/web/method/support/ModelAndViewContainer;
            0   12     3     webRequest  Lorg/springframework/web/context/request/NativeWebRequest;
            0   12     4  binderFactory  Lorg/springframework/web/bind/support/WebDataBinderFactory;
            1   12     5      paramType  Ljava/lang/Class<*>;
            2   12     6         result  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
      3:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      parameter      
      mavContainer   
      webRequest     
      binderFactory  

  protected abstract org.springframework.web.context.request.NativeWebRequest getWebRequest();
    descriptor: ()Lorg/springframework/web/context/request/NativeWebRequest;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
}
SourceFile: "AbstractWebArgumentResolverAdapter.java"