public class org.graalvm.libgraal.jni.JNILibGraalScope<T extends java.lang.Enum<T>> implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.libgraal.jni.JNILibGraalScope
  super_class: java.lang.Object
{
  private static final java.lang.ThreadLocal<org.graalvm.libgraal.jni.JNILibGraalScope<?>> topScope;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;>;

  private final org.graalvm.libgraal.jni.JNI$JNIEnv env;
    descriptor: Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.libgraal.jni.JNILibGraalScope<?> parent;
    descriptor: Lorg/graalvm/libgraal/jni/JNILibGraalScope;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;

  private org.graalvm.libgraal.jni.JNILibGraalScope<?> leaf;
    descriptor: Lorg/graalvm/libgraal/jni/JNILibGraalScope;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;

  org.graalvm.libgraal.jni.HSObject locals;
    descriptor: Lorg/graalvm/libgraal/jni/HSObject;
    flags: (0x0000) 

  private final java.lang.Enum<T> id;
    descriptor: Ljava/lang/Enum;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Enum<TT;>;

  private org.graalvm.libgraal.jni.JNI$JObject objResult;
    descriptor: Lorg/graalvm/libgraal/jni/JNI$JObject;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 44
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.graalvm.libgraal.jni.JNI$JNIEnv env();
    descriptor: ()Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            invokestatic org.graalvm.libgraal.jni.JNILibGraalScope.scope:()Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.graalvm.libgraal.jni.JNI$JNIEnv getEnv();
    descriptor: ()Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
         0: .line 69
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            areturn
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;

  public static org.graalvm.libgraal.jni.JNILibGraalScope<?> scopeOrNull();
    descriptor: ()Lorg/graalvm/libgraal/jni/JNILibGraalScope;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 76
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.graalvm.libgraal.jni.JNILibGraalScope
            astore 0 /* scope */
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope scope
         1: .line 77
            aload 0 /* scope */
            ifnonnull 3
         2: .line 78
            aconst_null
            areturn
         3: .line 80
      StackMap locals: org.graalvm.libgraal.jni.JNILibGraalScope
      StackMap stack:
            aload 0 /* scope */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.leaf:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            areturn
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope scope
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    4     0  scope  Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;
    Signature: ()Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;

  public static org.graalvm.libgraal.jni.JNILibGraalScope<?> scope();
    descriptor: ()Lorg/graalvm/libgraal/jni/JNILibGraalScope;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 87
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.graalvm.libgraal.jni.JNILibGraalScope
            astore 0 /* scope */
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope scope
         1: .line 88
            aload 0 /* scope */
            ifnonnull 3
         2: .line 89
            new java.lang.IllegalStateException
            dup
            ldc "Not in the scope of an libgraal call"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 91
      StackMap locals: org.graalvm.libgraal.jni.JNILibGraalScope
      StackMap stack:
            aload 0 /* scope */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.leaf:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            areturn
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope scope
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    4     0  scope  Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;
    Signature: ()Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;

  public <P extends java.lang.Enum<P>> org.graalvm.libgraal.jni.JNILibGraalScope<P> narrow(java.lang.Class<P>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/libgraal/jni/JNILibGraalScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
        start local 1 // java.lang.Class scopeIdType
         0: .line 103
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.id:Ljava/lang/Enum;
            ifnonnull 2
         1: .line 104
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected ToLibGraalScope type is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* scopeIdType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " but the type is null."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.id:Ljava/lang/Enum;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* scopeIdType */
            if_acmpeq 4
         3: .line 107
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected ToLibGraalScope type is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* scopeIdType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " but actual type is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.id:Ljava/lang/Enum;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Class scopeIdType
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
            0    5     1  scopeIdType  Ljava/lang/Class<TP;>;
    Signature: <P:Ljava/lang/Enum<TP;>;>(Ljava/lang/Class<TP;>;)Lorg/graalvm/libgraal/jni/JNILibGraalScope<TP;>;
    MethodParameters:
             Name  Flags
      scopeIdType  

  public void <init>(java.lang.Enum<T>, org.graalvm.libgraal.jni.JNI$JNIEnv);
    descriptor: (Ljava/lang/Enum;Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
        start local 1 // java.lang.Enum id
        start local 2 // org.graalvm.libgraal.jni.JNI$JNIEnv env
         0: .line 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 117
            iconst_1
            ldc "HS->LIBGRAAL[enter]: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual org.graalvm.libgraal.jni.JNILibGraalScope.idString:(Ljava/lang/Enum;)Ljava/lang/String;
            aastore
            invokestatic org.graalvm.libgraal.jni.JNIUtil.trace:(ILjava/lang/String;[Ljava/lang/Object;)V
         2: .line 118
            aload 0 /* this */
            aload 1 /* id */
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.id:Ljava/lang/Enum;
         3: .line 119
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.graalvm.libgraal.jni.JNILibGraalScope
            astore 3 /* top */
        start local 3 // org.graalvm.libgraal.jni.JNILibGraalScope top
         4: .line 120
            aload 0 /* this */
            aload 2 /* env */
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
         5: .line 121
            aload 3 /* top */
            ifnonnull 11
         6: .line 124
            aload 2 /* env */
            bipush 64
            invokestatic org.graalvm.libgraal.jni.JNIUtil.PushLocalFrame:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;I)I
            pop
         7: .line 125
            aload 0 /* this */
            astore 3 /* top */
         8: .line 126
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
         9: .line 127
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            aload 0 /* this */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        10: .line 128
            goto 14
        11: .line 129
      StackMap locals: org.graalvm.libgraal.jni.JNILibGraalScope java.lang.Enum org.graalvm.libgraal.jni.JNI$JNIEnv org.graalvm.libgraal.jni.JNILibGraalScope
      StackMap stack:
            aload 3 /* top */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            if_acmpeq 13
        12: .line 130
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot mix JNI scopes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* top */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* top */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.leaf:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
        14: .line 134
      StackMap locals:
      StackMap stack:
            aload 3 /* top */
            aload 0 /* this */
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.leaf:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
        15: .line 135
            return
        end local 3 // org.graalvm.libgraal.jni.JNILibGraalScope top
        end local 2 // org.graalvm.libgraal.jni.JNI$JNIEnv env
        end local 1 // java.lang.Enum id
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
            0   16     1    id  Ljava/lang/Enum<TT;>;
            0   16     2   env  Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            4   16     3   top  Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;
    Signature: (Ljava/lang/Enum<TT;>;Lorg/graalvm/libgraal/jni/JNI$JNIEnv;)V
    MethodParameters:
      Name  Flags
      id    
      env   

  private java.lang.String idString(java.lang.Enum<T>);
    descriptor: (Ljava/lang/Enum;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
        start local 1 // java.lang.Enum v
         0: .line 138
            aload 1 /* v */
            ifnull 1
            aload 1 /* v */
            invokevirtual java.lang.Enum.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "<called from VM>"
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.Enum v
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
            0    3     1     v  Ljava/lang/Enum<TT;>;
    Signature: (Ljava/lang/Enum<TT;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      v     

  public void setObjectResult(org.graalvm.libgraal.jni.JNI$JObject);
    descriptor: (Lorg/graalvm/libgraal/jni/JNI$JObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
        start local 1 // org.graalvm.libgraal.jni.JNI$JObject obj
         0: .line 147
            aload 0 /* this */
            aload 1 /* obj */
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.objResult:Lorg/graalvm/libgraal/jni/JNI$JObject;
         1: .line 148
            return
        end local 1 // org.graalvm.libgraal.jni.JNI$JObject obj
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
            0    2     1   obj  Lorg/graalvm/libgraal/jni/JNI$JObject;
    MethodParameters:
      Name  Flags
      obj   

  public <R extends org.graalvm.libgraal.jni.JNI$JObject> R getObjectResult();
    descriptor: ()Lorg/graalvm/libgraal/jni/JNI$JObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
         0: .line 152
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.objResult:Lorg/graalvm/libgraal/jni/JNI$JObject;
            areturn
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
    Signature: <R::Lorg/graalvm/libgraal/jni/JNI$JObject;>()TR;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
         0: .line 157
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.locals:Lorg/graalvm/libgraal/jni/HSObject;
            invokestatic org.graalvm.libgraal.jni.HSObject.invalidate:(Lorg/graalvm/libgraal/jni/HSObject;)I
            pop
         1: .line 158
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            ifnonnull 7
         2: .line 159
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            aload 0 /* this */
            if_acmpeq 4
         3: .line 160
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected JNI scope: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 162
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.libgraal.jni.JNILibGraalScope.topScope:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         5: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.objResult:Lorg/graalvm/libgraal/jni/JNI$JObject;
            invokestatic org.graalvm.libgraal.jni.JNIUtil.PopLocalFrame:(Lorg/graalvm/libgraal/jni/JNI$JNIEnv;Lorg/graalvm/libgraal/jni/JNI$JObject;)Lorg/graalvm/libgraal/jni/JNI$JObject;
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.objResult:Lorg/graalvm/libgraal/jni/JNI$JObject;
         6: .line 164
            goto 12
         7: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            astore 1 /* top */
        start local 1 // org.graalvm.libgraal.jni.JNILibGraalScope top
         8: .line 166
            goto 10
         9: .line 167
      StackMap locals: org.graalvm.libgraal.jni.JNILibGraalScope
      StackMap stack:
            aload 1 /* top */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            astore 1 /* top */
        10: .line 166
      StackMap locals:
      StackMap stack:
            aload 1 /* top */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            ifnonnull 9
        11: .line 169
            aload 1 /* top */
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            putfield org.graalvm.libgraal.jni.JNILibGraalScope.leaf:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
        end local 1 // org.graalvm.libgraal.jni.JNILibGraalScope top
        12: .line 171
      StackMap locals:
      StackMap stack:
            iconst_1
            ldc "HS->LIBGRAAL[ exit]: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.id:Ljava/lang/Enum;
            invokevirtual org.graalvm.libgraal.jni.JNILibGraalScope.idString:(Ljava/lang/Enum;)Ljava/lang/String;
            aastore
            invokestatic org.graalvm.libgraal.jni.JNIUtil.trace:(ILjava/lang/String;[Ljava/lang/Object;)V
        13: .line 172
            return
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
            8   12     1   top  Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;

  int depth();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
         0: .line 175
            iconst_0
            istore 1 /* depth */
        start local 1 // int depth
         1: .line 176
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            astore 2 /* ancestor */
        start local 2 // org.graalvm.libgraal.jni.JNILibGraalScope ancestor
         2: .line 177
            goto 5
         3: .line 178
      StackMap locals: int org.graalvm.libgraal.jni.JNILibGraalScope
      StackMap stack:
            iinc 1 /* depth */ 1
         4: .line 179
            aload 2 /* ancestor */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.parent:Lorg/graalvm/libgraal/jni/JNILibGraalScope;
            astore 2 /* ancestor */
         5: .line 177
      StackMap locals:
      StackMap stack:
            aload 2 /* ancestor */
            ifnonnull 3
         6: .line 181
            iload 1 /* depth */
            ireturn
        end local 2 // org.graalvm.libgraal.jni.JNILibGraalScope ancestor
        end local 1 // int depth
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
            1    7     1     depth  I
            2    7     2  ancestor  Lorg/graalvm/libgraal/jni/JNILibGraalScope<*>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
         0: .line 186
            new java.lang.StringBuilder
            dup
            ldc "JNILibGraalScope["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.graalvm.libgraal.jni.JNILibGraalScope.depth:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.libgraal.jni.JNILibGraalScope.env:Lorg/graalvm/libgraal/jni/JNI$JNIEnv;
            invokeinterface org.graalvm.libgraal.jni.JNI$JNIEnv.rawValue:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.libgraal.jni.JNILibGraalScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/libgraal/jni/JNILibGraalScope<TT;>;
}
Signature: <T:Ljava/lang/Enum<TT;>;>Ljava/lang/Object;Ljava/lang/AutoCloseable;
SourceFile: "JNILibGraalScope.java"
InnerClasses:
  public abstract JNIEnv = org.graalvm.libgraal.jni.JNI$JNIEnv of org.graalvm.libgraal.jni.JNI
  public abstract JObject = org.graalvm.libgraal.jni.JNI$JObject of org.graalvm.libgraal.jni.JNI