public interface com.oracle.svm.core.annotate.TargetClass extends java.lang.annotation.Annotation
  minor version: 0
  major version: 59
  flags: flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
  this_class: com.oracle.svm.core.annotate.TargetClass
  super_class: java.lang.Object
{
  public abstract java.lang.Class<?> value();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<*>;
    AnnotationDefault: Lcom/oracle/svm/core/annotate/TargetClass;

  public abstract java.lang.String className();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: ""

  public abstract java.lang.Class<? extends java.util.function.Function<com.oracle.svm.core.annotate.TargetClass, java.lang.String>> classNameProvider();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<+Ljava/util/function/Function<Lcom/oracle/svm/core/annotate/TargetClass;Ljava/lang/String;>;>;
    AnnotationDefault: Lcom/oracle/svm/core/annotate/TargetClass$NoClassNameProvider;

  public abstract java.lang.String[] innerClass();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: {}

  public abstract java.lang.Class<?>[] onlyWith();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()[Ljava/lang/Class<*>;
    AnnotationDefault: {Lcom/oracle/svm/core/annotate/TargetClass$AlwaysIncluded;}
}
SourceFile: "TargetClass.java"
NestMembers:
  com.oracle.svm.core.annotate.TargetClass$AlwaysIncluded  com.oracle.svm.core.annotate.TargetClass$NoClassNameProvider
InnerClasses:
  public AlwaysIncluded = com.oracle.svm.core.annotate.TargetClass$AlwaysIncluded of com.oracle.svm.core.annotate.TargetClass
  public abstract NoClassNameProvider = com.oracle.svm.core.annotate.TargetClass$NoClassNameProvider of com.oracle.svm.core.annotate.TargetClass
    RuntimeVisibleAnnotations: 
      java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME:Ljava/lang/annotation/RetentionPolicy;)
      java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE:Ljava/lang/annotation/ElementType;})