class org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter extends org.springframework.core.MethodParameter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter
super_class: org.springframework.core.MethodParameter
{
private final java.lang.String parameterName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.lang.annotation.Annotation[] combinedAnnotations;
descriptor: [Ljava/lang/annotation/Annotation;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>(java.lang.reflect.Constructor<?>, int, java.lang.String);
descriptor: (Ljava/lang/reflect/Constructor;ILjava/lang/String;)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
aload 1
iload 2
invokespecial org.springframework.core.MethodParameter.<init>:(Ljava/lang/reflect/Constructor;I)V
1: aload 0
aload 3
putfield org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter.parameterName:Ljava/lang/String;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/method/annotation/ModelAttributeMethodProcessor$FieldAwareConstructorParameter;
0 3 1 constructor Ljava/lang/reflect/Constructor<*>;
0 3 2 parameterIndex I
0 3 3 parameterName Ljava/lang/String;
Signature: (Ljava/lang/reflect/Constructor<*>;ILjava/lang/String;)V
MethodParameters:
Name Flags
constructor
parameterIndex
parameterName
public java.lang.annotation.Annotation[] getParameterAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter.combinedAnnotations:[Ljava/lang/annotation/Annotation;
astore 1
start local 1 1: aload 1
ifnonnull 26
2: aload 0
invokespecial org.springframework.core.MethodParameter.getParameterAnnotations:()[Ljava/lang/annotation/Annotation;
astore 1
3: aload 0
invokevirtual org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter.getDeclaringClass:()Ljava/lang/Class;
aload 0
getfield org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter.parameterName:Ljava/lang/String;
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 4: aload 2
invokevirtual java.lang.reflect.Field.getAnnotations:()[Ljava/lang/annotation/Annotation;
astore 3
start local 3 5: aload 3
arraylength
ifle 25
6: new java.util.ArrayList
dup
aload 1
arraylength
aload 3
arraylength
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 7: aload 4
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 21
StackMap locals: org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter java.lang.annotation.Annotation[] java.lang.reflect.Field java.lang.annotation.Annotation[] java.util.List top int int java.lang.annotation.Annotation[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: iconst_0
istore 9
start local 9 11: aload 1
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 17
StackMap locals: org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter java.lang.annotation.Annotation[] java.lang.reflect.Field 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:
12: aload 13
iload 11
aaload
astore 10
start local 10 13: aload 10
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
aload 5
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
if_acmpne 16
14: iconst_1
istore 9
15: goto 18
end local 10 16: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
17: iload 11
iload 12
if_icmplt 12
18: StackMap locals: org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter java.lang.annotation.Annotation[] java.lang.reflect.Field java.lang.annotation.Annotation[] java.util.List java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] int
StackMap stack:
iload 9
ifne 20
19: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 5 20: StackMap locals: org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter java.lang.annotation.Annotation[] java.lang.reflect.Field java.lang.annotation.Annotation[] java.util.List top int int java.lang.annotation.Annotation[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
iload 7
if_icmplt 9
22: aload 4
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 4 end local 3 end local 2 23: goto 25
24: StackMap locals: org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter java.lang.annotation.Annotation[]
StackMap stack: java.lang.Exception
pop
25: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter.combinedAnnotations:[Ljava/lang/annotation/Annotation;
26: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/springframework/web/method/annotation/ModelAttributeMethodProcessor$FieldAwareConstructorParameter;
1 27 1 anns [Ljava/lang/annotation/Annotation;
4 23 2 field Ljava/lang/reflect/Field;
5 23 3 fieldAnns [Ljava/lang/annotation/Annotation;
7 23 4 merged Ljava/util/List<Ljava/lang/annotation/Annotation;>;
10 20 5 fieldAnn Ljava/lang/annotation/Annotation;
11 20 9 existingType Z
13 16 10 ann Ljava/lang/annotation/Annotation;
Exception table:
from to target type
3 23 24 Class java.lang.NoSuchFieldException
3 23 24 Class java.lang.SecurityException
public java.lang.String getParameterName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter.parameterName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/method/annotation/ModelAttributeMethodProcessor$FieldAwareConstructorParameter;
}
SourceFile: "ModelAttributeMethodProcessor.java"
NestHost: org.springframework.web.method.annotation.ModelAttributeMethodProcessor
InnerClasses:
private FieldAwareConstructorParameter = org.springframework.web.method.annotation.ModelAttributeMethodProcessor$FieldAwareConstructorParameter of org.springframework.web.method.annotation.ModelAttributeMethodProcessor