public class org.springframework.web.method.HandlerMethod$HandlerMethodParameter extends org.springframework.core.annotation.SynthesizingMethodParameter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.web.method.HandlerMethod$HandlerMethodParameter
super_class: org.springframework.core.annotation.SynthesizingMethodParameter
{
private volatile java.lang.annotation.Annotation[] combinedAnnotations;
descriptor: [Ljava/lang/annotation/Annotation;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
final org.springframework.web.method.HandlerMethod this$0;
descriptor: Lorg/springframework/web/method/HandlerMethod;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.web.method.HandlerMethod, int);
descriptor: (Lorg/springframework/web/method/HandlerMethod;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
1: aload 0
aload 1
getfield org.springframework.web.method.HandlerMethod.bridgedMethod:Ljava/lang/reflect/Method;
iload 2
invokespecial org.springframework.core.annotation.SynthesizingMethodParameter.<init>:(Ljava/lang/reflect/Method;I)V
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
0 3 2 index I
MethodParameters:
Name Flags
this$0 final
index
protected void <init>(org.springframework.web.method.HandlerMethod, org.springframework.web.method.HandlerMethod$HandlerMethodParameter);
descriptor: (Lorg/springframework/web/method/HandlerMethod;Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
1: aload 0
aload 2
invokespecial org.springframework.core.annotation.SynthesizingMethodParameter.<init>:(Lorg/springframework/core/annotation/SynthesizingMethodParameter;)V
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
0 3 2 original Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
MethodParameters:
Name Flags
this$0 final
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.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
getfield org.springframework.web.method.HandlerMethod.bridgedMethod:Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
RuntimeVisibleAnnotations:
org.springframework.lang.NonNull()
public java.lang.Class<?> getContainingClass();
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.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
invokevirtual org.springframework.web.method.HandlerMethod.getBeanType:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
Signature: ()Ljava/lang/Class<*>;
public <T extends java.lang.annotation.Annotation> T getMethodAnnotation(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
aload 1
invokevirtual org.springframework.web.method.HandlerMethod.getMethodAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
0 1 1 annotationType Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
annotationType
public <T extends java.lang.annotation.Annotation> boolean hasMethodAnnotation(java.lang.Class<T>);
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
getfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
aload 1
invokevirtual org.springframework.web.method.HandlerMethod.hasMethodAnnotation:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
0 1 1 annotationType Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)Z
MethodParameters:
Name Flags
annotationType
public java.lang.annotation.Annotation[] getParameterAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=16, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.combinedAnnotations:[Ljava/lang/annotation/Annotation;
astore 1
start local 1 1: aload 1
ifnonnull 29
2: aload 0
invokespecial org.springframework.core.annotation.SynthesizingMethodParameter.getParameterAnnotations:()[Ljava/lang/annotation/Annotation;
astore 1
3: aload 0
invokevirtual org.springframework.web.method.HandlerMethod$HandlerMethodParameter.getParameterIndex:()I
istore 2
start local 2 4: iload 2
iflt 28
5: aload 0
getfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
invokevirtual org.springframework.web.method.HandlerMethod.getInterfaceParameterAnnotations:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 27
StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation[][]
astore 3
start local 3 7: iload 2
aload 3
arraylength
if_icmpge 27
8: aload 3
iload 2
aaload
astore 5
start local 5 9: aload 5
arraylength
ifle 27
10: new java.util.ArrayList
dup
aload 1
arraylength
aload 5
arraylength
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 11: aload 6
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
12: aload 5
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 25
StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int java.lang.annotation.Annotation[][] java.util.Iterator java.lang.annotation.Annotation[] java.util.List top int int java.lang.annotation.Annotation[]
StackMap stack:
13: aload 10
iload 8
aaload
astore 7
start local 7 14: iconst_0
istore 11
start local 11 15: aload 1
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 21
StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int java.lang.annotation.Annotation[][] java.util.Iterator java.lang.annotation.Annotation[] java.util.List java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] int top int int java.lang.annotation.Annotation[]
StackMap stack:
16: aload 15
iload 13
aaload
astore 12
start local 12 17: aload 12
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
aload 7
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
if_acmpne 20
18: iconst_1
istore 11
19: goto 22
end local 12 20: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
21: iload 13
iload 14
if_icmplt 16
22: StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int java.lang.annotation.Annotation[][] java.util.Iterator java.lang.annotation.Annotation[] java.util.List java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] int
StackMap stack:
iload 11
ifne 24
23: aload 6
aload 0
aload 7
invokevirtual org.springframework.web.method.HandlerMethod$HandlerMethodParameter.adaptAnnotation:(Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 7 24: StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int java.lang.annotation.Annotation[][] java.util.Iterator java.lang.annotation.Annotation[] java.util.List top int int java.lang.annotation.Annotation[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 9
if_icmplt 13
26: aload 6
iconst_0
anewarray java.lang.annotation.Annotation
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.annotation.Annotation[]
astore 1
end local 6 end local 5 end local 3 27: StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
28: StackMap locals: org.springframework.web.method.HandlerMethod$HandlerMethodParameter java.lang.annotation.Annotation[] int
StackMap stack:
aload 0
aload 1
putfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.combinedAnnotations:[Ljava/lang/annotation/Annotation;
end local 2 29: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
1 30 1 anns [Ljava/lang/annotation/Annotation;
4 29 2 index I
7 27 3 ifcAnns [[Ljava/lang/annotation/Annotation;
9 27 5 paramAnns [Ljava/lang/annotation/Annotation;
11 27 6 merged Ljava/util/List<Ljava/lang/annotation/Annotation;>;
14 24 7 paramAnn Ljava/lang/annotation/Annotation;
15 24 11 existingType Z
17 20 12 ann Ljava/lang/annotation/Annotation;
public org.springframework.web.method.HandlerMethod$HandlerMethodParameter clone();
descriptor: ()Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.springframework.web.method.HandlerMethod$HandlerMethodParameter
dup
aload 0
getfield org.springframework.web.method.HandlerMethod$HandlerMethodParameter.this$0:Lorg/springframework/web/method/HandlerMethod;
aload 0
invokespecial org.springframework.web.method.HandlerMethod$HandlerMethodParameter.<init>:(Lorg/springframework/web/method/HandlerMethod;Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
public org.springframework.core.annotation.SynthesizingMethodParameter clone();
descriptor: ()Lorg/springframework/core/annotation/SynthesizingMethodParameter;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.springframework.web.method.HandlerMethod$HandlerMethodParameter.clone:()Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
areturn
LocalVariableTable:
Start End Slot Name Signature
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.web.method.HandlerMethod$HandlerMethodParameter.clone:()Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
public org.springframework.core.MethodParameter clone();
descriptor: ()Lorg/springframework/core/MethodParameter;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.springframework.web.method.HandlerMethod$HandlerMethodParameter.clone:()Lorg/springframework/web/method/HandlerMethod$HandlerMethodParameter;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "HandlerMethod.java"
NestHost: org.springframework.web.method.HandlerMethod
InnerClasses:
protected HandlerMethodParameter = org.springframework.web.method.HandlerMethod$HandlerMethodParameter of org.springframework.web.method.HandlerMethod