public class org.springframework.web.method.support.InvocableHandlerMethod extends org.springframework.web.method.HandlerMethod
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.web.method.support.InvocableHandlerMethod
super_class: org.springframework.web.method.HandlerMethod
{
private static final java.lang.Object[] EMPTY_ARGS;
descriptor: [Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.springframework.web.bind.support.WebDataBinderFactory dataBinderFactory;
descriptor: Lorg/springframework/web/bind/support/WebDataBinderFactory;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.web.method.support.HandlerMethodArgumentResolverComposite resolvers;
descriptor: Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
flags: (0x0002) ACC_PRIVATE
private org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer;
descriptor: Lorg/springframework/core/ParameterNameDiscoverer;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Object
putstatic org.springframework.web.method.support.InvocableHandlerMethod.EMPTY_ARGS:[Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.springframework.web.method.HandlerMethod);
descriptor: (Lorg/springframework/web/method/HandlerMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.springframework.web.method.HandlerMethod.<init>:(Lorg/springframework/web/method/HandlerMethod;)V
1: aload 0
new org.springframework.web.method.support.HandlerMethodArgumentResolverComposite
dup
invokespecial org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.<init>:()V
putfield org.springframework.web.method.support.InvocableHandlerMethod.resolvers:Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
2: aload 0
new org.springframework.core.DefaultParameterNameDiscoverer
dup
invokespecial org.springframework.core.DefaultParameterNameDiscoverer.<init>:()V
putfield org.springframework.web.method.support.InvocableHandlerMethod.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 4 1 handlerMethod Lorg/springframework/web/method/HandlerMethod;
MethodParameters:
Name Flags
handlerMethod
public void <init>(java.lang.Object, java.lang.reflect.Method);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.springframework.web.method.HandlerMethod.<init>:(Ljava/lang/Object;Ljava/lang/reflect/Method;)V
1: aload 0
new org.springframework.web.method.support.HandlerMethodArgumentResolverComposite
dup
invokespecial org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.<init>:()V
putfield org.springframework.web.method.support.InvocableHandlerMethod.resolvers:Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
2: aload 0
new org.springframework.core.DefaultParameterNameDiscoverer
dup
invokespecial org.springframework.core.DefaultParameterNameDiscoverer.<init>:()V
putfield org.springframework.web.method.support.InvocableHandlerMethod.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 4 1 bean Ljava/lang/Object;
0 4 2 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
bean
method
public void <init>(, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.springframework.web.method.HandlerMethod.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)V
1: aload 0
new org.springframework.web.method.support.HandlerMethodArgumentResolverComposite
dup
invokespecial org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.<init>:()V
putfield org.springframework.web.method.support.InvocableHandlerMethod.resolvers:Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
2: aload 0
new org.springframework.core.DefaultParameterNameDiscoverer
dup
invokespecial org.springframework.core.DefaultParameterNameDiscoverer.<init>:()V
putfield org.springframework.web.method.support.InvocableHandlerMethod.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 4 1 bean Ljava/lang/Object;
0 4 2 methodName Ljava/lang/String;
0 4 3 parameterTypes [Ljava/lang/Class;
Exceptions:
throws java.lang.NoSuchMethodException
Signature: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
bean
methodName
parameterTypes
public void setDataBinderFactory(org.springframework.web.bind.support.WebDataBinderFactory);
descriptor: (Lorg/springframework/web/bind/support/WebDataBinderFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.method.support.InvocableHandlerMethod.dataBinderFactory:Lorg/springframework/web/bind/support/WebDataBinderFactory;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 2 1 dataBinderFactory Lorg/springframework/web/bind/support/WebDataBinderFactory;
MethodParameters:
Name Flags
dataBinderFactory
public void setHandlerMethodArgumentResolvers(org.springframework.web.method.support.HandlerMethodArgumentResolverComposite);
descriptor: (Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.method.support.InvocableHandlerMethod.resolvers:Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 2 1 argumentResolvers Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
MethodParameters:
Name Flags
argumentResolvers
public void setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer);
descriptor: (Lorg/springframework/core/ParameterNameDiscoverer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.method.support.InvocableHandlerMethod.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 2 1 parameterNameDiscoverer Lorg/springframework/core/ParameterNameDiscoverer;
MethodParameters:
Name Flags
parameterNameDiscoverer
public java.lang.Object invokeForRequest(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.method.support.ModelAndViewContainer, java.lang.Object[]);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues:(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 4
start local 4 1: aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 3
2: aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Arguments: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)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.trace:(Ljava/lang/Object;)V
3: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
aload 4
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.doInvoke:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 4 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 4 2 mavContainer Lorg/springframework/web/method/support/ModelAndViewContainer;
0 4 3 providedArgs [Ljava/lang/Object;
1 4 4 args [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
request
mavContainer
providedArgs
protected java.lang.Object[] getMethodArgumentValues(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.method.support.ModelAndViewContainer, java.lang.Object[]);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getMethodParameters:()[Lorg/springframework/core/MethodParameter;
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifeq 2
1: getstatic org.springframework.web.method.support.InvocableHandlerMethod.EMPTY_ARGS:[Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getMethodParameters:()[Lorg/springframework/core/MethodParameter;
astore 4
start local 4 3: aload 4
arraylength
anewarray java.lang.Object
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 22
6: StackMap locals: org.springframework.core.MethodParameter[] java.lang.Object[] int
StackMap stack:
aload 4
iload 6
aaload
astore 7
start local 7 7: aload 7
aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
invokevirtual org.springframework.core.MethodParameter.initParameterNameDiscovery:(Lorg/springframework/core/ParameterNameDiscoverer;)V
8: aload 5
iload 6
aload 7
aload 3
invokestatic org.springframework.web.method.support.InvocableHandlerMethod.findProvidedArgument:(Lorg/springframework/core/MethodParameter;[Ljava/lang/Object;)Ljava/lang/Object;
aastore
9: aload 5
iload 6
aaload
ifnull 11
10: goto 21
11: StackMap locals: org.springframework.core.MethodParameter
StackMap stack:
aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.resolvers:Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
aload 7
invokevirtual org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.supportsParameter:(Lorg/springframework/core/MethodParameter;)Z
ifne 13
12: new java.lang.IllegalStateException
dup
aload 7
ldc "No suitable resolver"
invokestatic org.springframework.web.method.support.InvocableHandlerMethod.formatArgumentError:(Lorg/springframework/core/MethodParameter;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 5
iload 6
aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.resolvers:Lorg/springframework/web/method/support/HandlerMethodArgumentResolverComposite;
aload 7
aload 2
aload 1
aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.dataBinderFactory:Lorg/springframework/web/bind/support/WebDataBinderFactory;
invokevirtual org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument:(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;
aastore
14: goto 21
15: StackMap locals:
StackMap stack: java.lang.Exception
astore 8
start local 8 16: aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 20
17: aload 8
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
astore 9
start local 9 18: aload 9
ifnull 20
aload 9
aload 7
invokevirtual org.springframework.core.MethodParameter.getExecutable:()Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 20
19: aload 0
getfield org.springframework.web.method.support.InvocableHandlerMethod.logger:Lorg/apache/commons/logging/Log;
aload 7
aload 9
invokestatic org.springframework.web.method.support.InvocableHandlerMethod.formatArgumentError:(Lorg/springframework/core/MethodParameter;Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 9 20: StackMap locals: java.lang.Exception
StackMap stack:
aload 8
athrow
end local 8 end local 7 21: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
aload 4
arraylength
if_icmplt 6
end local 6 23: aload 5
areturn
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 24 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 24 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 24 2 mavContainer Lorg/springframework/web/method/support/ModelAndViewContainer;
0 24 3 providedArgs [Ljava/lang/Object;
3 24 4 parameters [Lorg/springframework/core/MethodParameter;
4 24 5 args [Ljava/lang/Object;
5 23 6 i I
7 21 7 parameter Lorg/springframework/core/MethodParameter;
16 21 8 ex Ljava/lang/Exception;
18 20 9 error Ljava/lang/String;
Exception table:
from to target type
13 14 15 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
request
mavContainer
providedArgs
protected java.lang.Object doInvoke(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getBridgedMethod:()Ljava/lang/reflect/Method;
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
1: aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getBridgedMethod:()Ljava/lang/reflect/Method;
aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getBean:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 4: aload 0
aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getBridgedMethod:()Ljava/lang/reflect/Method;
aload 0
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.getBean:()Ljava/lang/Object;
aload 1
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.assertTargetBean:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)V
5: aload 2
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
ifnull 6
aload 2
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
goto 7
StackMap locals: java.lang.IllegalArgumentException
StackMap stack:
6: ldc "Illegal argument"
StackMap locals:
StackMap stack: java.lang.String
7: astore 3
start local 3 8: new java.lang.IllegalStateException
dup
aload 0
aload 3
aload 1
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.formatInvokeError:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 9: StackMap locals: org.springframework.web.method.support.InvocableHandlerMethod java.lang.Object[]
StackMap stack: java.lang.reflect.InvocationTargetException
astore 2
start local 2 10: aload 2
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 3
start local 3 11: aload 3
instanceof java.lang.RuntimeException
ifeq 13
12: aload 3
checkcast java.lang.RuntimeException
athrow
13: StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
StackMap stack:
aload 3
instanceof java.lang.Error
ifeq 15
14: aload 3
checkcast java.lang.Error
athrow
15: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Exception
ifeq 17
16: aload 3
checkcast java.lang.Exception
athrow
17: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
aload 0
ldc "Invocation failure"
aload 1
invokevirtual org.springframework.web.method.support.InvocableHandlerMethod.formatInvokeError:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/web/method/support/InvocableHandlerMethod;
0 18 1 args [Ljava/lang/Object;
4 9 2 ex Ljava/lang/IllegalArgumentException;
8 9 3 text Ljava/lang/String;
10 18 2 ex Ljava/lang/reflect/InvocationTargetException;
11 18 3 targetException Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
1 2 9 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
args
}
SourceFile: "InvocableHandlerMethod.java"