public abstract class com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage extends com.oracle.truffle.api.TruffleLanguage<com.oracle.truffle.js.runtime.JSRealm>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage
  super_class: com.oracle.truffle.api.TruffleLanguage
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage this
         0: .line 46
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.TruffleLanguage.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/AbstractJavaScriptLanguage;

  public static com.oracle.truffle.js.runtime.JSRealm getCurrentJSRealm();
    descriptor: ()Lcom/oracle/truffle/js/runtime/JSRealm;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            invokestatic com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage.getCurrentContext:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.JSRealm
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.js.lang.JavaScriptLanguage getCurrentLanguage();
    descriptor: ()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 53
            ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            invokestatic com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage.getCurrentLanguage:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage;
            checkcast com.oracle.truffle.js.lang.JavaScriptLanguage
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.api.TruffleLanguage$Env getCurrentEnv();
    descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$Env;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 57
            ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            invokestatic com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage.getCurrentContext:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.JSRealm
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract boolean isMultiContext();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String getTruffleLanguageHome();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage this
         0: .line 63
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage.getLanguageHome:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/AbstractJavaScriptLanguage;
}
Signature: Lcom/oracle/truffle/api/TruffleLanguage<Lcom/oracle/truffle/js/runtime/JSRealm;>;
SourceFile: "AbstractJavaScriptLanguage.java"
InnerClasses:
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage