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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
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: aload 1
ldc "'adaptee' must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
putfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.adaptee:Lorg/springframework/web/bind/support/WebArgumentResolver;
4: return
end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.getWebRequest:()Lorg/springframework/web/context/request/NativeWebRequest;
astore 2
start local 2 1: aload 0
getfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.adaptee:Lorg/springframework/web/bind/support/WebArgumentResolver;
aload 1
aload 2
invokeinterface org.springframework.web.bind.support.WebArgumentResolver.resolveArgument:(Lorg/springframework/core/MethodParameter;Lorg/springframework/web/context/request/NativeWebRequest;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
getstatic org.springframework.web.bind.support.WebArgumentResolver.UNRESOLVED:Ljava/lang/Object;
if_acmpne 4
3: iconst_0
ireturn
4: StackMap locals: org.springframework.web.context.request.NativeWebRequest java.lang.Object
StackMap stack:
aload 1
invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
aload 3
invokestatic org.springframework.util.ClassUtils.isAssignableValue:(Ljava/lang/Class;Ljava/lang/Object;)Z
5: ireturn
end local 3 end local 2 6: StackMap locals: org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter org.springframework.core.MethodParameter
StackMap stack: java.lang.Exception
astore 2
start local 2 7: aload 0
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "], message: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
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
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/web/method/annotation/AbstractWebArgumentResolverAdapter;
0 9 1 parameter Lorg/springframework/core/MethodParameter;
1 6 2 webRequest Lorg/springframework/web/context/request/NativeWebRequest;
2 6 3 result Ljava/lang/Object;
7 9 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 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
astore 5
start local 5 1: aload 0
getfield org.springframework.web.method.annotation.AbstractWebArgumentResolverAdapter.adaptee:Lorg/springframework/web/bind/support/WebArgumentResolver;
aload 1
aload 3
invokeinterface org.springframework.web.bind.support.WebArgumentResolver.resolveArgument:(Lorg/springframework/core/MethodParameter;Lorg/springframework/web/context/request/NativeWebRequest;)Ljava/lang/Object;
astore 6
start local 6 2: aload 6
getstatic org.springframework.web.bind.support.WebArgumentResolver.UNRESOLVED:Ljava/lang/Object;
if_acmpeq 3
aload 5
aload 6
invokestatic org.springframework.util.ClassUtils.isAssignableValue:(Ljava/lang/Class;Ljava/lang/Object;)Z
ifne 11
3: StackMap locals: java.lang.Class java.lang.Object
StackMap stack:
new java.lang.IllegalStateException
dup
4: new java.lang.StringBuilder
dup
ldc "Standard argument type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
invokevirtual org.springframework.core.MethodParameter.getMethod:()Ljava/lang/reflect/Method;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: ldc "resolved to incompatible value of type ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
ifnull 6
aload 6
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: ldc "]. Consider declaring the argument type in a less specific fashion."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 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 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"