abstract class com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage extends com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.api.TruffleLanguage$Env>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage
  super_class: com.oracle.truffle.api.TruffleLanguage
{
  static final org.graalvm.options.OptionKey<java.lang.String> ScriptVersion;
    descriptor: Lorg/graalvm/options/OptionKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.Option(help = "", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 3712
            new org.graalvm.options.OptionKey
            dup
            ldc "ECMA2017"
            invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
         1: .line 3711
            putstatic com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage.ScriptVersion:Lorg/graalvm/options/OptionKey;
         2: .line 3712
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage this
         0: .line 3708
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.TruffleLanguage.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/TruffleLanguageSnippets$CompatibleLanguage;

  protected boolean areOptionsCompatible(org.graalvm.options.OptionValues, org.graalvm.options.OptionValues);
    descriptor: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/options/OptionValues;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage this
        start local 1 // org.graalvm.options.OptionValues firstOptions
        start local 2 // org.graalvm.options.OptionValues newOptions
         0: .line 3717
            aload 1 /* firstOptions */
            getstatic com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage.ScriptVersion:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.lang.String
         1: .line 3718
            aload 2 /* newOptions */
            getstatic com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage.ScriptVersion:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         2: .line 3717
            ireturn
        end local 2 // org.graalvm.options.OptionValues newOptions
        end local 1 // org.graalvm.options.OptionValues firstOptions
        end local 0 // com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/api/TruffleLanguageSnippets$CompatibleLanguage;
            0    3     1  firstOptions  Lorg/graalvm/options/OptionValues;
            0    3     2    newOptions  Lorg/graalvm/options/OptionValues;
    MethodParameters:
              Name  Flags
      firstOptions  
      newOptions    

  protected org.graalvm.options.OptionDescriptors getOptionDescriptors();
    descriptor: ()Lorg/graalvm/options/OptionDescriptors;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage this
         0: .line 3723
            new com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguageOptionDescriptors
            dup
            invokespecial com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguageOptionDescriptors.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/TruffleLanguageSnippets$CompatibleLanguage;
}
Signature: Lcom/oracle/truffle/api/TruffleLanguage<Lcom/oracle/truffle/api/TruffleLanguage$Env;>;
SourceFile: "TruffleLanguage.java"
NestHost: com.oracle.truffle.api.TruffleLanguageSnippets
InnerClasses:
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  abstract CompatibleLanguage = com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguage of com.oracle.truffle.api.TruffleLanguageSnippets
  CompatibleLanguageOptionDescriptors = com.oracle.truffle.api.TruffleLanguageSnippets$CompatibleLanguageOptionDescriptors of com.oracle.truffle.api.TruffleLanguageSnippets