public interface com.oracle.truffle.api.TruffleLanguage$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.TruffleLanguage$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

  public abstract java.lang.String implementationName();
    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 java.lang.String[] mimeType();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: {}
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

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

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

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

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

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

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

  public abstract com.oracle.truffle.api.TruffleLanguage$ContextPolicy contextPolicy();
    descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
    AnnotationDefault: com.oracle.truffle.api.TruffleLanguage$ContextPolicy.EXCLUSIVE:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;

  public abstract java.lang.Class<?>[] services();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()[Ljava/lang/Class<*>;
    AnnotationDefault: {}

  public abstract java.lang.Class<? extends com.oracle.truffle.api.TruffleFile$FileTypeDetector>[] fileTypeDetectors();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()[Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleFile$FileTypeDetector;>;
    AnnotationDefault: {}
}
SourceFile: "TruffleLanguage.java"
NestHost: com.oracle.truffle.api.TruffleLanguage
InnerClasses:
  public abstract FileTypeDetector = com.oracle.truffle.api.TruffleFile$FileTypeDetector of com.oracle.truffle.api.TruffleFile
  public final ContextPolicy = com.oracle.truffle.api.TruffleLanguage$ContextPolicy of com.oracle.truffle.api.TruffleLanguage
  public abstract Registration = com.oracle.truffle.api.TruffleLanguage$Registration of com.oracle.truffle.api.TruffleLanguage
    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;})