public interface java.lang.reflect.AnnotatedElement
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: java.lang.reflect.AnnotatedElement
super_class: java.lang.Object
{
public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
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
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(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 Ljava/lang/reflect/AnnotatedElement;
0 2 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
MethodParameters:
Name Flags
annotationClass
public abstract <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
annotationClass
public abstract java.lang.annotation.Annotation[] getAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
astore 2
start local 2 1: aload 2
arraylength
ifne 7
2: aload 0
instanceof java.lang.Class
ifeq 7
3: aload 1
invokestatic sun.reflect.annotation.AnnotationType.getInstance:(Ljava/lang/Class;)Lsun/reflect/annotation/AnnotationType;
invokevirtual sun.reflect.annotation.AnnotationType.isInherited:()Z
ifeq 7
4: aload 0
checkcast java.lang.Class
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 3
aload 1
invokevirtual java.lang.Class.getAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
astore 2
end local 3 7: StackMap locals: java.lang.annotation.Annotation[]
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/reflect/AnnotatedElement;
0 8 1 annotationClass Ljava/lang/Class<TT;>;
1 8 2 result [Ljava/lang/annotation/Annotation;
5 7 3 superClass Ljava/lang/Class<*>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)[TT;
MethodParameters:
Name Flags
annotationClass
public <T extends java.lang.annotation.Annotation> T getDeclaredAnnotation(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokeinterface java.lang.reflect.AnnotatedElement.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class top int int java.lang.annotation.Annotation[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 1
aload 2
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 1
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
areturn
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/reflect/AnnotatedElement;
0 8 1 annotationClass Ljava/lang/Class<TT;>;
3 5 2 annotation Ljava/lang/annotation/Annotation;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
annotationClass
public <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokeinterface java.lang.reflect.AnnotatedElement.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/lang/annotation/Annotation.annotationType()Ljava/lang/Class; (9 itf)
(Ljava/lang/annotation/Annotation;)Ljava/lang/Class;
3: invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
4: invokedynamic apply()Ljava/util/function/BinaryOperator;
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;Ljava/lang/Object;)Ljava/lang/Object;
java/lang/reflect/AnnotatedElement.lambda$1(Ljava/lang/annotation/Annotation;Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation; (6 itf)
(Ljava/lang/annotation/Annotation;Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
5: invokedynamic get()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;
java/util/LinkedHashMap.<init>()V (8)
()Ljava/util/LinkedHashMap;
6: invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
7: aload 1
8: invokestatic sun.reflect.annotation.AnnotationSupport.getDirectlyAndIndirectlyPresent:(Ljava/util/Map;Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
9: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/reflect/AnnotatedElement;
0 10 1 annotationClass Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)[TT;
MethodParameters:
Name Flags
annotationClass
public abstract java.lang.annotation.Annotation[] getDeclaredAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
private static java.lang.annotation.Annotation lambda$1(java.lang.annotation.Annotation, java.lang.annotation.Annotation);
descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 first Ljava/lang/annotation/Annotation;
0 1 1 second Ljava/lang/annotation/Annotation;
}
SourceFile: "AnnotatedElement.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles