public class com.oracle.truffle.api.debug.test.DebugStackFrameTest extends com.oracle.truffle.api.debug.test.AbstractDebugTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.debug.test.DebugStackFrameTest
  super_class: com.oracle.truffle.api.debug.test.AbstractDebugTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 87
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.debug.test.AbstractDebugTest.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;

  public void testEvalAndSideEffects();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 91
            aload 0 /* this */
            ldc "ROOT(DEFINE(a,ROOT( \n  VARIABLE(a, 42), \n  VARIABLE(b, 43), \n  VARIABLE(c, 44), \n  STATEMENT(),\n  STATEMENT())\n), \nVARIABLE(a, 42), VARIABLE(b, 43), VARIABLE(c, 44), \nCALL(a))\n"
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.testSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 100
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 101
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 102
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 104
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$0(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 121
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 122
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 4 /* session */
            ifnull 9
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
        13: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   14     1   source  Lorg/graalvm/polyglot/Source;
            3    9     4  session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3     7       8  any
           2    10      10  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void assertDynamicFrame(com.oracle.truffle.api.debug.DebugStackFrame);
    descriptor: (Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.debug.DebugStackFrame frame
         0: .line 126
            ldc "42"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 127
            ldc "43"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 128
            ldc "44"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "c"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 131
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 1 /* dStackValue */
        start local 1 // com.oracle.truffle.api.debug.DebugValue dStackValue
         4: .line 132
            aload 1 /* dStackValue */
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         5: .line 135
            ldc "45"
            aload 0 /* frame */
            ldc "VARIABLE(d, 45)"
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 136
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 1 /* dStackValue */
         7: .line 137
            ldc "45"
            aload 1 /* dStackValue */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 138
            ldc "45"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 141
            ldc "45"
            aload 0 /* frame */
            ldc "VARIABLE(c, 45)"
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 142
            ldc "45"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "c"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 145
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 2 /* bValue */
        start local 2 // com.oracle.truffle.api.debug.DebugValue bValue
        12: .line 146
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            aload 0 /* frame */
            ldc "CONSTANT(46)"
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.set:(Lcom/oracle/truffle/api/debug/DebugValue;)V
        13: .line 147
            ldc "46"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 148
            ldc "46"
            aload 2 /* bValue */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 151
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            aload 0 /* frame */
            ldc "VARIABLE(a, 47)"
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.set:(Lcom/oracle/truffle/api/debug/DebugValue;)V
        16: .line 152
            ldc "47"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 153
            ldc "47"
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 154
            return
        end local 2 // com.oracle.truffle.api.debug.DebugValue bValue
        end local 1 // com.oracle.truffle.api.debug.DebugValue dStackValue
        end local 0 // com.oracle.truffle.api.debug.DebugStackFrame frame
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            4   19     1  dStackValue  Lcom/oracle/truffle/api/debug/DebugValue;
           12   19     2       bValue  Lcom/oracle/truffle/api/debug/DebugValue;
    MethodParameters:
       Name  Flags
      frame  

  public void testFrameValidity();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 158
            aload 0 /* this */
            ldc "ROOT(\n  VARIABLE(a, 42), \n  VARIABLE(b, 43), \n  VARIABLE(c, 44), \n  STATEMENT(),\n  STATEMENT()\n)\n"
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.testSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 165
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 166
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 167
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 176
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.<init>:(Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;)V
            astore 5 /* data */
        start local 5 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData data
         6: .line 178
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* data */
            invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;)Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$1(Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 195
            aload 0 /* this */
            aload 5 /* data */
            invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;)Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$2(Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 207
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        end local 5 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData data
         9: .line 208
            aload 4 /* session */
            ifnull 15
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 4 /* session */
            ifnull 11
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 2
            ifnonnull 13
            aload 3
            astore 2
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 2
            aload 3
            if_acmpeq 14
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
        15: .line 209
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1   source  Lorg/graalvm/polyglot/Source;
            3   11     4  session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    9     5     data  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;
      Exception table:
        from    to  target  type
           3     9      10  any
           2    12      12  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSourceSections();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 213
            aload 0 /* this */
            ldc "ROOT(DEFINE(a,ROOT(\n  STATEMENT())\n),\nDEFINE(b,ROOT(\n  CALL(a))\n), \nCALL(b))\n"
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.testSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 220
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 221
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 222
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 224
            aload 0 /* this */
            aload 1 /* source */
            invokedynamic onSuspend(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$3(Lorg/graalvm/polyglot/Source;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 245
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 246
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 4 /* session */
            ifnull 9
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
        13: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   14     1   source  Lorg/graalvm/polyglot/Source;
            3    9     4  session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3     7       8  any
           2    10      10  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testVariables();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 251
            aload 0 /* this */
            ldc "ROOT(DEFINE(a,ROOT(\n  VARIABLE(v1, 1), \n  STATEMENT())\n),\nDEFINE(b,ROOT(\n  VARIABLE(v2, 2), \n  CALL(a))\n), \nVARIABLE(v3, 3), \nCALL(b))\n"
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.testSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 261
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 262
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 263
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 265
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;)Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$4(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 286
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 287
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 4 /* session */
            ifnull 9
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
        13: .line 288
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   14     1   source  Lorg/graalvm/polyglot/Source;
            3    9     4  session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3     7       8  any
           2    10      10  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStackNodes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 292
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
            dup
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage.<init>:()V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
         1: .line 293
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 294
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         4: .line 295
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         5: .line 296
            ldc "proxyLanguage"
            ldc "Stack Test"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source */
        start local 5 // org.graalvm.polyglot.Source source
         6: .line 297
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* source */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         7: .line 298
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$5(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 5 // org.graalvm.polyglot.Source source
         8: .line 310
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 4 /* session */
            ifnull 10
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        14: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        15: .line 312
            return
        end local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1  language  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage;
            4   10     4   session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    8     5    source  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testAsynchronousStack();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 316
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
            dup
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage.<init>:()V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
         1: .line 317
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 318
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         4: .line 319
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         5: .line 320
            ldc "proxyLanguage"
            ldc "Stack Test"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source */
        start local 5 // org.graalvm.polyglot.Source source
         6: .line 321
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* source */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         7: .line 322
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$6(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 5 // org.graalvm.polyglot.Source source
         8: .line 336
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 4 /* session */
            ifnull 10
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        14: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        15: .line 338
            return
        end local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1  language  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage;
            4   10     4   session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    8     5    source  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static com.oracle.truffle.api.source.SourceSection getFunctionSourceSection(com.oracle.truffle.api.debug.DebugStackFrame);
    descriptor: (Lcom/oracle/truffle/api/debug/DebugStackFrame;)Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.DebugStackFrame frame
         0: .line 342
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokevirtual com.oracle.truffle.api.debug.DebugScope.isFunctionScope:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 343
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            areturn
        end local 0 // com.oracle.truffle.api.debug.DebugStackFrame frame
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
    MethodParameters:
       Name  Flags
      frame  

  private static void assertSection(com.oracle.truffle.api.source.SourceSection, java.lang.String, int, int, int, int);
    descriptor: (Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.api.source.SourceSection ss
        start local 1 // java.lang.String code
        start local 2 // int startLine
        start local 3 // int startColumn
        start local 4 // int endLine
        start local 5 // int endcolumn
         0: .line 347
            aload 1 /* code */
            aload 0 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 348
            ldc "startLine"
            iload 2 /* startLine */
            i2l
            aload 0 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         2: .line 349
            ldc "startColumn"
            iload 3 /* startColumn */
            i2l
            aload 0 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         3: .line 350
            ldc "endLine"
            iload 4 /* endLine */
            i2l
            aload 0 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         4: .line 351
            ldc "endColumn"
            iload 5 /* endcolumn */
            i2l
            aload 0 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndColumn:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         5: .line 352
            return
        end local 5 // int endcolumn
        end local 4 // int endLine
        end local 3 // int startColumn
        end local 2 // int startLine
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.source.SourceSection ss
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0           ss  Lcom/oracle/truffle/api/source/SourceSection;
            0    6     1         code  Ljava/lang/String;
            0    6     2    startLine  I
            0    6     3  startColumn  I
            0    6     4      endLine  I
            0    6     5    endcolumn  I
    MethodParameters:
             Name  Flags
      ss           
      code         
      startLine    
      startColumn  
      endLine      
      endcolumn    

  private static void assertInvalidDebugValue(com.oracle.truffle.api.debug.DebugValue);
    descriptor: (Lcom/oracle/truffle/api/debug/DebugValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.DebugValue value
         0: .line 356
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            pop
         1: .line 357
            invokestatic org.junit.Assert.fail:()V
         2: .line 358
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         3: pop
         4: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.set:(Lcom/oracle/truffle/api/debug/DebugValue;)V
         5: .line 362
            invokestatic org.junit.Assert.fail:()V
         6: .line 363
            goto 8
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         7: pop
         8: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isReadable:()Z
            pop
         9: .line 368
            goto 11
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        10: pop
        11: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isWritable:()Z
            pop
        12: .line 373
            invokestatic org.junit.Assert.fail:()V
        13: .line 374
            goto 15
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        14: pop
        15: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            pop
        16: .line 379
            return
        end local 0 // com.oracle.truffle.api.debug.DebugValue value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0  value  Lcom/oracle/truffle/api/debug/DebugValue;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalStateException
           4     6       7  Class java.lang.IllegalStateException
           8     9      10  Class java.lang.IllegalStateException
          11    13      14  Class java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      value  

  private static void assertInvalidIterator(java.util.Iterator<com.oracle.truffle.api.debug.DebugStackFrame>);
    descriptor: (Ljava/util/Iterator;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Iterator iterator
         0: .line 383
            aload 0 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            pop
         1: .line 384
            invokestatic org.junit.Assert.fail:()V
         2: .line 385
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         3: pop
         4: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         5: .line 390
            invokestatic org.junit.Assert.fail:()V
         6: .line 391
            goto 8
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         7: pop
         8: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.Iterator iterator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  iterator  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalStateException
           4     6       7  Class java.lang.IllegalStateException
    Signature: (Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;)V
    MethodParameters:
          Name  Flags
      iterator  

  private static void assertInvalidFrame(com.oracle.truffle.api.debug.DebugStackFrame);
    descriptor: (Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.DebugStackFrame frame
         0: .line 397
            aload 0 /* frame */
            ldc "STATEMENT"
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            pop
         1: .line 398
            invokestatic org.junit.Assert.fail:()V
         2: .line 399
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         3: pop
         4: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            pop
         5: .line 404
            invokestatic org.junit.Assert.fail:()V
         6: .line 405
            goto 8
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         7: pop
         8: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            pop
         9: .line 410
            invokestatic org.junit.Assert.fail:()V
        10: .line 411
            goto 12
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        11: pop
        12: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            pop
        13: .line 416
            invokestatic org.junit.Assert.fail:()V
        14: .line 417
            goto 16
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        15: pop
        16: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            pop
        17: .line 422
            invokestatic org.junit.Assert.fail:()V
        18: .line 423
            goto 20
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        19: pop
        20: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            pop
        21: .line 428
            invokestatic org.junit.Assert.fail:()V
        22: .line 429
            goto 24
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        23: pop
        24: .line 431
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.debug.DebugStackFrame frame
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   25     0  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalStateException
           4     6       7  Class java.lang.IllegalStateException
           8    10      11  Class java.lang.IllegalStateException
          12    14      15  Class java.lang.IllegalStateException
          16    18      19  Class java.lang.IllegalStateException
          20    22      23  Class java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      frame  

  public void testRawNodes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 435
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
            dup
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage.<init>:()V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
         1: .line 436
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 437
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         4: .line 438
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         5: .line 439
            ldc "proxyLanguage"
            ldc "Stack Test"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source */
        start local 5 // org.graalvm.polyglot.Source source
         6: .line 440
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* source */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         7: .line 441
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$7(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 5 // org.graalvm.polyglot.Source source
         8: .line 453
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 4 /* session */
            ifnull 10
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        14: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        15: .line 455
            return
        end local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1  language  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage;
            4   10     4   session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    8     5    source  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRawNodesRestricted();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 459
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
            dup
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage.<init>:()V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
         1: .line 460
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 461
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         4: .line 462
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         5: .line 463
            ldc "proxyLanguage"
            ldc "Stack Test"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source */
        start local 5 // org.graalvm.polyglot.Source source
         6: .line 464
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* source */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         7: .line 465
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$8(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 5 // org.graalvm.polyglot.Source source
         8: .line 477
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 4 /* session */
            ifnull 10
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        14: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        15: .line 479
            return
        end local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1  language  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage;
            4   10     4   session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    8     5    source  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRawFrame();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 483
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
            dup
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage.<init>:()V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
         1: .line 484
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 485
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         4: .line 486
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         5: .line 487
            ldc "proxyLanguage"
            ldc "Stack Test"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source */
        start local 5 // org.graalvm.polyglot.Source source
         6: .line 488
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* source */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         7: .line 489
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$9(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 5 // org.graalvm.polyglot.Source source
         8: .line 501
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 4 /* session */
            ifnull 10
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        14: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        15: .line 503
            return
        end local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1  language  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage;
            4   10     4   session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    8     5    source  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRawFrameRestricted();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
         0: .line 507
            new com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
            dup
            invokespecial com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage.<init>:()V
            astore 1 /* language */
        start local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
         1: .line 508
            aload 1 /* language */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 509
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         4: .line 510
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         5: .line 511
            ldc "proxyLanguage"
            ldc "Stack Test"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source */
        start local 5 // org.graalvm.polyglot.Source source
         6: .line 512
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* source */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         7: .line 513
            aload 0 /* this */
            invokedynamic onSuspend()Lcom/oracle/truffle/api/debug/SuspendedCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
                  com/oracle/truffle/api/debug/test/DebugStackFrameTest.lambda$10(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 5 // org.graalvm.polyglot.Source source
         8: .line 525
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.api.debug.test.DebugStackFrameTest com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 4 /* session */
            ifnull 10
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 4 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        14: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.expectDone:()Ljava/lang/String;
            pop
        15: .line 527
            return
        end local 1 // com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage language
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            1   16     1  language  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage;
            4   10     4   session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    8     5    source  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void lambda$0(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 105
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 1 /* stackFrames */
        start local 1 // java.util.Iterator stackFrames
         1: .line 107
            aload 1 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* frame */
        start local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         2: .line 108
            aload 2 /* frame */
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertDynamicFrame:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
         3: .line 109
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* aValue */
        start local 3 // com.oracle.truffle.api.debug.DebugValue aValue
         4: .line 110
            aload 3 /* aValue */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            astore 4 /* aStringValue */
        start local 4 // java.lang.String aStringValue
         5: .line 113
            aload 1 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* frame */
         6: .line 114
            aload 2 /* frame */
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertDynamicFrame:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
         7: .line 117
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            aload 3 /* aValue */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.set:(Lcom/oracle/truffle/api/debug/DebugValue;)V
         8: .line 118
            aload 4 /* aStringValue */
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 119
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 4 // java.lang.String aStringValue
        end local 3 // com.oracle.truffle.api.debug.DebugValue aValue
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
        end local 1 // java.util.Iterator stackFrames
        10: .line 120
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0         event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   10     1   stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            2   10     2         frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            4   10     3        aValue  Lcom/oracle/truffle/api/debug/DebugValue;
            5   10     4  aStringValue  Ljava/lang/String;

  private void lambda$1(com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData, com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
        start local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 179
            aload 1
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            putfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
         1: .line 180
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* frameIterator */
        start local 3 // java.util.Iterator frameIterator
         2: .line 181
            aload 1
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
            aload 3 /* frameIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 182
            aload 3 /* frameIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         4: .line 183
            aload 0 /* this */
            aload 1
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "a"
            aastore
            dup
            iconst_1
            ldc "42"
            aastore
            dup
            iconst_2
            ldc "b"
            aastore
            dup
            iconst_3
            ldc "43"
            aastore
            dup
            iconst_4
            ldc "c"
            aastore
            dup
            iconst_5
            ldc "44"
            aastore
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;[Ljava/lang/String;)V
         5: .line 186
            aload 1
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            putfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frameIterator2:Ljava/util/Iterator;
         6: .line 187
            aload 1
            aload 1
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            putfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.stackValueWithGetValue:Lcom/oracle/truffle/api/debug/DebugValue;
         7: .line 188
            aload 1
            aload 1
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            putfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.stackValueWithIterator:Lcom/oracle/truffle/api/debug/DebugValue;
         8: .line 191
            aload 1
            aload 1
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
            ldc "VARIABLE(d, 45)"
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            putfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.heapValue:Lcom/oracle/truffle/api/debug/DebugValue;
         9: .line 192
            aload 2 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 3 // java.util.Iterator frameIterator
        10: .line 193
            return
        end local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            0   11     2          event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            2   10     3  frameIterator  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;

  private static void lambda$2(com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData, com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$1SharedData;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 197
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frame:Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertInvalidFrame:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
         1: .line 198
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.frameIterator2:Ljava/util/Iterator;
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertInvalidIterator:(Ljava/util/Iterator;)V
         2: .line 199
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.stackValueWithGetValue:Lcom/oracle/truffle/api/debug/DebugValue;
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertInvalidDebugValue:(Lcom/oracle/truffle/api/debug/DebugValue;)V
         3: .line 200
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.stackValueWithIterator:Lcom/oracle/truffle/api/debug/DebugValue;
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertInvalidDebugValue:(Lcom/oracle/truffle/api/debug/DebugValue;)V
         4: .line 202
            ldc "45"
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.heapValue:Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 203
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.heapValue:Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isWritable:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 204
            aload 0
            getfield com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData.heapValue:Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isReadable:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         7: .line 205
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$3(org.graalvm.polyglot.Source, com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lorg/graalvm/polyglot/Source;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=2
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 225
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 2 /* frame */
        start local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 226
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 3 /* ss */
        start local 3 // com.oracle.truffle.api.source.SourceSection ss
         2: .line 227
            aload 3 /* ss */
            ldc "STATEMENT()"
            iconst_2
            iconst_3
            iconst_2
            bipush 13
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
         3: .line 228
            aload 2 /* frame */
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.getFunctionSourceSection:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* fss */
        start local 4 // com.oracle.truffle.api.source.SourceSection fss
         4: .line 229
            aload 4 /* fss */
            ldc "ROOT(\n  STATEMENT())\n"
            iconst_1
            bipush 15
            iconst_2
            bipush 15
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
         5: .line 230
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5 /* stackFrames */
        start local 5 // java.util.Iterator stackFrames
         6: .line 231
            aload 2 /* frame */
            aload 5 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 232
            aload 5 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* frame */
         8: .line 233
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 3 /* ss */
         9: .line 234
            aload 3 /* ss */
            ldc "CALL(a)"
            iconst_5
            iconst_3
            iconst_5
            bipush 9
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
        10: .line 235
            aload 2 /* frame */
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.getFunctionSourceSection:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* fss */
        11: .line 236
            aload 4 /* fss */
            ldc "ROOT(\n  CALL(a))\n"
            iconst_4
            bipush 10
            iconst_5
            bipush 11
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
        12: .line 237
            aload 5 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* frame */
        13: .line 238
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 3 /* ss */
        14: .line 239
            aload 3 /* ss */
            ldc "CALL(b)"
            bipush 7
            iconst_1
            bipush 7
            bipush 7
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
        15: .line 240
            aload 2 /* frame */
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.getFunctionSourceSection:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* fss */
        16: .line 241
            aload 4 /* fss */
            aload 0
            invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            iconst_1
            iconst_1
            bipush 7
            bipush 9
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
        17: .line 242
            aload 5 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        18: .line 243
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 5 // java.util.Iterator stackFrames
        end local 4 // com.oracle.truffle.api.source.SourceSection fss
        end local 3 // com.oracle.truffle.api.source.SourceSection ss
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
        19: .line 244
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     1        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   19     2        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2   19     3           ss  Lcom/oracle/truffle/api/source/SourceSection;
            4   19     4          fss  Lcom/oracle/truffle/api/source/SourceSection;
            6   19     5  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;

  private void lambda$4(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 266
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 2 /* frame */
        start local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 267
            ldc "a"
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 268
            ldc "STATEMENT()"
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 269
            aload 0 /* this */
            aload 2 /* frame */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "v1"
            aastore
            dup
            iconst_1
            ldc "1"
            aastore
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;[Ljava/lang/String;)V
         4: .line 271
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* stackFrames */
        start local 3 // java.util.Iterator stackFrames
         5: .line 272
            aload 2 /* frame */
            aload 3 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 273
            aload 3 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* frame */
         7: .line 274
            ldc "b"
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 275
            ldc "CALL(a)"
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 276
            aload 0 /* this */
            aload 2 /* frame */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "v2"
            aastore
            dup
            iconst_1
            ldc "2"
            aastore
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;[Ljava/lang/String;)V
        10: .line 278
            aload 3 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* frame */
        11: .line 279
            ldc ""
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 280
            ldc "CALL(b)"
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 281
            aload 0 /* this */
            aload 2 /* frame */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "v3"
            aastore
            dup
            iconst_1
            ldc "3"
            aastore
            invokevirtual com.oracle.truffle.api.debug.test.DebugStackFrameTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;[Ljava/lang/String;)V
        14: .line 283
            aload 3 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        15: .line 284
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 3 // java.util.Iterator stackFrames
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
        16: .line 285
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.api.debug.test.DebugStackFrameTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest;
            0   17     1        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   16     2        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            5   16     3  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;

  private static void lambda$5(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 299
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 1 /* frame */
        start local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 300
            ldc 3
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 301
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* stackFrames */
        start local 2 // java.util.Iterator stackFrames
         3: .line 302
            aload 1 /* frame */
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 303
            iconst_5
            istore 3 /* d */
        start local 3 // int d
         5: goto 10
         6: .line 304
      StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame java.util.Iterator int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* d */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 305
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 1 /* frame */
         8: .line 306
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            ldc "St"
            iconst_1
            iconst_1
            iconst_1
            iconst_2
            invokestatic com.oracle.truffle.api.debug.test.DebugStackFrameTest.assertSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;IIII)V
         9: .line 303
            iinc 3 /* d */ -1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* d */
            ifgt 6
        end local 3 // int d
        11: .line 308
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        end local 2 // java.util.Iterator stackFrames
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        12: .line 309
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   12     1        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            3   12     2  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5   11     3            d  I

  private static void lambda$6(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 323
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getAsynchronousStacks:()Ljava/util/List;
            astore 1 /* asynchronousStacks */
        start local 1 // java.util.List asynchronousStacks
         1: .line 324
            ldc 5
            aload 1 /* asynchronousStacks */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 325
            iconst_0
            istore 2 /* depth */
        start local 2 // int depth
         3: goto 7
         4: .line 326
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* asynchronousStacks */
            iload 2 /* depth */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* stack */
        start local 3 // java.util.List stack
         5: .line 327
            iconst_5
            iload 2 /* depth */
            isub
            i2l
            aload 3 /* stack */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 3 // java.util.List stack
         6: .line 325
            iinc 2 /* depth */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* depth */
            iconst_5
            if_icmplt 4
        end local 2 // int depth
         8: .line 330
            aload 1 /* asynchronousStacks */
            iconst_5
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            pop
         9: .line 331
            ldc "Expected IndexOutOfBoundsException."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        10: .line 332
            goto 12
      StackMap locals: com.oracle.truffle.api.debug.SuspendedEvent java.util.List
      StackMap stack: java.lang.IndexOutOfBoundsException
        11: pop
        end local 1 // java.util.List asynchronousStacks
        12: .line 335
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0               event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   12     1  asynchronousStacks  Ljava/util/List<Ljava/util/List<Lcom/oracle/truffle/api/debug/DebugStackTraceElement;>;>;
            3    8     2               depth  I
            5    6     3               stack  Ljava/util/List<Lcom/oracle/truffle/api/debug/DebugStackTraceElement;>;
      Exception table:
        from    to  target  type
           8    10      11  Class java.lang.IndexOutOfBoundsException

  private static void lambda$7(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 442
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 1 /* frame */
        start local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 443
            ldc Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage$TestStackRootNode;
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawNode:(Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/Node;
            invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 444
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* stackFrames */
        start local 2 // java.util.Iterator stackFrames
         3: .line 445
            aload 1 /* frame */
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 446
            iconst_5
            istore 3 /* d */
        start local 3 // int d
         5: goto 10
         6: .line 447
      StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame java.util.Iterator int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* d */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 448
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 1 /* frame */
         8: .line 449
            ldc Lcom/oracle/truffle/api/debug/test/DebugStackFrameTest$TestStackLanguage$TestStackRootNode;
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawNode:(Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/Node;
            invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 446
            iinc 3 /* d */ -1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* d */
            ifgt 6
        end local 3 // int d
        11: .line 451
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        end local 2 // java.util.Iterator stackFrames
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        12: .line 452
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   12     1        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            3   12     2  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5   11     3            d  I

  private static void lambda$8(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 466
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 1 /* frame */
        start local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 467
            aconst_null
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawNode:(Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/Node;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 468
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* stackFrames */
        start local 2 // java.util.Iterator stackFrames
         3: .line 469
            aload 1 /* frame */
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 470
            iconst_5
            istore 3 /* d */
        start local 3 // int d
         5: goto 10
         6: .line 471
      StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame java.util.Iterator int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* d */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 472
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 1 /* frame */
         8: .line 473
            aconst_null
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawNode:(Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/Node;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 470
            iinc 3 /* d */ -1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* d */
            ifgt 6
        end local 3 // int d
        11: .line 475
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        end local 2 // java.util.Iterator stackFrames
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        12: .line 476
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   12     1        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            3   12     2  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5   11     3            d  I

  private static void lambda$9(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 490
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 1 /* frame */
        start local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 491
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            getstatic com.oracle.truffle.api.frame.FrameInstance$FrameAccess.READ_WRITE:Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawFrame:(Ljava/lang/Class;Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;)Lcom/oracle/truffle/api/frame/Frame;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         2: .line 492
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* stackFrames */
        start local 2 // java.util.Iterator stackFrames
         3: .line 493
            aload 1 /* frame */
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 494
            iconst_5
            istore 3 /* d */
        start local 3 // int d
         5: goto 10
         6: .line 495
      StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame java.util.Iterator int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* d */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 496
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 1 /* frame */
         8: .line 497
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            getstatic com.oracle.truffle.api.frame.FrameInstance$FrameAccess.READ_WRITE:Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawFrame:(Ljava/lang/Class;Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;)Lcom/oracle/truffle/api/frame/Frame;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         9: .line 494
            iinc 3 /* d */ -1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* d */
            ifgt 6
        end local 3 // int d
        11: .line 499
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        end local 2 // java.util.Iterator stackFrames
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        12: .line 500
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   12     1        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            3   12     2  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5   11     3            d  I

  private static void lambda$10(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 514
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            astore 1 /* frame */
        start local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         1: .line 515
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage;
            getstatic com.oracle.truffle.api.frame.FrameInstance$FrameAccess.READ_WRITE:Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawFrame:(Ljava/lang/Class;Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;)Lcom/oracle/truffle/api/frame/Frame;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         2: .line 516
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* stackFrames */
        start local 2 // java.util.Iterator stackFrames
         3: .line 517
            aload 1 /* frame */
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 518
            iconst_5
            istore 3 /* d */
        start local 3 // int d
         5: goto 10
         6: .line 519
      StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame java.util.Iterator int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* d */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 520
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 1 /* frame */
         8: .line 521
            aload 1 /* frame */
            ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage;
            getstatic com.oracle.truffle.api.frame.FrameInstance$FrameAccess.READ_WRITE:Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getRawFrame:(Ljava/lang/Class;Lcom/oracle/truffle/api/frame/FrameInstance$FrameAccess;)Lcom/oracle/truffle/api/frame/Frame;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         9: .line 518
            iinc 3 /* d */ -1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* d */
            ifgt 6
        end local 3 // int d
        11: .line 523
            aload 2 /* stackFrames */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        end local 2 // java.util.Iterator stackFrames
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        12: .line 524
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0        event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   12     1        frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            3   12     2  stackFrames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5   11     3            d  I
}
SourceFile: "DebugStackFrameTest.java"
NestMembers:
  com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestInstrumentableNode  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestNode  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$1  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$2  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$3  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$4  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$5  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$6  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$7  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$8  com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode$9
InnerClasses:
  SharedData = com.oracle.truffle.api.debug.test.DebugStackFrameTest$1SharedData
  final TestStackLanguage = com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage of com.oracle.truffle.api.debug.test.DebugStackFrameTest
  private final TestStackRootNode = com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage$TestStackRootNode of com.oracle.truffle.api.debug.test.DebugStackFrameTest$TestStackLanguage
  public final FrameAccess = com.oracle.truffle.api.frame.FrameInstance$FrameAccess of com.oracle.truffle.api.frame.FrameInstance
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles