public class org.springframework.core.MethodParameter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.core.MethodParameter
super_class: java.lang.Object
{
private static final java.lang.annotation.Annotation[] EMPTY_ANNOTATION_ARRAY;
descriptor: [Ljava/lang/annotation/Annotation;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.reflect.Executable executable;
descriptor: Ljava/lang/reflect/Executable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int parameterIndex;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.lang.reflect.Parameter parameter;
descriptor: Ljava/lang/reflect/Parameter;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private int nestingLevel;
descriptor: I
flags: (0x0002) ACC_PRIVATE
java.util.Map<java.lang.Integer, java.lang.Integer> typeIndexesPerLevel;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile java.lang.Class<?> containingClass;
descriptor: Ljava/lang/Class;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile java.lang.Class<?> parameterType;
descriptor: Ljava/lang/Class;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile java.lang.reflect.Type genericParameterType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile java.lang.annotation.Annotation[] parameterAnnotations;
descriptor: [Ljava/lang/annotation/Annotation;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer;
descriptor: Lorg/springframework/core/ParameterNameDiscoverer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile java.lang.String parameterName;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile org.springframework.core.MethodParameter nestedMethodParameter;
descriptor: Lorg/springframework/core/MethodParameter;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray java.lang.annotation.Annotation
putstatic org.springframework.core.MethodParameter.EMPTY_ANNOTATION_ARRAY:[Ljava/lang/annotation/Annotation;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.reflect.Method, int);
descriptor: (Ljava/lang/reflect/Method;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_1
invokespecial org.springframework.core.MethodParameter.<init>:(Ljava/lang/reflect/Method;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
0 2 1 method Ljava/lang/reflect/Method;
0 2 2 parameterIndex I
MethodParameters:
Name Flags
method
parameterIndex
public void <init>(java.lang.reflect.Method, int, int);
descriptor: (Ljava/lang/reflect/Method;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Method must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
3: aload 0
aload 1
iload 2
invokestatic org.springframework.core.MethodParameter.validateIndex:(Ljava/lang/reflect/Executable;I)I
putfield org.springframework.core.MethodParameter.parameterIndex:I
4: aload 0
iload 3
putfield org.springframework.core.MethodParameter.nestingLevel:I
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/core/MethodParameter;
0 6 1 method Ljava/lang/reflect/Method;
0 6 2 parameterIndex I
0 6 3 nestingLevel I
MethodParameters:
Name Flags
method
parameterIndex
nestingLevel
public void <init>(java.lang.reflect.Constructor<?>, );
descriptor: (Ljava/lang/reflect/Constructor;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_1
invokespecial org.springframework.core.MethodParameter.<init>:(Ljava/lang/reflect/Constructor;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
0 2 1 constructor Ljava/lang/reflect/Constructor<*>;
0 2 2 parameterIndex I
Signature: (Ljava/lang/reflect/Constructor<*>;I)V
MethodParameters:
Name Flags
constructor
parameterIndex
public void <init>(java.lang.reflect.Constructor<?>, int, );
descriptor: (Ljava/lang/reflect/Constructor;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Constructor must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
3: aload 0
aload 1
iload 2
invokestatic org.springframework.core.MethodParameter.validateIndex:(Ljava/lang/reflect/Executable;I)I
putfield org.springframework.core.MethodParameter.parameterIndex:I
4: aload 0
iload 3
putfield org.springframework.core.MethodParameter.nestingLevel:I
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/core/MethodParameter;
0 6 1 constructor Ljava/lang/reflect/Constructor<*>;
0 6 2 parameterIndex I
0 6 3 nestingLevel I
Signature: (Ljava/lang/reflect/Constructor<*>;II)V
MethodParameters:
Name Flags
constructor
parameterIndex
nestingLevel
void <init>(java.lang.reflect.Executable, int, java.lang.Class<?>);
descriptor: (Ljava/lang/reflect/Executable;ILjava/lang/Class;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Executable must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
3: aload 0
aload 1
iload 2
invokestatic org.springframework.core.MethodParameter.validateIndex:(Ljava/lang/reflect/Executable;I)I
putfield org.springframework.core.MethodParameter.parameterIndex:I
4: aload 0
iconst_1
putfield org.springframework.core.MethodParameter.nestingLevel:I
5: aload 0
aload 3
putfield org.springframework.core.MethodParameter.containingClass:Ljava/lang/Class;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/core/MethodParameter;
0 7 1 executable Ljava/lang/reflect/Executable;
0 7 2 parameterIndex I
0 7 3 containingClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/reflect/Executable;ILjava/lang/Class<*>;)V
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
executable
parameterIndex
containingClass
public void <init>(org.springframework.core.MethodParameter);
descriptor: (Lorg/springframework/core/MethodParameter;)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 1
ldc "Original must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
putfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
3: aload 0
aload 1
getfield org.springframework.core.MethodParameter.parameterIndex:I
putfield org.springframework.core.MethodParameter.parameterIndex:I
4: aload 0
aload 1
getfield org.springframework.core.MethodParameter.parameter:Ljava/lang/reflect/Parameter;
putfield org.springframework.core.MethodParameter.parameter:Ljava/lang/reflect/Parameter;
5: aload 0
aload 1
getfield org.springframework.core.MethodParameter.nestingLevel:I
putfield org.springframework.core.MethodParameter.nestingLevel:I
6: aload 0
aload 1
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
putfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
7: aload 0
aload 1
getfield org.springframework.core.MethodParameter.containingClass:Ljava/lang/Class;
putfield org.springframework.core.MethodParameter.containingClass:Ljava/lang/Class;
8: aload 0
aload 1
getfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
putfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
9: aload 0
aload 1
getfield org.springframework.core.MethodParameter.genericParameterType:Ljava/lang/reflect/Type;
putfield org.springframework.core.MethodParameter.genericParameterType:Ljava/lang/reflect/Type;
10: aload 0
aload 1
getfield org.springframework.core.MethodParameter.parameterAnnotations:[Ljava/lang/annotation/Annotation;
putfield org.springframework.core.MethodParameter.parameterAnnotations:[Ljava/lang/annotation/Annotation;
11: aload 0
aload 1
getfield org.springframework.core.MethodParameter.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
putfield org.springframework.core.MethodParameter.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
12: aload 0
aload 1
getfield org.springframework.core.MethodParameter.parameterName:Ljava/lang/String;
putfield org.springframework.core.MethodParameter.parameterName:Ljava/lang/String;
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/core/MethodParameter;
0 14 1 original Lorg/springframework/core/MethodParameter;
MethodParameters:
Name Flags
original
public java.lang.reflect.Method getMethod();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
instanceof java.lang.reflect.Method
ifeq 1
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
checkcast java.lang.reflect.Method
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/core/MethodParameter;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.reflect.Constructor<?> getConstructor();
descriptor: ()Ljava/lang/reflect/Constructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
instanceof java.lang.reflect.Constructor
ifeq 1
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
checkcast java.lang.reflect.Constructor
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Constructor
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/core/MethodParameter;
Signature: ()Ljava/lang/reflect/Constructor<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.Class<?> getDeclaringClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getDeclaringClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
Signature: ()Ljava/lang/Class<*>;
public java.lang.reflect.Member getMember();
descriptor: ()Ljava/lang/reflect/Member;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public java.lang.reflect.AnnotatedElement getAnnotatedElement();
descriptor: ()Ljava/lang/reflect/AnnotatedElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public java.lang.reflect.Executable getExecutable();
descriptor: ()Ljava/lang/reflect/Executable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public java.lang.reflect.Parameter getParameter();
descriptor: ()Ljava/lang/reflect/Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
ifge 2
1: new java.lang.IllegalStateException
dup
ldc "Cannot retrieve Parameter descriptor for method return type"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.parameter:Ljava/lang/reflect/Parameter;
astore 1
start local 1 3: aload 1
ifnonnull 6
4: aload 0
invokevirtual org.springframework.core.MethodParameter.getExecutable:()Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameters:()[Ljava/lang/reflect/Parameter;
aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
aaload
astore 1
5: aload 0
aload 1
putfield org.springframework.core.MethodParameter.parameter:Ljava/lang/reflect/Parameter;
6: StackMap locals: java.lang.reflect.Parameter
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/core/MethodParameter;
3 7 1 parameter Ljava/lang/reflect/Parameter;
public int getParameterIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public void increaseNestingLevel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield org.springframework.core.MethodParameter.nestingLevel:I
iconst_1
iadd
putfield org.springframework.core.MethodParameter.nestingLevel:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void decreaseNestingLevel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getTypeIndexesPerLevel:()Ljava/util/Map;
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
dup
getfield org.springframework.core.MethodParameter.nestingLevel:I
iconst_1
isub
putfield org.springframework.core.MethodParameter.nestingLevel:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/core/MethodParameter;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public int getNestingLevel();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public org.springframework.core.MethodParameter withTypeIndex(int);
descriptor: (I)Lorg/springframework/core/MethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.springframework.core.MethodParameter.nested:(ILjava/lang/Integer;)Lorg/springframework/core/MethodParameter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
0 1 1 typeIndex I
MethodParameters:
Name Flags
typeIndex
public void setTypeIndexForCurrentLevel(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getTypeIndexesPerLevel:()Ljava/util/Map;
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
0 2 1 typeIndex I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
typeIndex
public java.lang.Integer getTypeIndexForCurrentLevel();
descriptor: ()Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
invokevirtual org.springframework.core.MethodParameter.getTypeIndexForLevel:(I)Ljava/lang/Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.Integer getTypeIndexForLevel(int);
descriptor: (I)Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getTypeIndexesPerLevel:()Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
0 1 1 nestingLevel I
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
nestingLevel
private java.util.Map<java.lang.Integer, java.lang.Integer> getTypeIndexesPerLevel();
descriptor: ()Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
ifnonnull 2
1: aload 0
new java.util.HashMap
dup
iconst_4
invokespecial java.util.HashMap.<init>:(I)V
putfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/core/MethodParameter;
Signature: ()Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;
public org.springframework.core.MethodParameter nested();
descriptor: ()Lorg/springframework/core/MethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual org.springframework.core.MethodParameter.nested:(Ljava/lang/Integer;)Lorg/springframework/core/MethodParameter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public org.springframework.core.MethodParameter nested(java.lang.Integer);
descriptor: (Ljava/lang/Integer;)Lorg/springframework/core/MethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.core.MethodParameter.nestedMethodParameter:Lorg/springframework/core/MethodParameter;
astore 2
start local 2 1: aload 2
ifnull 3
aload 1
ifnonnull 3
2: aload 2
areturn
3: StackMap locals: org.springframework.core.MethodParameter
StackMap stack:
aload 0
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
iconst_1
iadd
aload 1
invokevirtual org.springframework.core.MethodParameter.nested:(ILjava/lang/Integer;)Lorg/springframework/core/MethodParameter;
astore 2
4: aload 1
ifnonnull 6
5: aload 0
aload 2
putfield org.springframework.core.MethodParameter.nestedMethodParameter:Lorg/springframework/core/MethodParameter;
6: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/core/MethodParameter;
0 7 1 typeIndex Ljava/lang/Integer;
1 7 2 nestedParam Lorg/springframework/core/MethodParameter;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
typeIndex
private org.springframework.core.MethodParameter nested(int, java.lang.Integer);
descriptor: (ILjava/lang/Integer;)Lorg/springframework/core/MethodParameter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.core.MethodParameter.clone:()Lorg/springframework/core/MethodParameter;
astore 3
start local 3 1: aload 3
iload 1
putfield org.springframework.core.MethodParameter.nestingLevel:I
2: aload 0
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
ifnull 4
3: aload 3
new java.util.HashMap
dup
aload 0
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
putfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
4: StackMap locals: org.springframework.core.MethodParameter
StackMap stack:
aload 2
ifnull 6
5: aload 3
invokevirtual org.springframework.core.MethodParameter.getTypeIndexesPerLevel:()Ljava/util/Map;
aload 3
getfield org.springframework.core.MethodParameter.nestingLevel:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
aload 3
aconst_null
putfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
7: aload 3
aconst_null
putfield org.springframework.core.MethodParameter.genericParameterType:Ljava/lang/reflect/Type;
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/core/MethodParameter;
0 9 1 nestingLevel I
0 9 2 typeIndex Ljava/lang/Integer;
1 9 3 copy Lorg/springframework/core/MethodParameter;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
nestingLevel
typeIndex
public boolean isOptional();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
ldc Ljava/util/Optional;
if_acmpeq 5
aload 0
invokevirtual org.springframework.core.MethodParameter.hasNullableAnnotation:()Z
ifne 5
1: invokestatic org.springframework.core.KotlinDetector.isKotlinReflectPresent:()Z
ifeq 4
2: aload 0
invokevirtual org.springframework.core.MethodParameter.getContainingClass:()Ljava/lang/Class;
invokestatic org.springframework.core.KotlinDetector.isKotlinType:(Ljava/lang/Class;)Z
ifeq 4
3: aload 0
invokestatic org.springframework.core.MethodParameter$KotlinDelegate.isOptional:(Lorg/springframework/core/MethodParameter;)Z
ifne 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/core/MethodParameter;
private boolean hasNullableAnnotation();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getParameterAnnotations:()[Ljava/lang/annotation/Annotation;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: org.springframework.core.MethodParameter top int int java.lang.annotation.Annotation[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: ldc "Nullable"
aload 1
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/core/MethodParameter;
2 4 1 ann Ljava/lang/annotation/Annotation;
public org.springframework.core.MethodParameter nestedIfOptional();
descriptor: ()Lorg/springframework/core/MethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
ldc Ljava/util/Optional;
if_acmpne 1
aload 0
invokevirtual org.springframework.core.MethodParameter.nested:()Lorg/springframework/core/MethodParameter;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: org.springframework.core.MethodParameter
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/core/MethodParameter;
public org.springframework.core.MethodParameter withContainingClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/springframework/core/MethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.core.MethodParameter.clone:()Lorg/springframework/core/MethodParameter;
astore 2
start local 2 1: aload 2
aload 1
putfield org.springframework.core.MethodParameter.containingClass:Ljava/lang/Class;
2: aload 2
aconst_null
putfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/core/MethodParameter;
0 4 1 containingClass Ljava/lang/Class<*>;
1 4 2 result Lorg/springframework/core/MethodParameter;
Signature: (Ljava/lang/Class<*>;)Lorg/springframework/core/MethodParameter;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
containingClass
void setContainingClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.core.MethodParameter.containingClass:Ljava/lang/Class;
1: aload 0
aconst_null
putfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/core/MethodParameter;
0 3 1 containingClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
containingClass
public java.lang.Class<?> getContainingClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.containingClass:Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals: java.lang.Class
StackMap stack:
2: aload 0
invokevirtual org.springframework.core.MethodParameter.getDeclaringClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/core/MethodParameter;
1 4 1 containingClass Ljava/lang/Class<*>;
Signature: ()Ljava/lang/Class<*>;
void setParameterType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
0 2 1 parameterType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
parameterType
public java.lang.Class<?> getParameterType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
invokevirtual org.springframework.core.MethodParameter.getContainingClass:()Ljava/lang/Class;
aload 0
invokevirtual org.springframework.core.MethodParameter.getDeclaringClass:()Ljava/lang/Class;
if_acmpeq 5
4: aload 0
aconst_null
iconst_1
invokestatic org.springframework.core.ResolvableType.forMethodParameter:(Lorg/springframework/core/MethodParameter;Ljava/lang/reflect/Type;I)Lorg/springframework/core/ResolvableType;
invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
astore 1
5: StackMap locals:
StackMap stack:
aload 1
ifnonnull 7
6: aload 0
invokevirtual org.springframework.core.MethodParameter.computeParameterType:()Ljava/lang/Class;
astore 1
7: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.springframework.core.MethodParameter.parameterType:Ljava/lang/Class;
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/core/MethodParameter;
1 9 1 paramType Ljava/lang/Class<*>;
Signature: ()Ljava/lang/Class<*>;
public java.lang.reflect.Type getGenericParameterType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.genericParameterType:Ljava/lang/reflect/Type;
astore 1
start local 1 1: aload 1
ifnonnull 22
2: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
ifge 11
3: aload 0
invokevirtual org.springframework.core.MethodParameter.getMethod:()Ljava/lang/reflect/Method;
astore 2
start local 2 4: aload 2
ifnull 8
5: invokestatic org.springframework.core.KotlinDetector.isKotlinReflectPresent:()Z
ifeq 7
aload 0
invokevirtual org.springframework.core.MethodParameter.getContainingClass:()Ljava/lang/Class;
invokestatic org.springframework.core.KotlinDetector.isKotlinType:(Ljava/lang/Class;)Z
ifeq 7
6: aload 2
invokestatic org.springframework.core.MethodParameter$KotlinDelegate.getGenericReturnType:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Type;
goto 9
StackMap locals: java.lang.reflect.Type java.lang.reflect.Method
StackMap stack:
7: aload 2
invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
goto 9
StackMap locals:
StackMap stack:
8: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
9: StackMap locals:
StackMap stack: java.lang.reflect.Type
astore 1
end local 2 10: goto 21
11: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
astore 2
start local 2 12: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
istore 3
start local 3 13: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
instanceof java.lang.reflect.Constructor
ifeq 17
14: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getDeclaringClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.isInnerClass:(Ljava/lang/Class;)Z
ifeq 17
15: aload 2
arraylength
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameterCount:()I
iconst_1
isub
if_icmpne 17
16: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
iconst_1
isub
istore 3
17: StackMap locals: java.lang.reflect.Type[] int
StackMap stack:
iload 3
iflt 19
iload 3
aload 2
arraylength
if_icmpge 19
18: aload 2
iload 3
aaload
goto 20
StackMap locals:
StackMap stack:
19: aload 0
invokevirtual org.springframework.core.MethodParameter.computeParameterType:()Ljava/lang/Class;
20: StackMap locals:
StackMap stack: java.lang.reflect.Type
astore 1
end local 3 end local 2 21: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.springframework.core.MethodParameter.genericParameterType:Ljava/lang/reflect/Type;
22: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/springframework/core/MethodParameter;
1 23 1 paramType Ljava/lang/reflect/Type;
4 10 2 method Ljava/lang/reflect/Method;
12 21 2 genericParameterTypes [Ljava/lang/reflect/Type;
13 21 3 index I
private java.lang.Class<?> computeParameterType();
descriptor: ()Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
ifge 7
1: aload 0
invokevirtual org.springframework.core.MethodParameter.getMethod:()Ljava/lang/reflect/Method;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
areturn
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
invokestatic org.springframework.core.KotlinDetector.isKotlinReflectPresent:()Z
ifeq 6
aload 0
invokevirtual org.springframework.core.MethodParameter.getContainingClass:()Ljava/lang/Class;
invokestatic org.springframework.core.KotlinDetector.isKotlinType:(Ljava/lang/Class;)Z
ifeq 6
5: aload 1
invokestatic org.springframework.core.MethodParameter$KotlinDelegate.getReturnType:(Ljava/lang/reflect/Method;)Ljava/lang/Class;
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
areturn
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameterTypes:()[Ljava/lang/Class;
aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/core/MethodParameter;
2 7 1 method Ljava/lang/reflect/Method;
Signature: ()Ljava/lang/Class<*>;
public java.lang.Class<?> getNestedParameterType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
iconst_1
if_icmple 19
1: aload 0
invokevirtual org.springframework.core.MethodParameter.getGenericParameterType:()Ljava/lang/reflect/Type;
astore 1
start local 1 2: iconst_2
istore 2
start local 2 3: goto 11
4: StackMap locals: java.lang.reflect.Type int
StackMap stack:
aload 1
instanceof java.lang.reflect.ParameterizedType
ifeq 10
5: aload 1
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 3
start local 3 6: aload 0
iload 2
invokevirtual org.springframework.core.MethodParameter.getTypeIndexForLevel:(I)Ljava/lang/Integer;
astore 4
start local 4 7: aload 3
aload 4
ifnull 8
aload 4
invokevirtual java.lang.Integer.intValue:()I
goto 9
StackMap locals: org.springframework.core.MethodParameter java.lang.reflect.Type int java.lang.reflect.Type[] java.lang.Integer
StackMap stack: java.lang.reflect.Type[]
8: aload 3
arraylength
iconst_1
isub
StackMap locals: org.springframework.core.MethodParameter java.lang.reflect.Type int java.lang.reflect.Type[] java.lang.Integer
StackMap stack: java.lang.reflect.Type[] int
9: aaload
astore 1
end local 4 end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
if_icmple 4
end local 2 12: aload 1
instanceof java.lang.Class
ifeq 14
13: aload 1
checkcast java.lang.Class
areturn
14: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.ParameterizedType
ifeq 18
15: aload 1
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
astore 2
start local 2 16: aload 2
instanceof java.lang.Class
ifeq 18
17: aload 2
checkcast java.lang.Class
areturn
end local 2 18: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
areturn
end local 1 19: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/springframework/core/MethodParameter;
2 19 1 type Ljava/lang/reflect/Type;
3 12 2 i I
6 10 3 args [Ljava/lang/reflect/Type;
7 10 4 index Ljava/lang/Integer;
16 18 2 arg Ljava/lang/reflect/Type;
Signature: ()Ljava/lang/Class<*>;
public java.lang.reflect.Type getNestedGenericParameterType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
iconst_1
if_icmple 13
1: aload 0
invokevirtual org.springframework.core.MethodParameter.getGenericParameterType:()Ljava/lang/reflect/Type;
astore 1
start local 1 2: iconst_2
istore 2
start local 2 3: goto 11
4: StackMap locals: java.lang.reflect.Type int
StackMap stack:
aload 1
instanceof java.lang.reflect.ParameterizedType
ifeq 10
5: aload 1
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 3
start local 3 6: aload 0
iload 2
invokevirtual org.springframework.core.MethodParameter.getTypeIndexForLevel:(I)Ljava/lang/Integer;
astore 4
start local 4 7: aload 3
aload 4
ifnull 8
aload 4
invokevirtual java.lang.Integer.intValue:()I
goto 9
StackMap locals: org.springframework.core.MethodParameter java.lang.reflect.Type int java.lang.reflect.Type[] java.lang.Integer
StackMap stack: java.lang.reflect.Type[]
8: aload 3
arraylength
iconst_1
isub
StackMap locals: org.springframework.core.MethodParameter java.lang.reflect.Type int java.lang.reflect.Type[] java.lang.Integer
StackMap stack: java.lang.reflect.Type[] int
9: aaload
astore 1
end local 4 end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
if_icmple 4
end local 2 12: aload 1
areturn
end local 1 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.core.MethodParameter.getGenericParameterType:()Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/core/MethodParameter;
2 13 1 type Ljava/lang/reflect/Type;
3 12 2 i I
6 10 3 args [Ljava/lang/reflect/Type;
7 10 4 index Ljava/lang/Integer;
public java.lang.annotation.Annotation[] getMethodAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.springframework.core.MethodParameter.getAnnotatedElement:()Ljava/lang/reflect/AnnotatedElement;
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
invokevirtual org.springframework.core.MethodParameter.adaptAnnotationArray:([Ljava/lang/annotation/Annotation;)[Ljava/lang/annotation/Annotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public <A extends java.lang.annotation.Annotation> A getMethodAnnotation(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getAnnotatedElement:()Ljava/lang/reflect/AnnotatedElement;
aload 1
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
astore 2
start local 2 1: aload 2
ifnull 2
aload 0
aload 2
invokevirtual org.springframework.core.MethodParameter.adaptAnnotation:(Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
goto 3
StackMap locals: java.lang.annotation.Annotation
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.annotation.Annotation
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/core/MethodParameter;
0 4 1 annotationType Ljava/lang/Class<TA;>;
1 4 2 annotation TA;
Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
annotationType
public <A extends java.lang.annotation.Annotation> boolean hasMethodAnnotation(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getAnnotatedElement:()Ljava/lang/reflect/AnnotatedElement;
aload 1
invokeinterface java.lang.reflect.AnnotatedElement.isAnnotationPresent:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
0 1 1 annotationType Ljava/lang/Class<TA;>;
Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)Z
MethodParameters:
Name Flags
annotationType
public java.lang.annotation.Annotation[] getParameterAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.parameterAnnotations:[Ljava/lang/annotation/Annotation;
astore 1
start local 1 1: aload 1
ifnonnull 13
2: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
astore 2
start local 2 3: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
istore 3
start local 3 4: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
instanceof java.lang.reflect.Constructor
ifeq 8
5: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getDeclaringClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.isInnerClass:(Ljava/lang/Class;)Z
ifeq 8
6: aload 2
arraylength
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.reflect.Executable.getParameterCount:()I
iconst_1
isub
if_icmpne 8
7: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
iconst_1
isub
istore 3
8: StackMap locals: java.lang.annotation.Annotation[] java.lang.annotation.Annotation[][] int
StackMap stack:
iload 3
iflt 10
iload 3
aload 2
arraylength
if_icmpge 10
9: aload 0
aload 2
iload 3
aaload
invokevirtual org.springframework.core.MethodParameter.adaptAnnotationArray:([Ljava/lang/annotation/Annotation;)[Ljava/lang/annotation/Annotation;
goto 11
StackMap locals:
StackMap stack:
10: getstatic org.springframework.core.MethodParameter.EMPTY_ANNOTATION_ARRAY:[Ljava/lang/annotation/Annotation;
11: StackMap locals:
StackMap stack: java.lang.annotation.Annotation[]
astore 1
12: aload 0
aload 1
putfield org.springframework.core.MethodParameter.parameterAnnotations:[Ljava/lang/annotation/Annotation;
end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/core/MethodParameter;
1 14 1 paramAnns [Ljava/lang/annotation/Annotation;
3 13 2 annotationArray [[Ljava/lang/annotation/Annotation;
4 13 3 index I
public boolean hasParameterAnnotations();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getParameterAnnotations:()[Ljava/lang/annotation/Annotation;
arraylength
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
public <A extends java.lang.annotation.Annotation> A getParameterAnnotation(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getParameterAnnotations:()[Ljava/lang/annotation/Annotation;
astore 2
start local 2 1: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: org.springframework.core.MethodParameter java.lang.Class java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 1
aload 3
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 5
4: aload 3
areturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/core/MethodParameter;
0 8 1 annotationType Ljava/lang/Class<TA;>;
1 8 2 anns [Ljava/lang/annotation/Annotation;
3 5 3 ann Ljava/lang/annotation/Annotation;
Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
annotationType
public <A extends java.lang.annotation.Annotation> boolean hasParameterAnnotation(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.core.MethodParameter.getParameterAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/core/MethodParameter;
0 2 1 annotationType Ljava/lang/Class<TA;>;
Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)Z
MethodParameters:
Name Flags
annotationType
public void initParameterNameDiscovery(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.core.MethodParameter.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/core/MethodParameter;
0 2 1 parameterNameDiscoverer Lorg/springframework/core/ParameterNameDiscoverer;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
parameterNameDiscoverer
public java.lang.String getParameterName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
ifge 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
astore 1
start local 1 3: aload 1
ifnull 13
4: aconst_null
astore 2
start local 2 5: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
instanceof java.lang.reflect.Method
ifeq 8
6: aload 1
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
checkcast java.lang.reflect.Method
invokeinterface org.springframework.core.ParameterNameDiscoverer.getParameterNames:(Ljava/lang/reflect/Method;)[Ljava/lang/String;
astore 2
7: goto 10
8: StackMap locals: org.springframework.core.ParameterNameDiscoverer java.lang.String[]
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
instanceof java.lang.reflect.Constructor
ifeq 10
9: aload 1
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
checkcast java.lang.reflect.Constructor
invokeinterface org.springframework.core.ParameterNameDiscoverer.getParameterNames:(Ljava/lang/reflect/Constructor;)[Ljava/lang/String;
astore 2
10: StackMap locals:
StackMap stack:
aload 2
ifnull 12
11: aload 0
aload 2
aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
aaload
putfield org.springframework.core.MethodParameter.parameterName:Ljava/lang/String;
12: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.springframework.core.MethodParameter.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
end local 2 13: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.core.MethodParameter.parameterName:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/core/MethodParameter;
3 14 1 discoverer Lorg/springframework/core/ParameterNameDiscoverer;
5 13 2 parameterNames [Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected <A extends java.lang.annotation.Annotation> A adaptAnnotation();
descriptor: (Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
0 1 1 annotation TA;
Signature: <A::Ljava/lang/annotation/Annotation;>(TA;)TA;
MethodParameters:
Name Flags
annotation
protected java.lang.annotation.Annotation[] adaptAnnotationArray(java.lang.annotation.Annotation[]);
descriptor: ([Ljava/lang/annotation/Annotation;)[Ljava/lang/annotation/Annotation;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
0 1 1 annotations [Ljava/lang/annotation/Annotation;
MethodParameters:
Name Flags
annotations
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.springframework.core.MethodParameter
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.springframework.core.MethodParameter
astore 2
start local 2 5: aload 0
invokevirtual org.springframework.core.MethodParameter.getContainingClass:()Ljava/lang/Class;
aload 2
invokevirtual org.springframework.core.MethodParameter.getContainingClass:()Ljava/lang/Class;
if_acmpne 11
6: aload 0
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
aload 2
getfield org.springframework.core.MethodParameter.typeIndexesPerLevel:Ljava/util/Map;
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 11
7: aload 0
getfield org.springframework.core.MethodParameter.nestingLevel:I
aload 2
getfield org.springframework.core.MethodParameter.nestingLevel:I
if_icmpne 11
8: aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
aload 2
getfield org.springframework.core.MethodParameter.parameterIndex:I
if_icmpne 11
9: aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
aload 2
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
10: iconst_1
ireturn
StackMap locals: org.springframework.core.MethodParameter
StackMap stack:
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/core/MethodParameter;
0 12 1 other Ljava/lang/Object;
5 12 2 otherParam Lorg/springframework/core/MethodParameter;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 31
aload 0
getfield org.springframework.core.MethodParameter.executable:Ljava/lang/reflect/Executable;
invokevirtual java.lang.Object.hashCode:()I
imul
aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getMethod:()Ljava/lang/reflect/Method;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
aload 1
ifnull 2
new java.lang.StringBuilder
dup
ldc "method '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 3
StackMap locals: org.springframework.core.MethodParameter java.lang.reflect.Method
StackMap stack: new 1 new 1
2: ldc "constructor"
StackMap locals: org.springframework.core.MethodParameter java.lang.reflect.Method
StackMap stack: new 1 new 1 java.lang.String
3: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: ldc " parameter "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.core.MethodParameter.parameterIndex:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/core/MethodParameter;
1 6 1 method Ljava/lang/reflect/Method;
public org.springframework.core.MethodParameter clone();
descriptor: ()Lorg/springframework/core/MethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.springframework.core.MethodParameter
dup
aload 0
invokespecial org.springframework.core.MethodParameter.<init>:(Lorg/springframework/core/MethodParameter;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/core/MethodParameter;
public static org.springframework.core.MethodParameter forMethodOrConstructor(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Lorg/springframework/core/MethodParameter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.reflect.Executable
ifne 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "Given object ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] is neither a Method nor a Constructor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.reflect.Executable
iload 1
invokestatic org.springframework.core.MethodParameter.forExecutable:(Ljava/lang/reflect/Executable;I)Lorg/springframework/core/MethodParameter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 methodOrConstructor Ljava/lang/Object;
0 5 1 parameterIndex I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
methodOrConstructor
parameterIndex
public static org.springframework.core.MethodParameter forExecutable(java.lang.reflect.Executable, int);
descriptor: (Ljava/lang/reflect/Executable;I)Lorg/springframework/core/MethodParameter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.reflect.Method
ifeq 2
1: new org.springframework.core.MethodParameter
dup
aload 0
checkcast java.lang.reflect.Method
iload 1
invokespecial org.springframework.core.MethodParameter.<init>:(Ljava/lang/reflect/Method;I)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.Constructor
ifeq 4
3: new org.springframework.core.MethodParameter
dup
aload 0
checkcast java.lang.reflect.Constructor
iload 1
invokespecial org.springframework.core.MethodParameter.<init>:(Ljava/lang/reflect/Constructor;I)V
areturn
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Not a Method/Constructor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 executable Ljava/lang/reflect/Executable;
0 5 1 parameterIndex I
MethodParameters:
Name Flags
executable
parameterIndex
public static org.springframework.core.MethodParameter forParameter(java.lang.reflect.Parameter);
descriptor: (Ljava/lang/reflect/Parameter;)Lorg/springframework/core/MethodParameter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Parameter.getDeclaringExecutable:()Ljava/lang/reflect/Executable;
aload 0
invokestatic org.springframework.core.MethodParameter.findParameterIndex:(Ljava/lang/reflect/Parameter;)I
invokestatic org.springframework.core.MethodParameter.forExecutable:(Ljava/lang/reflect/Executable;I)Lorg/springframework/core/MethodParameter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 parameter Ljava/lang/reflect/Parameter;
MethodParameters:
Name Flags
parameter
protected static int findParameterIndex(java.lang.reflect.Parameter);
descriptor: (Ljava/lang/reflect/Parameter;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Parameter.getDeclaringExecutable:()Ljava/lang/reflect/Executable;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.reflect.Executable.getParameters:()[Ljava/lang/reflect/Parameter;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: java.lang.reflect.Executable java.lang.reflect.Parameter[] int
StackMap stack:
aload 0
aload 2
iload 3
aaload
if_acmpne 6
5: iload 3
ireturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 8: iconst_0
istore 3
start local 3 9: goto 13
10: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
aaload
invokevirtual java.lang.reflect.Parameter.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iload 3
ireturn
12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 2
arraylength
if_icmplt 10
end local 3 14: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Given parameter ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15: ldc "] does not match any parameter in the declaring executable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 parameter Ljava/lang/reflect/Parameter;
1 17 1 executable Ljava/lang/reflect/Executable;
2 17 2 allParams [Ljava/lang/reflect/Parameter;
3 8 3 i I
9 14 3 i I
MethodParameters:
Name Flags
parameter
private static int validateIndex(java.lang.reflect.Executable, int);
descriptor: (Ljava/lang/reflect/Executable;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.reflect.Executable.getParameterCount:()I
istore 2
start local 2 1: iload 1
iconst_m1
if_icmplt 2
iload 1
iload 2
if_icmpge 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
3: StackMap locals:
StackMap stack: int
iload 2
invokedynamic get(I)Ljava/util/function/Supplier;
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/Object;
org/springframework/core/MethodParameter.lambda$0(I)Ljava/lang/String; (6)
()Ljava/lang/String;
4: invokestatic org.springframework.util.Assert.isTrue:(ZLjava/util/function/Supplier;)V
5: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 executable Ljava/lang/reflect/Executable;
0 6 1 parameterIndex I
1 6 2 count I
MethodParameters:
Name Flags
executable
parameterIndex
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.springframework.core.MethodParameter.clone:()Lorg/springframework/core/MethodParameter;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
private static java.lang.String lambda$0(int);
descriptor: (I)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "Parameter index needs to be between -1 and "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
iconst_1
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "MethodParameter.java"
NestMembers:
org.springframework.core.MethodParameter$KotlinDelegate
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private KotlinDelegate = org.springframework.core.MethodParameter$KotlinDelegate of org.springframework.core.MethodParameter