public interface io.micronaut.core.annotation.AnnotationMetadataProvider extends io.micronaut.core.annotation.AnnotationSource
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.micronaut.core.annotation.AnnotationMetadataProvider
  super_class: java.lang.Object
{
  public io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata();
    descriptor: ()Lio/micronaut/core/annotation/AnnotationMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
         0: .line 37
            getstatic io.micronaut.core.annotation.AnnotationMetadata.EMPTY_METADATA:Lio/micronaut/core/annotation/AnnotationMetadata;
            areturn
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public <T extends java.lang.annotation.Annotation> T synthesize(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 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 42
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.synthesize:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.lang.annotation.Annotation[] synthesizeAll();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
         0: .line 47
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.synthesizeAll:()[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;

  public java.lang.annotation.Annotation[] synthesizeDeclared();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
         0: .line 52
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.synthesizeDeclared:()[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;

  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 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 57
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                 Name  Flags
      annotationClass  

  public boolean isDeclaredAnnotationPresent(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 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 62
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.isDeclaredAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <T extends java.lang.annotation.Annotation> T synthesizeDeclared(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 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 67
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.synthesizeDeclared:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <T extends java.lang.annotation.Annotation> T[] synthesizeAnnotationsByType(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 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 72
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.synthesizeAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)[TT;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <T extends java.lang.annotation.Annotation> T[] synthesizeDeclaredAnnotationsByType(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 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 77
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.synthesizeDeclaredAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)[TT;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <T extends java.lang.annotation.Annotation> java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>> findAnnotation(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.String annotation
         0: .line 82
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotation */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.findAnnotation:(Ljava/lang/String;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.String annotation
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotation  Ljava/lang/String;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/String;)Ljava/util/Optional<Lio/micronaut/core/annotation/AnnotationValue<TT;>;>;
    MethodParameters:
            Name  Flags
      annotation  

  public <T extends java.lang.annotation.Annotation> java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>> findAnnotation(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 87
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.findAnnotation:(Ljava/lang/Class;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)Ljava/util/Optional<Lio/micronaut/core/annotation/AnnotationValue<TT;>;>;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <T extends java.lang.annotation.Annotation> java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>> findDeclaredAnnotation(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.String annotation
         0: .line 92
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotation */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.findDeclaredAnnotation:(Ljava/lang/String;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.String annotation
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotation  Ljava/lang/String;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/String;)Ljava/util/Optional<Lio/micronaut/core/annotation/AnnotationValue<TT;>;>;
    MethodParameters:
            Name  Flags
      annotation  

  public <T extends java.lang.annotation.Annotation> java.util.Optional<io.micronaut.core.annotation.AnnotationValue<T>> findDeclaredAnnotation(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
        start local 1 // java.lang.Class annotationClass
         0: .line 97
            aload 0 /* this */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataProvider.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
            aload 1 /* annotationClass */
            invokeinterface io.micronaut.core.annotation.AnnotationMetadata.findDeclaredAnnotation:(Ljava/lang/Class;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // io.micronaut.core.annotation.AnnotationMetadataProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/core/annotation/AnnotationMetadataProvider;
            0    1     1  annotationClass  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)Ljava/util/Optional<Lio/micronaut/core/annotation/AnnotationValue<TT;>;>;
    MethodParameters:
                 Name  Flags
      annotationClass  
}
SourceFile: "AnnotationMetadataProvider.java"