public final class sun.reflect.annotation.TypeAnnotationParser
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.reflect.annotation.TypeAnnotationParser
super_class: java.lang.Object
{
private static final sun.reflect.annotation.TypeAnnotation[] EMPTY_TYPE_ANNOTATION_ARRAY;
descriptor: [Lsun/reflect/annotation/TypeAnnotation;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte CLASS_TYPE_PARAMETER;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final byte METHOD_TYPE_PARAMETER;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte CLASS_EXTENDS;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final byte CLASS_TYPE_PARAMETER_BOUND;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 17
private static final byte METHOD_TYPE_PARAMETER_BOUND;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 18
private static final byte FIELD;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 19
private static final byte METHOD_RETURN;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final byte METHOD_RECEIVER;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 21
private static final byte METHOD_FORMAL_PARAMETER;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 22
private static final byte THROWS;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 23
private static final byte LOCAL_VARIABLE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final byte RESOURCE_VARIABLE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65
private static final byte EXCEPTION_PARAMETER;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 66
private static final byte INSTANCEOF;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 67
private static final byte NEW;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 68
private static final byte CONSTRUCTOR_REFERENCE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 69
private static final byte METHOD_REFERENCE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 70
private static final byte CAST;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 71
private static final byte CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 72
private static final byte METHOD_INVOCATION_TYPE_ARGUMENT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 73
private static final byte CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 74
private static final byte METHOD_REFERENCE_TYPE_ARGUMENT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 75
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray sun.reflect.annotation.TypeAnnotation
putstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/reflect/annotation/TypeAnnotationParser;
public static java.lang.reflect.AnnotatedType buildAnnotatedType(byte[], sun.reflect.ConstantPool, java.lang.reflect.AnnotatedElement, java.lang.Class<?>, java.lang.reflect.Type, sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget);
descriptor: ([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)Ljava/lang/reflect/AnnotatedType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
1: aload 1
2: aload 2
3: aload 3
4: invokestatic sun.reflect.annotation.TypeAnnotationParser.parseTypeAnnotations:([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)[Lsun/reflect/annotation/TypeAnnotation;
astore 6
start local 6 5: new java.util.ArrayList
dup
aload 6
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 6: aload 6
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 12
StackMap locals: byte[] sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class java.lang.reflect.Type sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget sun.reflect.annotation.TypeAnnotation[] java.util.List top int int sun.reflect.annotation.TypeAnnotation[]
StackMap stack:
7: aload 11
iload 9
aaload
astore 8
start local 8 8: aload 8
invokevirtual sun.reflect.annotation.TypeAnnotation.getTargetInfo:()Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
astore 12
start local 12 9: aload 12
invokevirtual sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.getTarget:()Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
aload 5
if_acmpne 11
10: aload 7
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 8 11: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
12: iload 9
iload 10
if_icmplt 7
13: aload 7
getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation[]
astore 8
start local 8 14: aload 4
15: getstatic sun.reflect.annotation.TypeAnnotation$LocationInfo.BASE_LOCATION:Lsun/reflect/annotation/TypeAnnotation$LocationInfo;
16: aload 8
17: aload 8
18: aload 2
19: invokestatic sun.reflect.annotation.AnnotatedTypeFactory.buildAnnotatedType:(Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$LocationInfo;[Lsun/reflect/annotation/TypeAnnotation;[Lsun/reflect/annotation/TypeAnnotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/reflect/AnnotatedType;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 rawAnnotations [B
0 20 1 cp Lsun/reflect/ConstantPool;
0 20 2 decl Ljava/lang/reflect/AnnotatedElement;
0 20 3 container Ljava/lang/Class<*>;
0 20 4 type Ljava/lang/reflect/Type;
0 20 5 filter Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
5 20 6 tas [Lsun/reflect/annotation/TypeAnnotation;
6 20 7 l Ljava/util/List<Lsun/reflect/annotation/TypeAnnotation;>;
8 11 8 t Lsun/reflect/annotation/TypeAnnotation;
9 11 12 ti Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
14 20 8 typeAnnotations [Lsun/reflect/annotation/TypeAnnotation;
Signature: ([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)Ljava/lang/reflect/AnnotatedType;
MethodParameters:
Name Flags
rawAnnotations
cp
decl
container
type
filter
public static java.lang.reflect.AnnotatedType[] buildAnnotatedTypes(byte[], sun.reflect.ConstantPool, java.lang.reflect.AnnotatedElement, java.lang.Class<?>, java.lang.reflect.Type[], sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget);
descriptor: ([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;[Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)[Ljava/lang/reflect/AnnotatedType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=17, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
arraylength
istore 6
start local 6 1: iload 6
anewarray java.lang.reflect.AnnotatedType
astore 7
start local 7 2: aload 7
getstatic sun.reflect.annotation.AnnotatedTypeFactory.EMPTY_ANNOTATED_TYPE:Ljava/lang/reflect/AnnotatedType;
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
3: iload 6
anewarray java.util.ArrayList
astore 8
start local 8 4: aload 0
5: aload 1
6: aload 2
7: aload 3
8: invokestatic sun.reflect.annotation.TypeAnnotationParser.parseTypeAnnotations:([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)[Lsun/reflect/annotation/TypeAnnotation;
astore 9
start local 9 9: aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 20
StackMap locals: byte[] sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class java.lang.reflect.Type[] sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget int java.lang.reflect.AnnotatedType[] java.util.ArrayList[] sun.reflect.annotation.TypeAnnotation[] top int int sun.reflect.annotation.TypeAnnotation[]
StackMap stack:
10: aload 13
iload 11
aaload
astore 10
start local 10 11: aload 10
invokevirtual sun.reflect.annotation.TypeAnnotation.getTargetInfo:()Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
astore 14
start local 14 12: aload 14
invokevirtual sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.getTarget:()Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
aload 5
if_acmpne 19
13: aload 14
invokevirtual sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.getCount:()I
istore 15
start local 15 14: aload 8
iload 15
aaload
ifnonnull 17
15: new java.util.ArrayList
dup
aload 9
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 16
start local 16 16: aload 8
iload 15
aload 16
aastore
end local 16 17: StackMap locals: byte[] sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class java.lang.reflect.Type[] sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget int java.lang.reflect.AnnotatedType[] java.util.ArrayList[] sun.reflect.annotation.TypeAnnotation[] sun.reflect.annotation.TypeAnnotation int int sun.reflect.annotation.TypeAnnotation[] sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo int
StackMap stack:
aload 8
iload 15
aaload
astore 16
start local 16 18: aload 16
aload 10
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 15 end local 14 end local 10 19: StackMap locals: byte[] sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class java.lang.reflect.Type[] sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget int java.lang.reflect.AnnotatedType[] java.util.ArrayList[] sun.reflect.annotation.TypeAnnotation[] top int int sun.reflect.annotation.TypeAnnotation[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
20: iload 11
iload 12
if_icmplt 10
21: iconst_0
istore 10
start local 10 22: goto 35
23: StackMap locals: byte[] sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class java.lang.reflect.Type[] sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget int java.lang.reflect.AnnotatedType[] java.util.ArrayList[] sun.reflect.annotation.TypeAnnotation[] int
StackMap stack:
aload 8
iload 10
aaload
astore 11
start local 11 24: aload 11
ifnull 27
25: aload 11
aload 11
invokevirtual java.util.ArrayList.size:()I
anewarray sun.reflect.annotation.TypeAnnotation
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation[]
astore 12
start local 12 26: goto 28
end local 12 27: StackMap locals: java.util.ArrayList
StackMap stack:
getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
astore 12
start local 12 28: StackMap locals: sun.reflect.annotation.TypeAnnotation[]
StackMap stack:
aload 7
iload 10
aload 4
iload 10
aaload
29: getstatic sun.reflect.annotation.TypeAnnotation$LocationInfo.BASE_LOCATION:Lsun/reflect/annotation/TypeAnnotation$LocationInfo;
30: aload 12
31: aload 12
32: aload 2
33: invokestatic sun.reflect.annotation.AnnotatedTypeFactory.buildAnnotatedType:(Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$LocationInfo;[Lsun/reflect/annotation/TypeAnnotation;[Lsun/reflect/annotation/TypeAnnotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/reflect/AnnotatedType;
aastore
end local 12 end local 11 34: iinc 10 1
StackMap locals:
StackMap stack:
35: iload 10
iload 6
if_icmplt 23
end local 10 36: aload 7
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 rawAnnotations [B
0 37 1 cp Lsun/reflect/ConstantPool;
0 37 2 decl Ljava/lang/reflect/AnnotatedElement;
0 37 3 container Ljava/lang/Class<*>;
0 37 4 types [Ljava/lang/reflect/Type;
0 37 5 filter Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
1 37 6 size I
2 37 7 result [Ljava/lang/reflect/AnnotatedType;
4 37 8 l [Ljava/util/ArrayList;
9 37 9 tas [Lsun/reflect/annotation/TypeAnnotation;
11 19 10 t Lsun/reflect/annotation/TypeAnnotation;
12 19 14 ti Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
14 19 15 pos I
16 17 16 tmp Ljava/util/ArrayList<Lsun/reflect/annotation/TypeAnnotation;>;
18 19 16 tmp Ljava/util/ArrayList<Lsun/reflect/annotation/TypeAnnotation;>;
22 36 10 i I
24 34 11 list Ljava/util/ArrayList<Lsun/reflect/annotation/TypeAnnotation;>;
26 27 12 typeAnnotations [Lsun/reflect/annotation/TypeAnnotation;
28 34 12 typeAnnotations [Lsun/reflect/annotation/TypeAnnotation;
Signature: ([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<*>;[Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)[Ljava/lang/reflect/AnnotatedType;
MethodParameters:
Name Flags
rawAnnotations
cp
decl
container
types
filter
public static java.lang.reflect.AnnotatedType buildAnnotatedSuperclass(byte[], sun.reflect.ConstantPool, java.lang.Class<?>);
descriptor: ([BLsun/reflect/ConstantPool;Ljava/lang/Class;)Ljava/lang/reflect/AnnotatedType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: getstatic sun.reflect.annotation.AnnotatedTypeFactory.EMPTY_ANNOTATED_TYPE:Ljava/lang/reflect/AnnotatedType;
areturn
3: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 0
4: aload 1
5: aload 2
6: aload 2
7: aload 3
8: getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_EXTENDS:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
9: invokestatic sun.reflect.annotation.TypeAnnotationParser.buildAnnotatedType:([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)Ljava/lang/reflect/AnnotatedType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 rawAnnotations [B
0 10 1 cp Lsun/reflect/ConstantPool;
0 10 2 decl Ljava/lang/Class<*>;
1 10 3 supertype Ljava/lang/reflect/Type;
Signature: ([BLsun/reflect/ConstantPool;Ljava/lang/Class<*>;)Ljava/lang/reflect/AnnotatedType;
MethodParameters:
Name Flags
rawAnnotations
cp
decl
public static java.lang.reflect.AnnotatedType[] buildAnnotatedInterfaces(byte[], sun.reflect.ConstantPool, java.lang.Class<?>);
descriptor: ([BLsun/reflect/ConstantPool;Ljava/lang/Class;)[Ljava/lang/reflect/AnnotatedType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc Ljava/lang/Object;
if_acmpeq 4
1: aload 2
invokevirtual java.lang.Class.isArray:()Z
ifne 4
2: aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 4
3: aload 2
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 5
4: StackMap locals:
StackMap stack:
getstatic sun.reflect.annotation.AnnotatedTypeFactory.EMPTY_ANNOTATED_TYPE_ARRAY:[Ljava/lang/reflect/AnnotatedType;
areturn
5: StackMap locals:
StackMap stack:
aload 0
6: aload 1
7: aload 2
8: aload 2
9: aload 2
invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
10: getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_IMPLEMENTS:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
11: invokestatic sun.reflect.annotation.TypeAnnotationParser.buildAnnotatedTypes:([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;[Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)[Ljava/lang/reflect/AnnotatedType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 rawAnnotations [B
0 12 1 cp Lsun/reflect/ConstantPool;
0 12 2 decl Ljava/lang/Class<*>;
Signature: ([BLsun/reflect/ConstantPool;Ljava/lang/Class<*>;)[Ljava/lang/reflect/AnnotatedType;
MethodParameters:
Name Flags
rawAnnotations
cp
decl
public static <D extends java.lang.reflect.GenericDeclaration> java.lang.annotation.Annotation[] parseTypeVariableAnnotations(D, int);
descriptor: (Ljava/lang/reflect/GenericDeclaration;I)[Ljava/lang/annotation/Annotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Class
ifeq 4
1: aload 0
checkcast java.lang.Class
astore 2
start local 2 2: getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_TYPE_PARAMETER:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
astore 3
start local 3 3: goto 9
end local 3 end local 2 StackMap locals:
StackMap stack:
4: aload 0
instanceof java.lang.reflect.Executable
ifeq 8
5: aload 0
checkcast java.lang.reflect.Executable
astore 2
start local 2 6: getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_TYPE_PARAMETER:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
astore 3
start local 3 7: goto 9
end local 3 end local 2 8: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unknown GenericDeclaration "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\nthis should not happen."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 2 start local 3 9: StackMap locals: java.lang.reflect.AnnotatedElement sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget
StackMap stack:
aload 2
invokestatic sun.reflect.annotation.TypeAnnotationParser.parseAllTypeAnnotations:(Ljava/lang/reflect/AnnotatedElement;)[Lsun/reflect/annotation/TypeAnnotation;
10: aload 3
11: invokestatic sun.reflect.annotation.TypeAnnotation.filter:([Lsun/reflect/annotation/TypeAnnotation;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)Ljava/util/List;
astore 4
start local 4 12: new java.util.ArrayList
dup
aload 4
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 13: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 17
StackMap locals: java.lang.reflect.GenericDeclaration int java.lang.reflect.AnnotatedElement sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget java.util.List java.util.List top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation
astore 6
start local 6 15: aload 6
invokevirtual sun.reflect.annotation.TypeAnnotation.getTargetInfo:()Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
invokevirtual sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.getCount:()I
iload 1
if_icmpne 17
16: aload 5
aload 6
invokevirtual sun.reflect.annotation.TypeAnnotation.getAnnotation:()Ljava/lang/annotation/Annotation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 17: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: aload 5
iconst_0
anewarray java.lang.annotation.Annotation
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.annotation.Annotation[]
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 19 0 genericDecl TD;
0 19 1 typeVarIndex I
2 4 2 decl Ljava/lang/reflect/AnnotatedElement;
6 8 2 decl Ljava/lang/reflect/AnnotatedElement;
9 19 2 decl Ljava/lang/reflect/AnnotatedElement;
3 4 3 predicate Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
7 8 3 predicate Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
9 19 3 predicate Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
12 19 4 typeVarAnnos Ljava/util/List<Lsun/reflect/annotation/TypeAnnotation;>;
13 19 5 res Ljava/util/List<Ljava/lang/annotation/Annotation;>;
15 17 6 t Lsun/reflect/annotation/TypeAnnotation;
Signature: <D::Ljava/lang/reflect/GenericDeclaration;>(TD;I)[Ljava/lang/annotation/Annotation;
MethodParameters:
Name Flags
genericDecl
typeVarIndex
public static <D extends java.lang.reflect.GenericDeclaration> java.lang.reflect.AnnotatedType[] parseAnnotatedBounds(java.lang.reflect.Type[], D, int);
descriptor: ([Ljava/lang/reflect/Type;Ljava/lang/reflect/GenericDeclaration;I)[Ljava/lang/reflect/AnnotatedType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
getstatic sun.reflect.annotation.TypeAnnotation$LocationInfo.BASE_LOCATION:Lsun/reflect/annotation/TypeAnnotation$LocationInfo;
invokestatic sun.reflect.annotation.TypeAnnotationParser.parseAnnotatedBounds:([Ljava/lang/reflect/Type;Ljava/lang/reflect/GenericDeclaration;ILsun/reflect/annotation/TypeAnnotation$LocationInfo;)[Ljava/lang/reflect/AnnotatedType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bounds [Ljava/lang/reflect/Type;
0 1 1 decl TD;
0 1 2 typeVarIndex I
Signature: <D::Ljava/lang/reflect/GenericDeclaration;>([Ljava/lang/reflect/Type;TD;I)[Ljava/lang/reflect/AnnotatedType;
MethodParameters:
Name Flags
bounds
decl
typeVarIndex
private static <D extends java.lang.reflect.GenericDeclaration> java.lang.reflect.AnnotatedType[] parseAnnotatedBounds(java.lang.reflect.Type[], D, int, sun.reflect.annotation.TypeAnnotation$LocationInfo);
descriptor: ([Ljava/lang/reflect/Type;Ljava/lang/reflect/GenericDeclaration;ILsun/reflect/annotation/TypeAnnotation$LocationInfo;)[Ljava/lang/reflect/AnnotatedType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.reflect.annotation.TypeAnnotationParser.fetchBounds:(Ljava/lang/reflect/GenericDeclaration;)Ljava/util/List;
astore 4
start local 4 1: aload 0
ifnull 31
2: iconst_0
istore 5
start local 5 3: aload 0
arraylength
anewarray java.lang.reflect.AnnotatedType
astore 6
start local 6 4: aload 0
arraylength
ifle 12
5: aload 0
iconst_0
aaload
astore 7
start local 7 6: aload 7
instanceof java.lang.Class
ifne 9
7: iconst_1
istore 5
8: goto 12
9: StackMap locals: java.lang.reflect.Type[] java.lang.reflect.GenericDeclaration int sun.reflect.annotation.TypeAnnotation$LocationInfo java.util.List int java.lang.reflect.AnnotatedType[] java.lang.reflect.Type
StackMap stack:
aload 7
checkcast java.lang.Class
astore 8
start local 8 10: aload 8
invokevirtual java.lang.Class.isInterface:()Z
ifeq 12
11: iconst_1
istore 5
end local 8 end local 7 12: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 13: goto 29
14: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
aload 4
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
start local 8 15: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 21
StackMap locals: java.lang.reflect.Type[] java.lang.reflect.GenericDeclaration int sun.reflect.annotation.TypeAnnotation$LocationInfo java.util.List int java.lang.reflect.AnnotatedType[] int java.util.List top java.util.Iterator
StackMap stack:
16: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation
astore 9
start local 9 17: aload 9
invokevirtual sun.reflect.annotation.TypeAnnotation.getTargetInfo:()Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
astore 11
start local 11 18: aload 11
invokevirtual sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.getSecondaryIndex:()I
iload 7
iload 5
iadd
if_icmpne 21
19: aload 11
invokevirtual sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.getCount:()I
iload 2
if_icmpne 21
20: aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 9 21: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
22: aload 6
iload 7
aload 0
iload 7
aaload
23: aload 3
24: aload 8
getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation[]
25: aload 4
getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation[]
26: aload 1
27: invokestatic sun.reflect.annotation.AnnotatedTypeFactory.buildAnnotatedType:(Ljava/lang/reflect/Type;Lsun/reflect/annotation/TypeAnnotation$LocationInfo;[Lsun/reflect/annotation/TypeAnnotation;[Lsun/reflect/annotation/TypeAnnotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/reflect/AnnotatedType;
aastore
end local 8 28: iinc 7 1
StackMap locals: java.lang.reflect.Type[] java.lang.reflect.GenericDeclaration int sun.reflect.annotation.TypeAnnotation$LocationInfo java.util.List int java.lang.reflect.AnnotatedType[] int
StackMap stack:
29: iload 7
aload 0
arraylength
if_icmplt 14
end local 7 30: aload 6
areturn
end local 6 end local 5 31: StackMap locals:
StackMap stack:
iconst_0
anewarray java.lang.reflect.AnnotatedType
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 bounds [Ljava/lang/reflect/Type;
0 32 1 decl TD;
0 32 2 typeVarIndex I
0 32 3 loc Lsun/reflect/annotation/TypeAnnotation$LocationInfo;
1 32 4 candidates Ljava/util/List<Lsun/reflect/annotation/TypeAnnotation;>;
3 31 5 startIndex I
4 31 6 res [Ljava/lang/reflect/AnnotatedType;
6 12 7 b0 Ljava/lang/reflect/Type;
10 12 8 c Ljava/lang/Class<*>;
13 30 7 i I
15 28 8 l Ljava/util/List<Lsun/reflect/annotation/TypeAnnotation;>;
17 21 9 t Lsun/reflect/annotation/TypeAnnotation;
18 21 11 tInfo Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
Signature: <D::Ljava/lang/reflect/GenericDeclaration;>([Ljava/lang/reflect/Type;TD;ILsun/reflect/annotation/TypeAnnotation$LocationInfo;)[Ljava/lang/reflect/AnnotatedType;
MethodParameters:
Name Flags
bounds
decl
typeVarIndex
loc
private static <D extends java.lang.reflect.GenericDeclaration> java.util.List<sun.reflect.annotation.TypeAnnotation> fetchBounds(D);
descriptor: (Ljava/lang/reflect/GenericDeclaration;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.lang.Class
ifeq 4
1: getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_TYPE_PARAMETER_BOUND:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
astore 2
start local 2 2: aload 0
checkcast java.lang.Class
astore 1
start local 1 3: goto 6
end local 2 end local 1 4: StackMap locals:
StackMap stack:
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_TYPE_PARAMETER_BOUND:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
astore 2
start local 2 5: aload 0
checkcast java.lang.reflect.Executable
astore 1
start local 1 6: StackMap locals: java.lang.reflect.AnnotatedElement sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget
StackMap stack:
aload 1
invokestatic sun.reflect.annotation.TypeAnnotationParser.parseAllTypeAnnotations:(Ljava/lang/reflect/AnnotatedElement;)[Lsun/reflect/annotation/TypeAnnotation;
aload 2
invokestatic sun.reflect.annotation.TypeAnnotation.filter:([Lsun/reflect/annotation/TypeAnnotation;Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 decl TD;
3 4 1 boundsDecl Ljava/lang/reflect/AnnotatedElement;
6 7 1 boundsDecl Ljava/lang/reflect/AnnotatedElement;
2 4 2 target Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
5 7 2 target Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
Signature: <D::Ljava/lang/reflect/GenericDeclaration;>(TD;)Ljava/util/List<Lsun/reflect/annotation/TypeAnnotation;>;
MethodParameters:
Name Flags
decl
static sun.reflect.annotation.TypeAnnotation[] parseAllTypeAnnotations(java.lang.reflect.AnnotatedElement);
descriptor: (Ljava/lang/reflect/AnnotatedElement;)[Lsun/reflect/annotation/TypeAnnotation;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic sun.misc.SharedSecrets.getJavaLangAccess:()Lsun/misc/JavaLangAccess;
astore 3
start local 3 1: aload 0
instanceof java.lang.Class
ifeq 5
2: aload 0
checkcast java.lang.Class
astore 1
start local 1 3: aload 3
aload 1
invokeinterface sun.misc.JavaLangAccess.getRawClassTypeAnnotations:(Ljava/lang/Class;)[B
astore 2
start local 2 4: goto 10
end local 2 end local 1 StackMap locals: java.lang.reflect.AnnotatedElement top top sun.misc.JavaLangAccess
StackMap stack:
5: aload 0
instanceof java.lang.reflect.Executable
ifeq 9
6: aload 0
checkcast java.lang.reflect.Executable
invokevirtual java.lang.reflect.Executable.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 7: aload 3
aload 0
checkcast java.lang.reflect.Executable
invokeinterface sun.misc.JavaLangAccess.getRawExecutableTypeAnnotations:(Ljava/lang/reflect/Executable;)[B
astore 2
start local 2 8: goto 10
end local 2 end local 1 9: StackMap locals:
StackMap stack:
getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
areturn
start local 1 start local 2 10: StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class byte[] sun.misc.JavaLangAccess
StackMap stack:
aload 2
aload 3
aload 1
invokeinterface sun.misc.JavaLangAccess.getConstantPool:(Ljava/lang/Class;)Lsun/reflect/ConstantPool;
11: aload 0
aload 1
12: invokestatic sun.reflect.annotation.TypeAnnotationParser.parseTypeAnnotations:([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)[Lsun/reflect/annotation/TypeAnnotation;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 decl Ljava/lang/reflect/AnnotatedElement;
3 5 1 container Ljava/lang/Class<*>;
7 9 1 container Ljava/lang/Class<*>;
10 13 1 container Ljava/lang/Class<*>;
4 5 2 rawBytes [B
8 9 2 rawBytes [B
10 13 2 rawBytes [B
1 13 3 javaLangAccess Lsun/misc/JavaLangAccess;
MethodParameters:
Name Flags
decl
private static sun.reflect.annotation.TypeAnnotation[] parseTypeAnnotations(byte[], sun.reflect.ConstantPool, java.lang.reflect.AnnotatedElement, java.lang.Class<?>);
descriptor: ([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)[Lsun/reflect/annotation/TypeAnnotation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnonnull 2
1: getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 4
start local 4 3: aload 4
invokevirtual java.nio.ByteBuffer.getShort:()S
ldc 65535
iand
istore 5
start local 5 4: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 11
7: StackMap locals: byte[] sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class java.nio.ByteBuffer int java.util.List int
StackMap stack:
aload 4
aload 1
aload 2
aload 3
invokestatic sun.reflect.annotation.TypeAnnotationParser.parseTypeAnnotation:(Ljava/nio/ByteBuffer;Lsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Lsun/reflect/annotation/TypeAnnotation;
astore 8
start local 8 8: aload 8
ifnull 10
9: aload 6
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 5
if_icmplt 7
end local 7 12: aload 6
getstatic sun.reflect.annotation.TypeAnnotationParser.EMPTY_TYPE_ANNOTATION_ARRAY:[Lsun/reflect/annotation/TypeAnnotation;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.reflect.annotation.TypeAnnotation[]
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 rawAnnotations [B
0 13 1 cp Lsun/reflect/ConstantPool;
0 13 2 baseDecl Ljava/lang/reflect/AnnotatedElement;
0 13 3 container Ljava/lang/Class<*>;
3 13 4 buf Ljava/nio/ByteBuffer;
4 13 5 annotationCount I
5 13 6 typeAnnotations Ljava/util/List<Lsun/reflect/annotation/TypeAnnotation;>;
6 12 7 i I
8 10 8 ta Lsun/reflect/annotation/TypeAnnotation;
Signature: ([BLsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<*>;)[Lsun/reflect/annotation/TypeAnnotation;
MethodParameters:
Name Flags
rawAnnotations
cp
baseDecl
container
static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation> mapTypeAnnotations(sun.reflect.annotation.TypeAnnotation[]);
descriptor: ([Lsun/reflect/annotation/TypeAnnotation;)Ljava/util/Map;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
1: astore 1
start local 1 2: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 11
StackMap locals: sun.reflect.annotation.TypeAnnotation[] java.util.Map top int int sun.reflect.annotation.TypeAnnotation[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
invokevirtual sun.reflect.annotation.TypeAnnotation.getAnnotation:()Ljava/lang/annotation/Annotation;
astore 6
start local 6 5: aload 6
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
astore 7
start local 7 6: aload 7
invokestatic sun.reflect.annotation.AnnotationType.getInstance:(Ljava/lang/Class;)Lsun/reflect/annotation/AnnotationType;
astore 8
start local 8 7: aload 8
invokevirtual sun.reflect.annotation.AnnotationType.retention:()Ljava/lang/annotation/RetentionPolicy;
getstatic java.lang.annotation.RetentionPolicy.RUNTIME:Ljava/lang/annotation/RetentionPolicy;
if_acmpne 10
8: aload 1
aload 7
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnull 10
9: new java.lang.annotation.AnnotationFormatError
dup
new java.lang.StringBuilder
dup
ldc "Duplicate annotation for class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.annotation.AnnotationFormatError.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 2 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 4
if_icmplt 3
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 typeAnnos [Lsun/reflect/annotation/TypeAnnotation;
2 13 1 result Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
4 10 2 t Lsun/reflect/annotation/TypeAnnotation;
5 10 6 a Ljava/lang/annotation/Annotation;
6 10 7 klass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
7 10 8 type Lsun/reflect/annotation/AnnotationType;
Signature: ([Lsun/reflect/annotation/TypeAnnotation;)Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
MethodParameters:
Name Flags
typeAnnos
private static sun.reflect.annotation.TypeAnnotation parseTypeAnnotation(java.nio.ByteBuffer, sun.reflect.ConstantPool, java.lang.reflect.AnnotatedElement, java.lang.Class<?>);
descriptor: (Ljava/nio/ByteBuffer;Lsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Lsun/reflect/annotation/TypeAnnotation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic sun.reflect.annotation.TypeAnnotationParser.parseTargetInfo:(Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
astore 4
start local 4 1: aload 0
invokestatic sun.reflect.annotation.TypeAnnotation$LocationInfo.parseLocationInfo:(Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$LocationInfo;
astore 5
start local 5 2: aload 0
aload 1
aload 3
iconst_0
invokestatic sun.reflect.annotation.AnnotationParser.parseAnnotation:(Ljava/nio/ByteBuffer;Lsun/reflect/ConstantPool;Ljava/lang/Class;Z)Ljava/lang/annotation/Annotation;
astore 6
start local 6 3: aload 4
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo sun.reflect.annotation.TypeAnnotation$LocationInfo java.lang.annotation.Annotation
StackMap stack:
new sun.reflect.annotation.TypeAnnotation
dup
aload 4
aload 5
aload 6
aload 2
invokespecial sun.reflect.annotation.TypeAnnotation.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;Lsun/reflect/annotation/TypeAnnotation$LocationInfo;Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)V
6: areturn
end local 6 end local 5 end local 4 7: StackMap locals: java.nio.ByteBuffer sun.reflect.ConstantPool java.lang.reflect.AnnotatedElement java.lang.Class
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 8: new java.lang.annotation.AnnotationFormatError
dup
aload 4
invokespecial java.lang.annotation.AnnotationFormatError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 buf Ljava/nio/ByteBuffer;
0 9 1 cp Lsun/reflect/ConstantPool;
0 9 2 baseDecl Ljava/lang/reflect/AnnotatedElement;
0 9 3 container Ljava/lang/Class<*>;
1 7 4 ti Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
2 7 5 locationInfo Lsun/reflect/annotation/TypeAnnotation$LocationInfo;
3 7 6 a Ljava/lang/annotation/Annotation;
8 9 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 4 7 Class java.lang.IllegalArgumentException
5 6 7 Class java.lang.IllegalArgumentException
0 4 7 Class java.nio.BufferUnderflowException
5 6 7 Class java.nio.BufferUnderflowException
Signature: (Ljava/nio/ByteBuffer;Lsun/reflect/ConstantPool;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<*>;)Lsun/reflect/annotation/TypeAnnotation;
MethodParameters:
Name Flags
buf
cp
baseDecl
container
private static sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo parseTargetInfo(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 1
start local 1 1: iload 1
lookupswitch { // 22
0: 2
1: 2
16: 12
17: 20
18: 21
19: 22
20: 23
21: 24
22: 25
23: 29
64: 30
65: 30
66: 39
67: 41
68: 41
69: 41
70: 41
71: 43
72: 43
73: 43
74: 43
75: 43
default: 46
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2
start local 2 3: iload 1
ifne 8
4: new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_TYPE_PARAMETER:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
5: iload 2
6: invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;I)V
astore 3
start local 3 7: goto 11
end local 3 8: StackMap locals: int
StackMap stack:
new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_TYPE_PARAMETER:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
9: iload 2
10: invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;I)V
astore 3
start local 3 11: StackMap locals: sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
StackMap stack:
aload 3
areturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
istore 2
start local 2 13: iload 2
iconst_m1
if_icmpne 15
14: new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_EXTENDS:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)V
areturn
15: StackMap locals: int
StackMap stack:
iload 2
iflt 46
16: new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_IMPLEMENTS:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
17: iload 2
18: invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;I)V
astore 3
start local 3 19: aload 3
areturn
end local 3 end local 2 20: StackMap locals:
StackMap stack:
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.CLASS_TYPE_PARAMETER_BOUND:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
aload 0
invokestatic sun.reflect.annotation.TypeAnnotationParser.parse2ByteTarget:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
areturn
21: StackMap locals:
StackMap stack:
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_TYPE_PARAMETER_BOUND:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
aload 0
invokestatic sun.reflect.annotation.TypeAnnotationParser.parse2ByteTarget:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
areturn
22: StackMap locals:
StackMap stack:
new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.FIELD:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)V
areturn
23: StackMap locals:
StackMap stack:
new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_RETURN:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)V
areturn
24: StackMap locals:
StackMap stack:
new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_RECEIVER:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;)V
areturn
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2
start local 2 26: new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.METHOD_FORMAL_PARAMETER:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
27: iload 2
28: invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;I)V
areturn
end local 2 29: StackMap locals:
StackMap stack:
getstatic sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget.THROWS:Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
aload 0
invokestatic sun.reflect.annotation.TypeAnnotationParser.parseShortTarget:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
areturn
30: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
istore 2
start local 2 31: iconst_0
istore 3
start local 3 32: goto 37
33: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
pop
34: aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
pop
35: aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
pop
36: iinc 3 1
StackMap locals:
StackMap stack:
37: iload 3
iload 2
if_icmplt 33
end local 3 38: aconst_null
areturn
end local 2 39: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
pop
40: aconst_null
areturn
41: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
pop
42: aconst_null
areturn
43: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.getShort:()S
pop
44: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
pop
45: aconst_null
areturn
46: StackMap locals:
StackMap stack:
new java.lang.annotation.AnnotationFormatError
dup
ldc "Could not parse bytes for type annotations"
invokespecial java.lang.annotation.AnnotationFormatError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 buf Ljava/nio/ByteBuffer;
1 47 1 posCode I
3 12 2 index I
7 8 3 res Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
11 12 3 res Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
13 20 2 index S
19 20 3 res Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
26 29 2 index I
31 39 2 length S
32 38 3 i I
MethodParameters:
Name Flags
buf
private static sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo parseShortTarget(sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget, java.nio.ByteBuffer);
descriptor: (Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.getShort:()S
ldc 65535
iand
istore 2
start local 2 1: new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
aload 0
iload 2
invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 target Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
0 2 1 buf Ljava/nio/ByteBuffer;
1 2 2 index I
MethodParameters:
Name Flags
target
buf
private static sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo parse2ByteTarget(sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget, java.nio.ByteBuffer);
descriptor: (Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;Ljava/nio/ByteBuffer;)Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTargetInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 3
start local 3 2: new sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo
dup
aload 0
3: iload 2
4: iload 3
5: invokespecial sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo.<init>:(Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;II)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 target Lsun/reflect/annotation/TypeAnnotation$TypeAnnotationTarget;
0 6 1 buf Ljava/nio/ByteBuffer;
1 6 2 count I
2 6 3 secondaryIndex I
MethodParameters:
Name Flags
target
buf
}
SourceFile: "TypeAnnotationParser.java"
InnerClasses:
public final LocationInfo = sun.reflect.annotation.TypeAnnotation$LocationInfo of sun.reflect.annotation.TypeAnnotation
public final TypeAnnotationTarget = sun.reflect.annotation.TypeAnnotation$TypeAnnotationTarget of sun.reflect.annotation.TypeAnnotation
public final TypeAnnotationTargetInfo = sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo of sun.reflect.annotation.TypeAnnotation