public interface com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration 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.truffle.api.instrumentation.TruffleInstrument$Registration
  super_class: java.lang.Object
{
  public abstract java.lang.String id();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: ""

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

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

  public abstract boolean internal();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: false

  public abstract java.lang.Class<?>[] services();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()[Ljava/lang/Class<*>;
    AnnotationDefault: {}
}
SourceFile: "TruffleInstrument.java"
NestHost: com.oracle.truffle.api.instrumentation.TruffleInstrument
InnerClasses:
  public abstract Registration = com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration of com.oracle.truffle.api.instrumentation.TruffleInstrument
    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;})