public class com.oracle.truffle.sl.test.SLDebugTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.sl.test.SLDebugTest
  super_class: java.lang.Object
{
  private com.oracle.truffle.tck.DebuggerTester tester;
    descriptor: Lcom/oracle/truffle/tck/DebuggerTester;
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$sl$test$SLDebugTest$StepDepth;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            ldc Lcom/oracle/truffle/sl/test/SLDebugTest;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.sl.test.SLDebugTest.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;

  public void before();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 92
            aload 0 /* this */
            new com.oracle.truffle.tck.DebuggerTester
            dup
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            invokespecial com.oracle.truffle.tck.DebuggerTester.<init>:(Lorg/graalvm/polyglot/Context$Builder;)V
            putfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
         1: .line 93
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 97
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.close:()V
         1: .line 98
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    RuntimeVisibleAnnotations: 
      org.junit.After()

  private void startEval(org.graalvm.polyglot.Source);
    descriptor: (Lorg/graalvm/polyglot/Source;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // org.graalvm.polyglot.Source code
         0: .line 101
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 1 /* code */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startEval:(Lorg/graalvm/polyglot/Source;)V
         1: .line 102
            return
        end local 1 // org.graalvm.polyglot.Source code
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  code  Lorg/graalvm/polyglot/Source;
    MethodParameters:
      Name  Flags
      code  

  private static org.graalvm.polyglot.Source slCode(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String code
         0: .line 105
            ldc "sl"
            aload 0 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            areturn
        end local 0 // java.lang.String code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  code  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      code  

  private com.oracle.truffle.api.debug.DebuggerSession startSession();
    descriptor: ()Lcom/oracle/truffle/api/debug/DebuggerSession;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 109
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            areturn
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;

  private com.oracle.truffle.api.debug.DebuggerSession startSession(com.oracle.truffle.api.debug.SourceElement[]);
    descriptor: ([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/DebuggerSession;
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SourceElement[] sourceElements
         0: .line 113
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 1 /* sourceElements */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startSession:([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/DebuggerSession;
            areturn
        end local 1 // com.oracle.truffle.api.debug.SourceElement[] sourceElements
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    1     1  sourceElements  [Lcom/oracle/truffle/api/debug/SourceElement;
    MethodParameters:
                Name  Flags
      sourceElements  

  private java.lang.String expectDone();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 117
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.expectDone:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;

  private void expectSuspended(com.oracle.truffle.api.debug.SuspendedCallback);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedCallback callback
         0: .line 121
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 1 /* callback */
            invokevirtual com.oracle.truffle.tck.DebuggerTester.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         1: .line 122
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedCallback callback
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  callback  Lcom/oracle/truffle/api/debug/SuspendedCallback;
    MethodParameters:
          Name  Flags
      callback  

  protected com.oracle.truffle.api.debug.SuspendedEvent checkState(com.oracle.truffle.api.debug.SuspendedEvent, java.lang.String, int, boolean, java.lang.String, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=4, locals=10, args_size=7
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent suspendedEvent
        start local 2 // java.lang.String name
        start local 3 // int expectedLineNumber
        start local 4 // boolean expectedIsBefore
        start local 5 // java.lang.String expectedCode
        start local 6 // java.lang.String[] expectedFrame
         0: .line 126
            aload 1 /* suspendedEvent */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            istore 7 /* actualLineNumber */
        start local 7 // int actualLineNumber
         1: .line 127
            iload 3 /* expectedLineNumber */
            i2l
            iload 7 /* actualLineNumber */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 128
            aload 1 /* suspendedEvent */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 8 /* actualCode */
        start local 8 // java.lang.String actualCode
         3: .line 129
            aload 5 /* expectedCode */
            aload 8 /* actualCode */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 130
            aload 1 /* suspendedEvent */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSuspendAnchor:()Lcom/oracle/truffle/api/debug/SuspendAnchor;
            getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: int java.lang.String
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 9 /* actualIsBefore */
        start local 9 // boolean actualIsBefore
         7: .line 131
            iload 4 /* expectedIsBefore */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iload 9 /* actualIsBefore */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 133
            aload 0 /* this */
            aload 1 /* suspendedEvent */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            aload 2 /* name */
            aload 6 /* expectedFrame */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
         9: .line 134
            aload 1 /* suspendedEvent */
            areturn
        end local 9 // boolean actualIsBefore
        end local 8 // java.lang.String actualCode
        end local 7 // int actualLineNumber
        end local 6 // java.lang.String[] expectedFrame
        end local 5 // java.lang.String expectedCode
        end local 4 // boolean expectedIsBefore
        end local 3 // int expectedLineNumber
        end local 2 // java.lang.String name
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent suspendedEvent
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0   10     1      suspendedEvent  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            0   10     2                name  Ljava/lang/String;
            0   10     3  expectedLineNumber  I
            0   10     4    expectedIsBefore  Z
            0   10     5        expectedCode  Ljava/lang/String;
            0   10     6       expectedFrame  [Ljava/lang/String;
            1   10     7    actualLineNumber  I
            3   10     8          actualCode  Ljava/lang/String;
            7   10     9      actualIsBefore  Z
    MethodParameters:
                    Name  Flags
      suspendedEvent      
      name                
      expectedLineNumber  final
      expectedIsBefore    final
      expectedCode        final
      expectedFrame       final

  protected void checkStack(com.oracle.truffle.api.debug.DebugStackFrame, java.lang.String, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        start local 2 // java.lang.String name
        start local 3 // java.lang.String[] expectedFrame
         0: .line 138
            aload 2 /* name */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 139
            ldc "variables"
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            aload 3 /* expectedFrame */
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.checkDebugValues:(Ljava/lang/String;Lcom/oracle/truffle/api/debug/DebugScope;[Ljava/lang/String;)V
         2: .line 140
            return
        end local 3 // java.lang.String[] expectedFrame
        end local 2 // java.lang.String name
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    3     1          frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            0    3     2           name  Ljava/lang/String;
            0    3     3  expectedFrame  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      frame          
      name           
      expectedFrame  

  private static void checkDebugValues(java.lang.String, com.oracle.truffle.api.debug.DebugScope, java.lang.String[]);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/debug/DebugScope;[Ljava/lang/String;)V
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.String msg
        start local 1 // com.oracle.truffle.api.debug.DebugScope scope
        start local 2 // java.lang.String[] expected
         0: .line 143
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* valMap */
        start local 3 // java.util.Map valMap
         1: .line 144
            aload 1 /* scope */
            astore 4 /* currentScope */
        start local 4 // com.oracle.truffle.api.debug.DebugScope currentScope
         2: .line 145
            goto 8
         3: .line 146
      StackMap locals: java.util.Map com.oracle.truffle.api.debug.DebugScope
      StackMap stack:
            aload 4 /* currentScope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: java.lang.String com.oracle.truffle.api.debug.DebugScope java.lang.String[] java.util.Map com.oracle.truffle.api.debug.DebugScope top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 5 /* value */
        start local 5 // com.oracle.truffle.api.debug.DebugValue value
         5: .line 147
            aload 3 /* valMap */
            aload 5 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            aload 5 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.oracle.truffle.api.debug.DebugValue value
         6: .line 146
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 149
            aload 4 /* currentScope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 4 /* currentScope */
         8: .line 145
      StackMap locals: java.lang.String com.oracle.truffle.api.debug.DebugScope java.lang.String[] java.util.Map com.oracle.truffle.api.debug.DebugScope
      StackMap stack:
            aload 4 /* currentScope */
            ifnonnull 3
         9: .line 151
            aload 0 /* msg */
            aload 3 /* valMap */
            aload 2 /* expected */
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.checkDebugValues:(Ljava/lang/String;Ljava/util/Map;[Ljava/lang/String;)V
        10: .line 152
            return
        end local 4 // com.oracle.truffle.api.debug.DebugScope currentScope
        end local 3 // java.util.Map valMap
        end local 2 // java.lang.String[] expected
        end local 1 // com.oracle.truffle.api.debug.DebugScope scope
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0           msg  Ljava/lang/String;
            0   11     1         scope  Lcom/oracle/truffle/api/debug/DebugScope;
            0   11     2      expected  [Ljava/lang/String;
            1   11     3        valMap  Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/debug/DebugValue;>;
            2   11     4  currentScope  Lcom/oracle/truffle/api/debug/DebugScope;
            5    6     5         value  Lcom/oracle/truffle/api/debug/DebugValue;
    MethodParameters:
          Name  Flags
      msg       
      scope     
      expected  

  private static void checkDebugValues(java.lang.String, java.util.Map<java.lang.String, com.oracle.truffle.api.debug.DebugValue>, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/util/Map;[Ljava/lang/String;)V
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String msg
        start local 1 // java.util.Map valMap
        start local 2 // java.lang.String[] expected
         0: .line 155
            ldc "Frame %s expected %s got %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* msg */
            aastore
            dup
            iconst_1
            aload 2 /* expected */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* valMap */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
         1: .line 156
            aload 3 /* message */
            aload 2 /* expected */
            arraylength
            iconst_2
            idiv
            i2l
            aload 1 /* valMap */
            invokeinterface java.util.Map.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         2: .line 157
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 158
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 2 /* expected */
            iload 4 /* i */
            aaload
            astore 5 /* expectedIdentifier */
        start local 5 // java.lang.String expectedIdentifier
         5: .line 159
            aload 2 /* expected */
            iload 4 /* i */
            iconst_1
            iadd
            aaload
            astore 6 /* expectedValue */
        start local 6 // java.lang.String expectedValue
         6: .line 160
            aload 1 /* valMap */
            aload 5 /* expectedIdentifier */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 7 /* value */
        start local 7 // com.oracle.truffle.api.debug.DebugValue value
         7: .line 161
            aload 7 /* value */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         8: .line 162
            aload 6 /* expectedValue */
            aload 7 /* value */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // com.oracle.truffle.api.debug.DebugValue value
        end local 6 // java.lang.String expectedValue
        end local 5 // java.lang.String expectedIdentifier
         9: .line 157
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* expected */
            arraylength
            if_icmplt 4
        end local 4 // int i
        11: .line 164
            return
        end local 3 // java.lang.String message
        end local 2 // java.lang.String[] expected
        end local 1 // java.util.Map valMap
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                 msg  Ljava/lang/String;
            0   12     1              valMap  Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/debug/DebugValue;>;
            0   12     2            expected  [Ljava/lang/String;
            1   12     3             message  Ljava/lang/String;
            3   11     4                   i  I
            5    9     5  expectedIdentifier  Ljava/lang/String;
            6    9     6       expectedValue  Ljava/lang/String;
            7    9     7               value  Lcom/oracle/truffle/api/debug/DebugValue;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/debug/DebugValue;>;[Ljava/lang/String;)V
    MethodParameters:
          Name  Flags
      msg       
      valMap    
      expected  

  public void testBreakpoint();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 172
            ldc "function main() {\n  return fac(5);\n}\nfunction fac(n) {\n  if (n <= 1) {\n    return 1;\n  }\n  return n * fac(n - 1);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* factorial */
        start local 1 // org.graalvm.polyglot.Source factorial
         1: .line 182
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 184
            aload 0 /* this */
            aload 1 /* factorial */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         4: .line 185
            aload 4 /* session */
            aload 1 /* factorial */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 6
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            astore 5 /* breakpoint */
        start local 5 // com.oracle.truffle.api.debug.Breakpoint breakpoint
         5: .line 187
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* breakpoint */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;Lcom/oracle/truffle/api/debug/Breakpoint;)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/sl/test/SLDebugTest.lambda$0(Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 198
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$1(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 205
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$2(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 212
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$3(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 219
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$4(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        10: .line 226
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$5(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        11: .line 233
            ldc "120"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // com.oracle.truffle.api.debug.Breakpoint breakpoint
        12: .line 234
            aload 4 /* session */
            ifnull 18
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 18
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        13: astore 2
            aload 4 /* session */
            ifnull 14
            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:
        14: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 3
            aload 2
            ifnonnull 16
            aload 3
            astore 2
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 2
            aload 3
            if_acmpeq 17
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 2
            athrow
        18: .line 235
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source factorial
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   19     1   factorial  Lorg/graalvm/polyglot/Source;
            3   14     4     session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            5   12     5  breakpoint  Lcom/oracle/truffle/api/debug/Breakpoint;
      Exception table:
        from    to  target  type
           3    12      13  any
           2    15      15  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGuestFunctionBreakpoints();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 239
            ldc "function main() {\n  a = fac;\n  return fac(5);\n}\nfunction fac(n) {\n  if (n <= 1) {\n    return 1;\n  }\n  return n * facMin1(n);\n}\nfunction facMin1(n) {\n  m = n - 1;\n  return fac(m);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* functions */
        start local 1 // org.graalvm.polyglot.Source functions
         1: .line 253
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 254
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 255
            aload 0 /* this */
            aload 1 /* functions */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 256
            iconst_1
            anewarray com.oracle.truffle.api.debug.Breakpoint
            astore 5 /* functionBreakpoint */
        start local 5 // com.oracle.truffle.api.debug.Breakpoint[] functionBreakpoint
         6: .line 258
            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/sl/test/SLDebugTest.lambda$6(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 261
            aload 0 /* this */
            aload 4 /* session */
            aload 5 /* functionBreakpoint */
            invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/DebuggerSession;[Lcom/oracle/truffle/api/debug/Breakpoint;)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/sl/test/SLDebugTest.lambda$7(Lcom/oracle/truffle/api/debug/DebuggerSession;[Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 269
            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/sl/test/SLDebugTest.lambda$8(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 274
            aload 0 /* this */
            aload 5 /* functionBreakpoint */
            invokedynamic onSuspend([Lcom/oracle/truffle/api/debug/Breakpoint;)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/sl/test/SLDebugTest.lambda$9([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        10: .line 280
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        end local 5 // com.oracle.truffle.api.debug.Breakpoint[] functionBreakpoint
        11: .line 281
            aload 4 /* session */
            ifnull 17
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* session */
            ifnull 13
            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:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 282
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source functions
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   18     1           functions  Lorg/graalvm/polyglot/Source;
            3   13     4             session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6   11     5  functionBreakpoint  [Lcom/oracle/truffle/api/debug/Breakpoint;
      Exception table:
        from    to  target  type
           3    11      12  any
           2    14      14  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBuiltInFunctionBreakpoints();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 286
            ldc "function main() {\n  a = isNull;\n  b = nanoTime;\n  isNull(a);\n  isExecutable(a);\n  isNull(b);\n  nanoTime();\n  isNull(a);\n  nanoTime();\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* functions */
        start local 1 // org.graalvm.polyglot.Source functions
         1: .line 296
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 297
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 298
            aload 0 /* this */
            aload 1 /* functions */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 299
            iconst_1
            anewarray com.oracle.truffle.api.debug.Breakpoint
            astore 5 /* functionBreakpoint */
        start local 5 // com.oracle.truffle.api.debug.Breakpoint[] functionBreakpoint
         6: .line 301
            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/sl/test/SLDebugTest.lambda$10(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 304
            aload 0 /* this */
            aload 4 /* session */
            aload 5 /* functionBreakpoint */
            invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/DebuggerSession;[Lcom/oracle/truffle/api/debug/Breakpoint;)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/sl/test/SLDebugTest.lambda$11(Lcom/oracle/truffle/api/debug/DebuggerSession;[Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 311
            aload 0 /* this */
            aload 5 /* functionBreakpoint */
            aload 4 /* session */
            invokedynamic onSuspend([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/DebuggerSession;)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/sl/test/SLDebugTest.lambda$12([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/DebuggerSession;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 327
            aload 0 /* this */
            aload 5 /* functionBreakpoint */
            invokedynamic onSuspend([Lcom/oracle/truffle/api/debug/Breakpoint;)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/sl/test/SLDebugTest.lambda$13([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        10: .line 337
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        end local 5 // com.oracle.truffle.api.debug.Breakpoint[] functionBreakpoint
        11: .line 338
            aload 4 /* session */
            ifnull 17
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* session */
            ifnull 13
            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:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 339
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source functions
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   18     1           functions  Lorg/graalvm/polyglot/Source;
            3   13     4             session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6   11     5  functionBreakpoint  [Lcom/oracle/truffle/api/debug/Breakpoint;
      Exception table:
        from    to  target  type
           3    11      12  any
           2    14      14  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStepInOver();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 346
            ldc "function main() {\n  return fac(5);\n}\nfunction fac(n) {\n  if (n <= 1) {\n    return 1;\n  }\n  return n * fac(n - 1);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* factorial */
        start local 1 // org.graalvm.polyglot.Source factorial
         1: .line 356
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 357
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 358
            aload 0 /* this */
            aload 1 /* factorial */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 359
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$14(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 362
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$15(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 365
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$16(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 368
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$17(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 373
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        10: .line 374
            aload 4 /* session */
            ifnull 16
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* session */
            ifnull 12
            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:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        16: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source factorial
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   17     1  factorial  Lorg/graalvm/polyglot/Source;
            3   12     4    session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3    10      11  any
           2    13      13  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSuspendHereFromHost();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 394
            ldc "function foo(hostCall) {\n  hostCall();\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* testSource */
        start local 1 // org.graalvm.polyglot.Source testSource
         1: .line 397
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 399
            aload 0 /* this */
            aload 1 /* testSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         4: .line 400
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         5: .line 402
            new com.oracle.truffle.sl.test.SLDebugTest$HostFunction
            dup
            aload 4 /* session */
            invokespecial com.oracle.truffle.sl.test.SLDebugTest$HostFunction.<init>:(Lcom/oracle/truffle/api/debug/DebuggerSession;)V
            astore 5 /* hostFunction */
        start local 5 // com.oracle.truffle.sl.test.SLDebugTest$HostFunction hostFunction
         6: .line 403
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* hostFunction */
            invokedynamic apply(Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;)Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/sl/test/SLDebugTest.lambda$18(Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value; (6)
                  (Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startExecute:(Ljava/util/function/Function;)V
         7: .line 407
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$19(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 412
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        end local 5 // com.oracle.truffle.sl.test.SLDebugTest$HostFunction hostFunction
         9: .line 413
            aload 4 /* session */
            ifnull 15
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest 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 414
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source testSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   16     1    testSource  Lorg/graalvm/polyglot/Source;
            3   11     4       session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6    9     5  hostFunction  Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;
      Exception table:
        from    to  target  type
           3     9      10  any
           2    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStepFromSuspendHere();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 418
            ldc "function foo(hostCall) {\n  hostCall();\n  x = 5;\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* testSource */
        start local 1 // org.graalvm.polyglot.Source testSource
         1: .line 422
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 424
            aload 0 /* this */
            aload 1 /* testSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         4: .line 425
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         5: .line 427
            new com.oracle.truffle.sl.test.SLDebugTest$HostFunction
            dup
            aload 4 /* session */
            invokespecial com.oracle.truffle.sl.test.SLDebugTest$HostFunction.<init>:(Lcom/oracle/truffle/api/debug/DebuggerSession;)V
            astore 5 /* hostFunction */
        start local 5 // com.oracle.truffle.sl.test.SLDebugTest$HostFunction hostFunction
         6: .line 428
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 5 /* hostFunction */
            invokedynamic apply(Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;)Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/sl/test/SLDebugTest.lambda$20(Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value; (6)
                  (Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            invokevirtual com.oracle.truffle.tck.DebuggerTester.startExecute:(Ljava/util/function/Function;)V
         7: .line 432
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$21(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 437
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$22(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 440
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        end local 5 // com.oracle.truffle.sl.test.SLDebugTest$HostFunction hostFunction
        10: .line 441
            aload 4 /* session */
            ifnull 16
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* session */
            ifnull 12
            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:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        16: .line 442
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source testSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   17     1    testSource  Lorg/graalvm/polyglot/Source;
            3   12     4       session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            6   10     5  hostFunction  Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;
      Exception table:
        from    to  target  type
           3    10      11  any
           2    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDebugger();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 449
            ldc "function main() {\n  return fac(5);\n}\nfunction fac(n) {\n  if (n <= 1) {\n    debugger; return 1;\n  }\n  return n * fac(n - 1);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* factorial */
        start local 1 // org.graalvm.polyglot.Source factorial
         1: .line 459
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 460
            aload 0 /* this */
            aload 1 /* factorial */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         4: .line 463
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.getBreakpoints:()Ljava/util/List;
            pop
         5: .line 465
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$23(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 469
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 470
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest 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 471
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source factorial
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   14     1  factorial  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()

  public void testTimeboxing();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 475
            ldc "function main() {\n  i = 1; \n  while(i > 0) {\n    i = i + 1;\n  }\n  return i; \n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* endlessLoop */
        start local 1 // org.graalvm.polyglot.Source endlessLoop
         1: .line 483
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sl"
            aastore
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 2 /* context */
        start local 2 // org.graalvm.polyglot.Context context
         2: .line 484
            aload 2 /* context */
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "debugger"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            ldc Lcom/oracle/truffle/api/debug/Debugger;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.Debugger
            astore 3 /* debugger */
        start local 3 // com.oracle.truffle.api.debug.Debugger debugger
         3: .line 485
            new java.util.Timer
            dup
            invokespecial java.util.Timer.<init>:()V
            astore 4 /* timer */
        start local 4 // java.util.Timer timer
         4: .line 486
            aload 4 /* timer */
            new com.oracle.truffle.sl.test.SLDebugTest$1
            dup
            aload 0 /* this */
            aload 3 /* debugger */
            invokespecial com.oracle.truffle.sl.test.SLDebugTest$1.<init>:(Lcom/oracle/truffle/sl/test/SLDebugTest;Lcom/oracle/truffle/api/debug/Debugger;)V
         5: .line 495
            lconst_0
            ldc 10
         6: .line 486
            invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
         7: .line 498
            aload 2 /* context */
            aload 1 /* endlessLoop */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 499
            invokestatic org.junit.Assert.fail:()V
         9: .line 500
            goto 12
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source org.graalvm.polyglot.Context com.oracle.truffle.api.debug.Debugger java.util.Timer
      StackMap stack: org.graalvm.polyglot.PolyglotException
        10: astore 5 /* pex */
        start local 5 // org.graalvm.polyglot.PolyglotException pex
        11: .line 501
            aload 5 /* pex */
            invokevirtual org.graalvm.polyglot.PolyglotException.isCancelled:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 5 // org.graalvm.polyglot.PolyglotException pex
        12: .line 503
      StackMap locals:
      StackMap stack:
            aload 4 /* timer */
            invokevirtual java.util.Timer.cancel:()V
        13: .line 504
            return
        end local 4 // java.util.Timer timer
        end local 3 // com.oracle.truffle.api.debug.Debugger debugger
        end local 2 // org.graalvm.polyglot.Context context
        end local 1 // org.graalvm.polyglot.Source endlessLoop
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   14     1  endlessLoop  Lorg/graalvm/polyglot/Source;
            2   14     2      context  Lorg/graalvm/polyglot/Context;
            3   14     3     debugger  Lcom/oracle/truffle/api/debug/Debugger;
            4   14     4        timer  Ljava/util/Timer;
           11   12     5          pex  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           7     9      10  Class org.graalvm.polyglot.PolyglotException
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNull();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 508
            ldc "function main() {\n  res = doNull();\n  return res;\n}\nfunction doNull() {}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* factorial */
        start local 1 // org.graalvm.polyglot.Source factorial
         1: .line 514
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 515
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 516
            aload 0 /* this */
            aload 1 /* factorial */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 518
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$24(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 522
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$25(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 526
            ldc "NULL"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 527
            aload 4 /* session */
            ifnull 14
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 14
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source 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 528
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source factorial
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   15     1  factorial  Lorg/graalvm/polyglot/Source;
            3   10     4    session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3     8       9  any
           2    11      11  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDebugValue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 532
            ldc "function main() {\n  a = doNull();\n  b = 10 == 10;\n  c = 10;\n  d = \"str\";\n  e = new();\n  e.p1 = 1;\n  e.p2 = new();\n  e.p2.p21 = 21;\n  return;\n}\nfunction doNull() {}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* varsSource */
        start local 1 // org.graalvm.polyglot.Source varsSource
         1: .line 545
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 546
            aload 4 /* session */
            aload 1 /* varsSource */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 10
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         4: .line 547
            aload 0 /* this */
            aload 1 /* varsSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 549
            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/sl/test/SLDebugTest.lambda$26(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 610
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 611
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest 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 612
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source varsSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   14     1  varsSource  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()

  public void testValuesScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 616
            ldc "function main() {\n  a = 1;\n  if (a > 0) {\n    b = 10;\n    println(b);\n  }\n  println(b);\n  println(a);\n  println(\"END.\");\n}"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* varsSource */
        start local 1 // org.graalvm.polyglot.Source varsSource
         1: .line 627
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 628
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         4: .line 629
            aload 0 /* this */
            aload 1 /* varsSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 631
            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/sl/test/SLDebugTest.lambda$27(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 637
            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/sl/test/SLDebugTest.lambda$28(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 649
            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/sl/test/SLDebugTest.lambda$29(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 661
            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/sl/test/SLDebugTest.lambda$30(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 680
            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/sl/test/SLDebugTest.lambda$31(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        10: .line 693
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        11: .line 694
            aload 4 /* session */
            ifnull 17
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* session */
            ifnull 13
            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:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 695
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source varsSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   18     1  varsSource  Lorg/graalvm/polyglot/Source;
            3   13     4     session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3    11      12  any
           2    14      14  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMetaObjects();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 699
            ldc "function main() {\n  a = doNull();\n  b = 10 == 10;\n  c = 10;\n  cBig = 1000000000*1000000000*1000000000*1000000000;\n  d = \"str\";\n  e = new();\n  f = doNull;\n  return;\n}\nfunction doNull() {}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* varsSource */
        start local 1 // org.graalvm.polyglot.Source varsSource
         1: .line 711
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 712
            aload 4 /* session */
            aload 1 /* varsSource */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 9
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         4: .line 713
            aload 0 /* this */
            aload 1 /* varsSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 715
            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/sl/test/SLDebugTest.lambda$32(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 735
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 736
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest 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 737
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source varsSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   14     1  varsSource  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 testSourceLocation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 741
            ldc "function main() {\n  a = doNull();\n  c = 10;\n  d = \"str\";\n  e = new();\n  f = doNull;\n  return;\n}\nfunction doNull() {}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* varsSource */
        start local 1 // org.graalvm.polyglot.Source varsSource
         1: .line 751
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 752
            aload 4 /* session */
            aload 1 /* varsSource */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 7
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         4: .line 753
            aload 0 /* this */
            aload 1 /* varsSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 755
            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/sl/test/SLDebugTest.lambda$33(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 775
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 776
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest 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 777
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source varsSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   14     1  varsSource  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 testStack();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 781
            ldc "function main() {\n  return fac(10);\n}\nfunction fac(n) {\n  if (n <= 1) {\n    return 1;\n  }\n  return n * fac(n - 1);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* stackSource */
        start local 1 // org.graalvm.polyglot.Source stackSource
         1: .line 791
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 792
            aload 4 /* session */
            aload 1 /* stackSource */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 6
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         4: .line 793
            aload 0 /* this */
            aload 1 /* stackSource */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 795
            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/sl/test/SLDebugTest.lambda$34(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 822
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
         7: .line 823
            aload 4 /* session */
            ifnull 13
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest 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 824
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source stackSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   14     1  stackSource  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 testStackInterop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 828
            ldc "function fac(n, multiply) {\n  if (n <= 1) {\n    debugger;\n    return 1;\n  }\n  return multiply.multiply(n, fac, n - 1);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* stackSource */
        start local 1 // org.graalvm.polyglot.Source stackSource
         1: .line 836
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sl"
            aastore
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 2 /* context */
        start local 2 // org.graalvm.polyglot.Context context
         2: .line 837
            aload 2 /* context */
            aload 1 /* stackSource */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         3: .line 838
            aload 2 /* context */
            ldc "sl"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "fac"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 3 /* fac */
        start local 3 // org.graalvm.polyglot.Value fac
         4: .line 839
            new com.oracle.truffle.sl.test.SLDebugTest$Multiply
            dup
            invokespecial com.oracle.truffle.sl.test.SLDebugTest$Multiply.<init>:()V
            astore 4 /* multiply */
        start local 4 // java.lang.Object multiply
         5: .line 840
            aload 2 /* context */
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "debugger"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            ldc Lcom/oracle/truffle/api/debug/Debugger;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.Debugger
            astore 5 /* debugger */
        start local 5 // com.oracle.truffle.api.debug.Debugger debugger
         6: .line 841
            iconst_1
            newarray 4
            astore 6 /* done */
        start local 6 // boolean[] done
         7: .line 842
            aconst_null
            astore 7
            aconst_null
            astore 8
         8: aload 5 /* debugger */
            aload 6 /* done */
            invokedynamic onSuspend([Z)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/sl/test/SLDebugTest.lambda$35([ZLcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.api.debug.Debugger.startSession:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 9 /* session */
        start local 9 // com.oracle.truffle.api.debug.DebuggerSession session
         9: .line 874
            aload 9 /* session */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        10: .line 875
            aload 3 /* fac */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 4 /* multiply */
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 10 /* ret */
        start local 10 // org.graalvm.polyglot.Value ret
        11: .line 876
            aload 10 /* ret */
            invokevirtual org.graalvm.polyglot.Value.asLong:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            ldc 3628800.0
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.assertNumber:(Ljava/lang/Object;D)V
        end local 10 // org.graalvm.polyglot.Value ret
        12: .line 877
            aload 9 /* session */
            ifnull 18
            aload 9 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 18
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source org.graalvm.polyglot.Context org.graalvm.polyglot.Value java.lang.Object com.oracle.truffle.api.debug.Debugger boolean[] java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        13: astore 7
            aload 9 /* session */
            ifnull 14
            aload 9 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 9 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        14: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 8
            aload 7
            ifnonnull 16
            aload 8
            astore 7
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 7
            aload 8
            if_acmpeq 17
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 7
            athrow
        18: .line 879
      StackMap locals:
      StackMap stack:
            aload 6 /* done */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertTrue:(Z)V
        19: .line 880
            return
        end local 6 // boolean[] done
        end local 5 // com.oracle.truffle.api.debug.Debugger debugger
        end local 4 // java.lang.Object multiply
        end local 3 // org.graalvm.polyglot.Value fac
        end local 2 // org.graalvm.polyglot.Context context
        end local 1 // org.graalvm.polyglot.Source stackSource
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   20     1  stackSource  Lorg/graalvm/polyglot/Source;
            2   20     2      context  Lorg/graalvm/polyglot/Context;
            4   20     3          fac  Lorg/graalvm/polyglot/Value;
            5   20     4     multiply  Ljava/lang/Object;
            6   20     5     debugger  Lcom/oracle/truffle/api/debug/Debugger;
            7   20     6         done  [Z
            9   14     9      session  Lcom/oracle/truffle/api/debug/DebuggerSession;
           11   12    10          ret  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           9    12      13  any
           8    15      15  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testUnwindAndReenter();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 884
            ldc "function main() {\n  return fac(10);\n}\nfunction fac(n) {\n  if (n <= 1) {\n    return 1;\n  }\n  return n * fac(n - 1);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 894
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 895
            aload 4 /* session */
            aload 1 /* source */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 6
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         4: .line 896
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 898
            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/sl/test/SLDebugTest.lambda$36(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 906
            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/sl/test/SLDebugTest.lambda$37(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 911
            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/sl/test/SLDebugTest.lambda$38(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 916
            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/sl/test/SLDebugTest.lambda$39(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 920
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        10: .line 921
            aload 4 /* session */
            ifnull 16
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* session */
            ifnull 12
            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:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        16: .line 922
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   17     1   source  Lorg/graalvm/polyglot/Source;
            3   12     4  session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3    10      11  any
           2    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testArgumentsAndValues();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 927
            ldc "function main() {\n  i = 10;\n  return fnc(i = i + 1, 20);\n}\nfunction fnc(n, m) {\n  x = n + m;\n  n = m - n;\n  m = m / 2;\n  x = x + n * m;\n  return x;\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 939
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 940
            aload 4 /* session */
            aload 1 /* source */
            invokestatic com.oracle.truffle.tck.DebuggerTester.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            bipush 6
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.lineIs:(I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         4: .line 941
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         5: .line 943
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$40(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         6: .line 949
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$41(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 955
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$42(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 960
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onSuspend(Lcom/oracle/truffle/sl/test/SLDebugTest;)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/sl/test/SLDebugTest.lambda$43(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 965
            ldc "121"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 966
            aload 4 /* session */
            ifnull 16
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* session */
            ifnull 12
            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:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        16: .line 967
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   17     1   source  Lorg/graalvm/polyglot/Source;
            3   12     4  session  Lcom/oracle/truffle/api/debug/DebuggerSession;
      Exception table:
        from    to  target  type
           3    10      11  any
           2    13      13  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMisplacedLineBreakpoints();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1005
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            ldc "// A comment\nfunction invocable(n) {\n  if (R3_n <= 1) {\n    R4-6_one \n        =\n          1;\n    R7-9_return\n        one;\n  } else {\n    // A comment\n    while (\n        R10-12_n > 0\n          ) { \n      R13-16_one \n          = \n            2;\n      R17-20_n = n -\n          one *\n          one;\n    }\n    R21_n =\n        n - 1; R22_n = n + 1;\n    R23-27_return\n        n * n;\n    \n  }\n}\n\nfunction\n   main()\n         {\n  R31-33_return invocable(1) + invocable(2);\n}\n\n"
            new com.oracle.truffle.sl.test.SLDebugTest$2
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.sl.test.SLDebugTest$2.<init>:(Lcom/oracle/truffle/sl/test/SLDebugTest;)V
         1: .line 1015
            ldc "R"
            ldc "sl"
         2: .line 1005
            invokevirtual com.oracle.truffle.tck.DebuggerTester.assertLineBreakpointsResolution:(Ljava/lang/String;Lcom/oracle/truffle/tck/DebuggerTester$PositionPredicate;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 1016
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMisplacedColumnBreakpoints();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1052
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            ldc "// A comment\nfunction invocable(B3_n) {\n  if (R3_n <= 1) B4_ B5_{B6_\n    R4-7_one \n        =\n          B7_1;\n    R8_return\n        one;\n  B8_}B9_ else B10_ {\n    // A commentB11_\n    while (\n        R9-11_n > 0\n          ) B12_ { \n      R12_one \n          = \n            2;\n      R13-14_n = n -\n          one *\n          one;\n   B13_ B14_}B15_\n    R15-16_return\n        n * n;\n    \n  }B16_\n}\n\nfunction\n   main()\n         {\n  return invocable(1) + invocable(2);\n}\n\n"
            ldc "B"
            ldc "R"
            ldc "sl"
            invokevirtual com.oracle.truffle.tck.DebuggerTester.assertColumnBreakpointsResolution:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 1053
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBreakpointEverywhereBreaks();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1089
            ldc "sl"
            ldc "// A comment\nfunction invocable(n) {\n  if (n <= 1) {\n    one \n        =\n          1;\n    return\n        one;\n  } else {\n    // A comment\n    while (\n        n > 0\n          ) { \n      one \n          = \n            2;\n      n = n -\n          one *\n          one;\n    }\n    return\n        n * n;\n    \n  }\n}\n\nfunction\n   main()\n         {\n  return invocable(1) + invocable(2);\n}\n\n"
            ldc "testBreakpointsAnywhere.sl"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 1090
            aload 0 /* this */
            getfield com.oracle.truffle.sl.test.SLDebugTest.tester:Lcom/oracle/truffle/tck/DebuggerTester;
            aload 1 /* source */
            new com.oracle.truffle.sl.test.SLDebugTest$3
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.sl.test.SLDebugTest$3.<init>:(Lcom/oracle/truffle/sl/test/SLDebugTest;)V
            invokevirtual com.oracle.truffle.tck.DebuggerTester.assertBreakpointsBreakEverywhere:(Lorg/graalvm/polyglot/Source;Lcom/oracle/truffle/tck/DebuggerTester$PositionPredicate;)V
         2: .line 1101
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1    3     1  source  Lorg/graalvm/polyglot/Source;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void checkExpressionStepPositions(java.lang.String, boolean, com.oracle.truffle.sl.test.SLDebugTest$StepDepth[]);
    descriptor: (Ljava/lang/String;Z[Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=5, locals=17, args_size=4
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // java.lang.String stepPositions
        start local 2 // boolean includeStatements
        start local 3 // com.oracle.truffle.sl.test.SLDebugTest$StepDepth[] steps
         0: .line 1110
            ldc "function main() {\n  x = 2;\n  while (x >= 0 && 5 >= 0) {\n    a = 2 * x;\n    b = (a * a) / (x * x + 1);\n    x = x - transform(a, b);\n  }\n  return x / 1;\n}\nfunction transform(a, b) {\n  return (1 + 1) * (a + b);\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 4 /* source */
        start local 4 // org.graalvm.polyglot.Source source
         1: .line 1123
            iload 2 /* includeStatements */
            ifeq 4
         2: .line 1124
            iconst_2
            anewarray com.oracle.truffle.api.debug.SourceElement
            dup
            iconst_0
            getstatic com.oracle.truffle.api.debug.SourceElement.EXPRESSION:Lcom/oracle/truffle/api/debug/SourceElement;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.api.debug.SourceElement.STATEMENT:Lcom/oracle/truffle/api/debug/SourceElement;
            aastore
            astore 5 /* elements */
        start local 5 // com.oracle.truffle.api.debug.SourceElement[] elements
         3: .line 1125
            goto 5
        end local 5 // com.oracle.truffle.api.debug.SourceElement[] elements
         4: .line 1126
      StackMap locals: org.graalvm.polyglot.Source
      StackMap stack:
            iconst_1
            anewarray com.oracle.truffle.api.debug.SourceElement
            dup
            iconst_0
            getstatic com.oracle.truffle.api.debug.SourceElement.EXPRESSION:Lcom/oracle/truffle/api/debug/SourceElement;
            aastore
            astore 5 /* elements */
        start local 5 // com.oracle.truffle.api.debug.SourceElement[] elements
         5: .line 1128
      StackMap locals: com.oracle.truffle.api.debug.SourceElement[]
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         6: aload 0 /* this */
            aload 5 /* elements */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 8 /* session */
        start local 8 // com.oracle.truffle.api.debug.DebuggerSession session
         7: .line 1129
            aload 8 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
         8: .line 1130
            aload 0 /* this */
            aload 4 /* source */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         9: .line 1133
            aload 3 /* steps */
            iconst_0
            aaload
            astore 9 /* lastStep */
        start local 9 // com.oracle.truffle.sl.test.SLDebugTest$StepDepth lastStep
        10: .line 1134
            iconst_0
            istore 10 /* stepIndex */
        start local 10 // int stepIndex
        11: .line 1135
            invokestatic com.oracle.truffle.api.debug.StepConfig.newBuilder:()Lcom/oracle/truffle/api/debug/StepConfig$Builder;
            aload 5 /* elements */
            invokevirtual com.oracle.truffle.api.debug.StepConfig$Builder.sourceElements:([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/StepConfig$Builder;
            invokevirtual com.oracle.truffle.api.debug.StepConfig$Builder.build:()Lcom/oracle/truffle/api/debug/StepConfig;
            astore 11 /* expressionStepConfig */
        start local 11 // com.oracle.truffle.api.debug.StepConfig expressionStepConfig
        12: .line 1136
            aload 1 /* stepPositions */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 19
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest java.lang.String int com.oracle.truffle.sl.test.SLDebugTest$StepDepth[] org.graalvm.polyglot.Source com.oracle.truffle.api.debug.SourceElement[] java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession com.oracle.truffle.sl.test.SLDebugTest$StepDepth int com.oracle.truffle.api.debug.StepConfig top int int java.lang.String[]
      StackMap stack:
        13: aload 15
            iload 13
            aaload
            astore 12 /* stepPos */
        start local 12 // java.lang.String stepPos
        14: .line 1137
            iload 10 /* stepIndex */
            aload 3 /* steps */
            arraylength
            if_icmpge 16
        15: .line 1138
            aload 3 /* steps */
            iload 10 /* stepIndex */
            iinc 10 /* stepIndex */ 1
            aaload
            astore 9 /* lastStep */
        16: .line 1140
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest java.lang.String int com.oracle.truffle.sl.test.SLDebugTest$StepDepth[] org.graalvm.polyglot.Source com.oracle.truffle.api.debug.SourceElement[] java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession com.oracle.truffle.sl.test.SLDebugTest$StepDepth int com.oracle.truffle.api.debug.StepConfig java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 9 /* lastStep */
            astore 16 /* stepDepth */
        start local 16 // com.oracle.truffle.sl.test.SLDebugTest$StepDepth stepDepth
        17: .line 1141
            aload 0 /* this */
            iload 2 /* includeStatements */
            aload 12 /* stepPos */
            aload 16 /* stepDepth */
            aload 11 /* expressionStepConfig */
            invokedynamic onSuspend(ZLjava/lang/String;Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;Lcom/oracle/truffle/api/debug/StepConfig;)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/sl/test/SLDebugTest.lambda$44(ZLjava/lang/String;Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;Lcom/oracle/truffle/api/debug/StepConfig;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
        end local 16 // com.oracle.truffle.sl.test.SLDebugTest$StepDepth stepDepth
        end local 12 // java.lang.String stepPos
        18: .line 1136
            iinc 13 1
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest java.lang.String int com.oracle.truffle.sl.test.SLDebugTest$StepDepth[] org.graalvm.polyglot.Source com.oracle.truffle.api.debug.SourceElement[] java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession com.oracle.truffle.sl.test.SLDebugTest$StepDepth int com.oracle.truffle.api.debug.StepConfig top int int java.lang.String[]
      StackMap stack:
        19: iload 13
            iload 14
            if_icmplt 13
        20: .line 1184
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            pop
        end local 11 // com.oracle.truffle.api.debug.StepConfig expressionStepConfig
        end local 10 // int stepIndex
        end local 9 // com.oracle.truffle.sl.test.SLDebugTest$StepDepth lastStep
        21: .line 1185
            aload 8 /* session */
            ifnull 27
            aload 8 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 27
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest java.lang.String int com.oracle.truffle.sl.test.SLDebugTest$StepDepth[] org.graalvm.polyglot.Source com.oracle.truffle.api.debug.SourceElement[] java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        22: astore 6
            aload 8 /* session */
            ifnull 23
            aload 8 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
        end local 8 // com.oracle.truffle.api.debug.DebuggerSession session
      StackMap locals:
      StackMap stack:
        23: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 7
            aload 6
            ifnonnull 25
            aload 7
            astore 6
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 6
            aload 7
            if_acmpeq 26
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 6
            athrow
        27: .line 1186
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.oracle.truffle.api.debug.SourceElement[] elements
        end local 4 // org.graalvm.polyglot.Source source
        end local 3 // com.oracle.truffle.sl.test.SLDebugTest$StepDepth[] steps
        end local 2 // boolean includeStatements
        end local 1 // java.lang.String stepPositions
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0   28     1         stepPositions  Ljava/lang/String;
            0   28     2     includeStatements  Z
            0   28     3                 steps  [Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            1   28     4                source  Lorg/graalvm/polyglot/Source;
            3    4     5              elements  [Lcom/oracle/truffle/api/debug/SourceElement;
            5   28     5              elements  [Lcom/oracle/truffle/api/debug/SourceElement;
            7   23     8               session  Lcom/oracle/truffle/api/debug/DebuggerSession;
           10   21     9              lastStep  Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
           11   21    10             stepIndex  I
           12   21    11  expressionStepConfig  Lcom/oracle/truffle/api/debug/StepConfig;
           14   18    12               stepPos  Ljava/lang/String;
           17   18    16             stepDepth  Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
      Exception table:
        from    to  target  type
           7    21      22  any
           6    24      24  any
    MethodParameters:
                   Name  Flags
      stepPositions      
      includeStatements  
      steps              

  public void testExpressionStepInto();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1278
            aload 0 /* this */
            ldc "<2:3 - 2:7> <none>\n<2:7 - 2:7> <none>\n<2:7 - 2:7> () 2\n<2:3 - 2:7> (2) 2\n<3:10 - 3:25> <none>\n<3:10 - 3:15> <none>\n<3:10 - 3:10> <none>\n<3:10 - 3:10> () 2\n<3:15 - 3:15> <none>\n<3:15 - 3:15> () 0\n<3:10 - 3:15> (2,0) true\n<3:20 - 3:25> <none>\n<3:20 - 3:20> <none>\n<3:20 - 3:20> () 5\n<3:25 - 3:25> <none>\n<3:25 - 3:25> () 0\n<3:20 - 3:25> (5,0) true\n<3:10 - 3:25> (true,true) true\n<4:5 - 4:13> <none>\n<4:9 - 4:13> <none>\n<4:9 - 4:9> <none>\n<4:9 - 4:9> () 2\n<4:13 - 4:13> <none>\n<4:13 - 4:13> () 2\n<4:9 - 4:13> (2,2) 4\n<4:5 - 4:13> (4) 4\n<5:5 - 5:29> <none>\n<5:9 - 5:29> <none>\n<5:10 - 5:14> <none>\n<5:10 - 5:10> <none>\n<5:10 - 5:10> () 4\n<5:14 - 5:14> <none>\n<5:14 - 5:14> () 4\n<5:10 - 5:14> (4,4) 16\n<5:20 - 5:28> <none>\n<5:20 - 5:24> <none>\n<5:20 - 5:20> <none>\n<5:20 - 5:20> () 2\n<5:24 - 5:24> <none>\n<5:24 - 5:24> () 2\n<5:20 - 5:24> (2,2) 4\n<5:28 - 5:28> <none>\n<5:28 - 5:28> () 1\n<5:20 - 5:28> (4,1) 5\n<5:9 - 5:29> () 3\n<5:5 - 5:29> (3) 3\n<6:5 - 6:27> <none>\n<6:9 - 6:27> <none>\n<6:9 - 6:9> <none>\n<6:9 - 6:9> () 2\n<6:13 - 6:27> <none>\n<6:13 - 6:21> <none>\n<6:13 - 6:21> () transform\n<6:23 - 6:23> <none>\n<6:23 - 6:23> () 4\n<6:26 - 6:26> <none>\n<6:26 - 6:26> () 3\n<11:10 - 11:26> <none>\n<11:11 - 11:15> <none>\n<11:11 - 11:11> <none>\n<11:11 - 11:11> () 1\n<11:15 - 11:15> <none>\n<11:15 - 11:15> () 1\n<11:11 - 11:15> (1,1) 2\n<11:21 - 11:25> <none>\n<11:21 - 11:21> <none>\n<11:21 - 11:21> () 4\n<11:25 - 11:25> <none>\n<11:25 - 11:25> () 3\n<11:21 - 11:25> (4,3) 7\n<11:10 - 11:26> () 14\n<6:13 - 6:27> (transform,4,3) 14\n<6:9 - 6:27> (2,14) -12\n<6:5 - 6:27> (-12) -12\n<3:10 - 3:25> <none>\n<3:10 - 3:15> <none>\n<3:10 - 3:10> <none>\n<3:10 - 3:10> () -12\n<3:15 - 3:15> <none>\n<3:15 - 3:15> () 0\n<3:10 - 3:15> (-12,0) false\n<3:10 - 3:25> (false,null) false\n<8:10 - 8:14> <none>\n<8:10 - 8:10> <none>\n<8:10 - 8:10> () -12\n<8:14 - 8:14> <none>\n<8:14 - 8:14> () 1\n<8:10 - 8:14> (-12,1) -12"
            iconst_0
            iconst_1
            anewarray com.oracle.truffle.sl.test.SLDebugTest$StepDepth
            dup
            iconst_0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkExpressionStepPositions:(Ljava/lang/String;Z[Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;)V
         1: .line 1279
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExpressionStepOver();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1299
            aload 0 /* this */
            ldc "<2:3 - 2:7> <none>\n<2:7 - 2:7> <none>\n<2:7 - 2:7> () 2\n<2:3 - 2:7> (2) 2\n<3:10 - 3:25> <none>\n<3:10 - 3:25> (true,true) true\n<4:5 - 4:13> <none>\n<4:5 - 4:13> (4) 4\n<5:5 - 5:29> <none>\n<5:5 - 5:29> (3) 3\n<6:5 - 6:27> <none>\n<6:5 - 6:27> (-12) -12\n<3:10 - 3:25> <none>\n<3:10 - 3:25> (false,null) false\n<8:10 - 8:14> <none>\n<8:10 - 8:14> (-12,1) -12"
            iconst_0
            iconst_2
            anewarray com.oracle.truffle.sl.test.SLDebugTest$StepDepth
            dup
            iconst_0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OVER:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkExpressionStepPositions:(Ljava/lang/String;Z[Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;)V
         1: .line 1300
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExpressionStepOut();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1312
            aload 0 /* this */
            ldc "<2:3 - 2:7> <none>\n<2:7 - 2:7> <none>\n<2:7 - 2:7> () 2\n<2:3 - 2:7> (2) 2\n<3:10 - 3:25> <none>\n<3:10 - 3:15> <none>\n<3:10 - 3:15> (2,0) true\n<3:10 - 3:25> (true,true) true\n"
            iconst_0
            bipush 6
            anewarray com.oracle.truffle.sl.test.SLDebugTest$StepDepth
            dup
            iconst_0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OVER:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_2
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OVER:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_3
         1: .line 1313
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_4
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_5
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OUT:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
         2: .line 1312
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkExpressionStepPositions:(Ljava/lang/String;Z[Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;)V
         3: .line 1314
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStatementAndExpressionStepOver();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1335
            aload 0 /* this */
            ldc "<2:3 - 2:7> <none>\n<2:7 - 2:7> <none>\n<2:7 - 2:7> () 2\n<2:3 - 2:7> (2) 2\n<3:10 - 3:25> <none>\n<3:10 - 3:25> (true,true) true\n<4:5 - 4:13> <none>\n<4:5 - 4:13> (4) 4\n<5:5 - 5:29> <none>\n<5:5 - 5:29> (3) 3\n<6:5 - 6:27> <none>\n<6:5 - 6:27> (-12) -12\n<3:10 - 3:25> <none>\n<3:10 - 3:25> (false,null) false\n<8:3 - 8:14> <none>\n<8:10 - 8:14> <none>\n<8:10 - 8:14> (-12,1) -12\n"
            iconst_1
            iconst_2
            anewarray com.oracle.truffle.sl.test.SLDebugTest$StepDepth
            dup
            iconst_0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OVER:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkExpressionStepPositions:(Ljava/lang/String;Z[Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;)V
         1: .line 1336
            return
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/sl/test/SLDebugTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExceptions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
         0: .line 1340
            ldc "function main() {\n  i = \"0\";\n  return invert(i);\n}\nfunction invert(n) {\n  x = 10 / n;\n  return x;\n}\n"
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.slCode:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 1 /* source */
        start local 1 // org.graalvm.polyglot.Source source
         1: .line 1348
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
            astore 4 /* session */
        start local 4 // com.oracle.truffle.api.debug.DebuggerSession session
         3: .line 1349
            iconst_1
            iconst_1
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newExceptionBuilder:(ZZ)Lcom/oracle/truffle/api/debug/Breakpoint$ExceptionBuilder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            astore 5 /* excBreakpoint */
        start local 5 // com.oracle.truffle.api.debug.Breakpoint excBreakpoint
         4: .line 1350
            aload 4 /* session */
            aload 5 /* excBreakpoint */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         5: .line 1351
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.startEval:(Lorg/graalvm/polyglot/Source;)V
         6: .line 1353
            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/sl/test/SLDebugTest.lambda$45(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         7: .line 1362
            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/sl/test/SLDebugTest.lambda$46(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         8: .line 1367
            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/sl/test/SLDebugTest.lambda$47(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V (6)
                  (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
         9: .line 1371
            ldc "5"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.expectDone:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // com.oracle.truffle.api.debug.Breakpoint excBreakpoint
        10: .line 1372
            aload 4 /* session */
            ifnull 16
            aload 4 /* session */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.sl.test.SLDebugTest org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* session */
            ifnull 12
            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:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        16: .line 1373
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Source source
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            1   17     1         source  Lorg/graalvm/polyglot/Source;
            3   12     4        session  Lcom/oracle/truffle/api/debug/DebuggerSession;
            4   10     5  excBreakpoint  Lcom/oracle/truffle/api/debug/Breakpoint;
      Exception table:
        from    to  target  type
           3    10      11  any
           2    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void assertNumber(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.lang.Object real
        start local 1 // double expected
         0: .line 1376
            aload 0 /* real */
            instanceof java.lang.Number
            ifeq 3
         1: .line 1377
            dload 1 /* expected */
            aload 0 /* real */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            ldc 0.1
            invokestatic org.junit.Assert.assertEquals:(DDD)V
         2: .line 1378
            goto 4
         3: .line 1379
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Expecting a number "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* real */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         4: .line 1381
      StackMap locals:
      StackMap stack:
            return
        end local 1 // double expected
        end local 0 // java.lang.Object real
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      real  Ljava/lang/Object;
            0    5     1  expected  D
    MethodParameters:
          Name  Flags
      real      
      expected  

  static int[] $SWITCH_TABLE$com$oracle$truffle$sl$test$SLDebugTest$StepDepth();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 86
            getstatic com.oracle.truffle.sl.test.SLDebugTest.$SWITCH_TABLE$com$oracle$truffle$sl$test$SLDebugTest$StepDepth:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.values:()[Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.INTO:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest$StepDepth.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OUT:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest$StepDepth.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.truffle.sl.test.SLDebugTest$StepDepth.OVER:Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest$StepDepth.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic com.oracle.truffle.sl.test.SLDebugTest.$SWITCH_TABLE$com$oracle$truffle$sl$test$SLDebugTest$StepDepth:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  private void lambda$0(com.oracle.truffle.api.debug.Breakpoint, com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 188
            aload 0 /* this */
            aload 2 /* event */
            ldc "fac"
            bipush 6
            iconst_1
            ldc "return 1"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "1"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 189
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* sfi */
        start local 3 // java.util.Iterator sfi
         2: .line 190
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 191
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* sfi */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            ldc "fac"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            iload 4 /* i */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
         5: .line 190
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iconst_5
            if_icmple 4
        end local 4 // int i
         7: .line 193
            aload 0 /* this */
            aload 3 /* sfi */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            ldc "main"
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
         8: .line 194
            aload 1
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 195
            aload 2 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 3 // java.util.Iterator sfi
        10: .line 196
            return
        end local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0   11     2  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            2   10     3    sfi  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            3    7     4      i  I

  private void lambda$1(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 199
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            bipush 8
            iconst_0
            ldc "fac(n - 1)"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "2"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 200
            ldc "1"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()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 201
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 202
            aload 1 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOut:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         4: .line 203
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$2(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 206
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            bipush 8
            iconst_0
            ldc "fac(n - 1)"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "3"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 207
            ldc "2"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()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 208
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 209
            aload 1 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOut:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         4: .line 210
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$3(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 213
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            bipush 8
            iconst_0
            ldc "fac(n - 1)"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "4"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 214
            ldc "6"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()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 215
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 216
            aload 1 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOut:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         4: .line 217
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  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=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 220
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            bipush 8
            iconst_0
            ldc "fac(n - 1)"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "5"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 221
            ldc "24"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()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 222
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 223
            aload 1 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOut:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         4: .line 224
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$5(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 227
            aload 0 /* this */
            aload 1 /* event */
            ldc "main"
            iconst_2
            iconst_0
            ldc "fac(5)"
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 228
            ldc "120"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()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 229
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 230
            aload 1 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOut:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         4: .line 231
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  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=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 259
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 260
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$7(com.oracle.truffle.api.debug.DebuggerSession, com.oracle.truffle.api.debug.Breakpoint[], com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/DebuggerSession;[Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=3
        start local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 262
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()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;
            astore 3 /* fac */
        start local 3 // com.oracle.truffle.api.debug.DebugValue fac
         1: .line 264
            aload 3 /* fac */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            iconst_1
            anewarray com.oracle.truffle.api.debug.SourceElement
            dup
            iconst_0
            getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
            aastore
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            aload 3 /* fac */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.rootInstance:(Lcom/oracle/truffle/api/debug/DebugValue;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            astore 4 /* breakpoint */
        start local 4 // com.oracle.truffle.api.debug.Breakpoint breakpoint
         2: .line 265
            aload 0
            aload 4 /* breakpoint */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         3: .line 266
            aload 1
            iconst_0
            aload 4 /* breakpoint */
            aastore
         4: .line 267
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 4 // com.oracle.truffle.api.debug.Breakpoint breakpoint
        end local 3 // com.oracle.truffle.api.debug.DebugValue fac
         5: .line 268
            return
        end local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     2       event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    5     3         fac  Lcom/oracle/truffle/api/debug/DebugValue;
            2    5     4  breakpoint  Lcom/oracle/truffle/api/debug/Breakpoint;

  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=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 270
            ldc 5
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 271
            ldc 5
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "n"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 272
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
         3: .line 273
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$9(com.oracle.truffle.api.debug.Breakpoint[], com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: ([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 275
            ldc 5
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 276
            ldc 4
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "n"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokevirtual com.oracle.truffle.api.debug.DebugValue.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 277
            aload 0
            iconst_0
            aaload
            invokevirtual com.oracle.truffle.api.debug.Breakpoint.dispose:()V
         3: .line 278
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
         4: .line 279
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  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=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 302
            aload 0 /* event */
            iconst_2
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 303
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$11(com.oracle.truffle.api.debug.DebuggerSession, com.oracle.truffle.api.debug.Breakpoint[], com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/DebuggerSession;[Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=3
        start local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 305
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()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;
            astore 3 /* isNull */
        start local 3 // com.oracle.truffle.api.debug.DebugValue isNull
         1: .line 306
            aconst_null
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Ljava/net/URI;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            iconst_1
            anewarray com.oracle.truffle.api.debug.SourceElement
            dup
            iconst_0
            getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
            aastore
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            aload 3 /* isNull */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.rootInstance:(Lcom/oracle/truffle/api/debug/DebugValue;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            astore 4 /* breakpoint */
        start local 4 // com.oracle.truffle.api.debug.Breakpoint breakpoint
         2: .line 307
            aload 0
            aload 4 /* breakpoint */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
         3: .line 308
            aload 1
            iconst_0
            aload 4 /* breakpoint */
            aastore
         4: .line 309
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 4 // com.oracle.truffle.api.debug.Breakpoint breakpoint
        end local 3 // com.oracle.truffle.api.debug.DebugValue isNull
         5: .line 310
            return
        end local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     2       event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    5     3      isNull  Lcom/oracle/truffle/api/debug/DebugValue;
            2    5     4  breakpoint  Lcom/oracle/truffle/api/debug/Breakpoint;

  private static void lambda$12(com.oracle.truffle.api.debug.Breakpoint[], com.oracle.truffle.api.debug.DebuggerSession, com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: ([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/DebuggerSession;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=7, args_size=3
        start local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 312
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         1: .line 313
            ldc "isNull"
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            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 314
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* frames */
        start local 3 // java.util.Iterator frames
         3: .line 315
            aload 3 /* frames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         4: .line 316
            aload 3 /* frames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 4 /* mainFrame */
        start local 4 // com.oracle.truffle.api.debug.DebugStackFrame mainFrame
         5: .line 317
            ldc 4
            aload 4 /* mainFrame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 319
            aload 0
            iconst_0
            aaload
            invokevirtual com.oracle.truffle.api.debug.Breakpoint.dispose:()V
         7: .line 320
            aload 4 /* mainFrame */
            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 5 /* nanoTime */
        start local 5 // com.oracle.truffle.api.debug.DebugValue nanoTime
         8: .line 322
            aload 5 /* nanoTime */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            iconst_1
            anewarray com.oracle.truffle.api.debug.SourceElement
            dup
            iconst_0
            getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
            aastore
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            aload 5 /* nanoTime */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.rootInstance:(Lcom/oracle/truffle/api/debug/DebugValue;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
            astore 6 /* breakpoint */
        start local 6 // com.oracle.truffle.api.debug.Breakpoint breakpoint
         9: .line 323
            aload 1
            aload 6 /* breakpoint */
            invokevirtual com.oracle.truffle.api.debug.DebuggerSession.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
            pop
        10: .line 324
            aload 0
            iconst_0
            aload 6 /* breakpoint */
            aastore
        11: .line 325
            aload 2 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 6 // com.oracle.truffle.api.debug.Breakpoint breakpoint
        end local 5 // com.oracle.truffle.api.debug.DebugValue nanoTime
        end local 4 // com.oracle.truffle.api.debug.DebugStackFrame mainFrame
        end local 3 // java.util.Iterator frames
        12: .line 326
            return
        end local 2 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     2       event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            3   12     3      frames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5   12     4   mainFrame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            8   12     5    nanoTime  Lcom/oracle/truffle/api/debug/DebugValue;
            9   12     6  breakpoint  Lcom/oracle/truffle/api/debug/Breakpoint;

  private static void lambda$13(com.oracle.truffle.api.debug.Breakpoint[], com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: ([Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=2
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 328
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         1: .line 329
            ldc "nanoTime"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            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 330
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* frames */
        start local 2 // java.util.Iterator frames
         3: .line 331
            aload 2 /* frames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         4: .line 332
            aload 2 /* frames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 3 /* mainFrame */
        start local 3 // com.oracle.truffle.api.debug.DebugStackFrame mainFrame
         5: .line 333
            ldc 7
            aload 3 /* mainFrame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 334
            aload 0
            iconst_0
            aaload
            invokevirtual com.oracle.truffle.api.debug.Breakpoint.dispose:()V
         7: .line 335
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 3 // com.oracle.truffle.api.debug.DebugStackFrame mainFrame
        end local 2 // java.util.Iterator frames
         8: .line 336
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     1      event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            3    8     2     frames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            5    8     3  mainFrame  Lcom/oracle/truffle/api/debug/DebugStackFrame;

  private void lambda$14(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 360
            aload 0 /* this */
            aload 1 /* event */
            ldc "main"
            iconst_2
            iconst_1
            ldc "return fac(5)"
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 361
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$15(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 363
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            iconst_5
            iconst_1
            ldc "n <= 1"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "5"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 364
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$16(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 366
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            bipush 8
            iconst_1
            ldc "return n * fac(n - 1)"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "5"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 367
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$17(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 369
            aload 0 /* this */
            aload 1 /* event */
            ldc "main"
            iconst_2
            iconst_0
            ldc "fac(5)"
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 370
            ldc "120"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()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 371
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    3     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static org.graalvm.polyglot.Value lambda$18(com.oracle.truffle.sl.test.SLDebugTest$HostFunction, org.graalvm.polyglot.Context);
    descriptor: (Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=2
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 404
            aload 1 /* context */
            ldc "sl"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* foo */
        start local 2 // org.graalvm.polyglot.Value foo
         1: .line 405
            aload 2 /* foo */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 2 // org.graalvm.polyglot.Value foo
        end local 1 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     1  context  Lorg/graalvm/polyglot/Context;
            1    2     2      foo  Lorg/graalvm/polyglot/Value;

  private void lambda$19(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 409
            aload 0 /* this */
            aload 1 /* event */
            ldc "foo"
            iconst_2
            iconst_1
            ldc "hostCall()"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "hostCall"
            aastore
            dup
            iconst_1
            ldc "Function"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
         1: .line 410
            ldc "foo"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            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 411
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    3     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static org.graalvm.polyglot.Value lambda$20(com.oracle.truffle.sl.test.SLDebugTest$HostFunction, org.graalvm.polyglot.Context);
    descriptor: (Lcom/oracle/truffle/sl/test/SLDebugTest$HostFunction;Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=2
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 429
            aload 1 /* context */
            ldc "sl"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* foo */
        start local 2 // org.graalvm.polyglot.Value foo
         1: .line 430
            aload 2 /* foo */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 2 // org.graalvm.polyglot.Value foo
        end local 1 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     1  context  Lorg/graalvm/polyglot/Context;
            1    2     2      foo  Lorg/graalvm/polyglot/Value;

  private void lambda$21(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 434
            aload 0 /* this */
            aload 1 /* event */
            ldc "foo"
            iconst_2
            iconst_1
            ldc "hostCall()"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "hostCall"
            aastore
            dup
            iconst_1
            ldc "Function"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 435
            ldc "foo"
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            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 436
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    3     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$22(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 438
            aload 0 /* this */
            aload 1 /* event */
            ldc "foo"
            iconst_3
            iconst_1
            ldc "x = 5"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "hostCall"
            aastore
            dup
            iconst_1
            ldc "Function"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 439
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$23(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 466
            aload 0 /* this */
            aload 1 /* event */
            ldc "fac"
            bipush 6
            iconst_1
            ldc "debugger"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "1"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
         1: .line 467
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$24(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 519
            aload 0 /* this */
            aload 1 /* event */
            ldc "main"
            iconst_2
            iconst_1
            ldc "res = doNull()"
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         1: .line 520
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$25(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 523
            aload 0 /* this */
            aload 1 /* event */
            ldc "main"
            iconst_3
            iconst_1
            ldc "return res"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "res"
            aastore
            dup
            iconst_1
            ldc "NULL"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Ljava/lang/String;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
         1: .line 524
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    2     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$26(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=14, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 550
            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 552
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 553
            aload 2 /* scope */
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* a */
        start local 3 // com.oracle.truffle.api.debug.DebugValue a
         3: .line 554
            aload 3 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isArray:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         4: .line 555
            aload 3 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getArray:()Ljava/util/List;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         5: .line 556
            aload 3 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperties:()Ljava/util/Collection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         6: .line 558
            aload 2 /* scope */
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 4 /* b */
        start local 4 // com.oracle.truffle.api.debug.DebugValue b
         7: .line 559
            aload 4 /* b */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isArray:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         8: .line 560
            aload 4 /* b */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getArray:()Ljava/util/List;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         9: .line 561
            aload 4 /* b */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperties:()Ljava/util/Collection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        10: .line 563
            aload 2 /* scope */
            ldc "c"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 5 /* c */
        start local 5 // com.oracle.truffle.api.debug.DebugValue c
        11: .line 564
            aload 5 /* c */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isArray:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        12: .line 565
            ldc "10"
            aload 5 /* c */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 566
            aload 5 /* c */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getArray:()Ljava/util/List;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        14: .line 567
            aload 5 /* c */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperties:()Ljava/util/Collection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        15: .line 569
            aload 2 /* scope */
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 6 /* d */
        start local 6 // com.oracle.truffle.api.debug.DebugValue d
        16: .line 570
            aload 6 /* d */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isArray:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        17: .line 571
            ldc "str"
            aload 6 /* d */
            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 572
            aload 6 /* d */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getArray:()Ljava/util/List;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        19: .line 573
            aload 6 /* d */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperties:()Ljava/util/Collection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        20: .line 575
            aload 2 /* scope */
            ldc "e"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 7 /* e */
        start local 7 // com.oracle.truffle.api.debug.DebugValue e
        21: .line 576
            aload 7 /* e */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.isArray:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        22: .line 577
            aload 7 /* e */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getArray:()Ljava/util/List;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        23: .line 578
            aload 2 /* scope */
            aload 7 /* e */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 579
            aload 7 /* e */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperties:()Ljava/util/Collection;
            astore 8 /* propertyValues */
        start local 8 // java.util.Collection propertyValues
        25: .line 580
            ldc 2
            aload 8 /* propertyValues */
            invokeinterface java.util.Collection.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        26: .line 581
            aload 8 /* propertyValues */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9 /* propertiesIt */
        start local 9 // java.util.Iterator propertiesIt
        27: .line 582
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        28: .line 583
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 10 /* p1 */
        start local 10 // com.oracle.truffle.api.debug.DebugValue p1
        29: .line 584
            ldc "p1"
            aload 10 /* p1 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 585
            ldc "1"
            aload 10 /* p1 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 586
            aload 10 /* p1 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        32: .line 587
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        33: .line 588
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 11 /* p2 */
        start local 11 // com.oracle.truffle.api.debug.DebugValue p2
        34: .line 589
            ldc "p2"
            aload 11 /* p2 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        35: .line 590
            aload 11 /* p2 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        36: .line 591
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        37: .line 593
            aload 11 /* p2 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperties:()Ljava/util/Collection;
            astore 8 /* propertyValues */
        38: .line 594
            lconst_1
            aload 8 /* propertyValues */
            invokeinterface java.util.Collection.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        39: .line 595
            aload 8 /* propertyValues */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9 /* propertiesIt */
        40: .line 596
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        41: .line 597
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 12 /* p21 */
        start local 12 // com.oracle.truffle.api.debug.DebugValue p21
        42: .line 598
            ldc "p21"
            aload 12 /* p21 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        43: .line 599
            ldc "21"
            aload 12 /* p21 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        44: .line 600
            aload 12 /* p21 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        45: .line 601
            aload 9 /* propertiesIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        46: .line 603
            aload 7 /* e */
            ldc "p1"
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperty:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 13 /* ep1 */
        start local 13 // com.oracle.truffle.api.debug.DebugValue ep1
        47: .line 604
            ldc "1"
            aload 13 /* ep1 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        48: .line 605
            aload 13 /* ep1 */
            aload 12 /* p21 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.set:(Lcom/oracle/truffle/api/debug/DebugValue;)V
        49: .line 606
            ldc "21"
            aload 13 /* ep1 */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        50: .line 607
            aload 7 /* e */
            ldc "NonExisting"
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getProperty:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        end local 13 // com.oracle.truffle.api.debug.DebugValue ep1
        end local 12 // com.oracle.truffle.api.debug.DebugValue p21
        end local 11 // com.oracle.truffle.api.debug.DebugValue p2
        end local 10 // com.oracle.truffle.api.debug.DebugValue p1
        end local 9 // java.util.Iterator propertiesIt
        end local 8 // java.util.Collection propertyValues
        end local 7 // com.oracle.truffle.api.debug.DebugValue e
        end local 6 // com.oracle.truffle.api.debug.DebugValue d
        end local 5 // com.oracle.truffle.api.debug.DebugValue c
        end local 4 // com.oracle.truffle.api.debug.DebugValue b
        end local 3 // com.oracle.truffle.api.debug.DebugValue a
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        51: .line 608
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   52     0           event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   51     1           frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2   51     2           scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3   51     3               a  Lcom/oracle/truffle/api/debug/DebugValue;
            7   51     4               b  Lcom/oracle/truffle/api/debug/DebugValue;
           11   51     5               c  Lcom/oracle/truffle/api/debug/DebugValue;
           16   51     6               d  Lcom/oracle/truffle/api/debug/DebugValue;
           21   51     7               e  Lcom/oracle/truffle/api/debug/DebugValue;
           25   51     8  propertyValues  Ljava/util/Collection<Lcom/oracle/truffle/api/debug/DebugValue;>;
           27   51     9    propertiesIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugValue;>;
           29   51    10              p1  Lcom/oracle/truffle/api/debug/DebugValue;
           34   51    11              p2  Lcom/oracle/truffle/api/debug/DebugValue;
           42   51    12             p21  Lcom/oracle/truffle/api/debug/DebugValue;
           47   51    13             ep1  Lcom/oracle/truffle/api/debug/DebugValue;

  private static void lambda$27(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 632
            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 634
            aload 1 /* 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;
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         2: .line 635
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         3: .line 636
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    3     1  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;

  private static void lambda$28(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 638
            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 640
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 641
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* varIt */
        start local 3 // java.util.Iterator varIt
         3: .line 642
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 643
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 4 /* a */
        start local 4 // com.oracle.truffle.api.debug.DebugValue a
         5: .line 644
            ldc "a"
            aload 4 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 645
            aload 2 /* scope */
            aload 4 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 646
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         8: .line 647
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 4 // com.oracle.truffle.api.debug.DebugValue a
        end local 3 // java.util.Iterator varIt
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         9: .line 648
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    9     1  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2    9     2  scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3    9     3  varIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugValue;>;
            5    9     4      a  Lcom/oracle/truffle/api/debug/DebugValue;

  private static void lambda$29(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 650
            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 652
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 653
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()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;
            astore 3 /* varIt */
        start local 3 // java.util.Iterator varIt
         3: .line 654
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 655
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 4 /* a */
        start local 4 // com.oracle.truffle.api.debug.DebugValue a
         5: .line 656
            ldc "a"
            aload 4 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 657
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()Lcom/oracle/truffle/api/debug/DebugScope;
            aload 4 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 658
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         8: .line 659
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 4 // com.oracle.truffle.api.debug.DebugValue a
        end local 3 // java.util.Iterator varIt
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         9: .line 660
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    9     1  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2    9     2  scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3    9     3  varIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugValue;>;
            5    9     4      a  Lcom/oracle/truffle/api/debug/DebugValue;

  private static void lambda$30(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 662
            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 664
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 665
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* varIt */
        start local 3 // java.util.Iterator varIt
         3: .line 666
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 667
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 4 /* b */
        start local 4 // com.oracle.truffle.api.debug.DebugValue b
         5: .line 668
            ldc "b"
            aload 4 /* b */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 669
            aload 2 /* scope */
            aload 4 /* b */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 671
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         8: .line 672
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()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;
            astore 3 /* varIt */
         9: .line 673
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 674
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 5 /* a */
        start local 5 // com.oracle.truffle.api.debug.DebugValue a
        11: .line 675
            ldc "a"
            aload 5 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 676
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()Lcom/oracle/truffle/api/debug/DebugScope;
            aload 5 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 677
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        14: .line 678
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 5 // com.oracle.truffle.api.debug.DebugValue a
        end local 4 // com.oracle.truffle.api.debug.DebugValue b
        end local 3 // java.util.Iterator varIt
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        15: .line 679
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   15     1  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2   15     2  scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3   15     3  varIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugValue;>;
            5   15     4      b  Lcom/oracle/truffle/api/debug/DebugValue;
           11   15     5      a  Lcom/oracle/truffle/api/debug/DebugValue;

  private static void lambda$31(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 681
            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 683
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 684
            aload 2 /* scope */
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* varIt */
        start local 3 // java.util.Iterator varIt
         3: .line 685
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 686
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugValue
            astore 4 /* a */
        start local 4 // com.oracle.truffle.api.debug.DebugValue a
         5: .line 687
            ldc "a"
            aload 4 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 688
            aload 2 /* scope */
            aload 4 /* a */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 689
            aload 3 /* varIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         8: .line 690
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
        end local 4 // com.oracle.truffle.api.debug.DebugValue a
        end local 3 // java.util.Iterator varIt
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
         9: .line 691
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    9     1  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2    9     2  scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3    9     3  varIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugValue;>;
            5    9     4      a  Lcom/oracle/truffle/api/debug/DebugValue;

  private static void lambda$32(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 716
            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 718
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 719
            aload 2 /* scope */
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
        start local 3 // com.oracle.truffle.api.debug.DebugValue v
         3: .line 720
            ldc "NULL"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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
         4: .line 721
            aload 2 /* scope */
            ldc "b"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
         5: .line 722
            ldc "Boolean"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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 723
            aload 2 /* scope */
            ldc "c"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
         7: .line 724
            ldc "Number"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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
         8: .line 725
            aload 2 /* scope */
            ldc "cBig"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
         9: .line 726
            ldc "Number"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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 727
            aload 2 /* scope */
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
        11: .line 728
            ldc "String"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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
        12: .line 729
            aload 2 /* scope */
            ldc "e"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
        13: .line 730
            ldc "Object"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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 731
            aload 2 /* scope */
            ldc "f"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
        15: .line 732
            ldc "Function"
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getMetaObject:()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
        end local 3 // com.oracle.truffle.api.debug.DebugValue v
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        16: .line 733
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   16     1  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2   16     2  scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3   16     3      v  Lcom/oracle/truffle/api/debug/DebugValue;

  private static void lambda$33(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=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 756
            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 758
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            astore 2 /* scope */
        start local 2 // com.oracle.truffle.api.debug.DebugScope scope
         2: .line 759
            aload 2 /* scope */
            ldc "a"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
        start local 3 // com.oracle.truffle.api.debug.DebugValue v
         3: .line 760
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         4: .line 761
            aload 2 /* scope */
            ldc "c"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
         5: .line 762
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         6: .line 763
            aload 2 /* scope */
            ldc "d"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
         7: .line 764
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         8: .line 765
            aload 2 /* scope */
            ldc "e"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
         9: .line 766
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        10: .line 767
            aload 2 /* scope */
            ldc "f"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            astore 3 /* v */
        11: .line 768
            aload 3 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.getSourceLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* sourceLocation */
        start local 4 // com.oracle.truffle.api.source.SourceSection sourceLocation
        12: .line 769
            aload 4 /* sourceLocation */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        13: .line 770
            ldc 9
            aload 4 /* sourceLocation */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 771
            ldc 9
            aload 4 /* sourceLocation */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 772
            ldc "doNull() {}"
            aload 4 /* sourceLocation */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // com.oracle.truffle.api.source.SourceSection sourceLocation
        end local 3 // com.oracle.truffle.api.debug.DebugValue v
        end local 2 // com.oracle.truffle.api.debug.DebugScope scope
        end local 1 // com.oracle.truffle.api.debug.DebugStackFrame frame
        16: .line 773
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0           event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   16     1           frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            2   16     2           scope  Lcom/oracle/truffle/api/debug/DebugScope;
            3   16     3               v  Lcom/oracle/truffle/api/debug/DebugValue;
           12   16     4  sourceLocation  Lcom/oracle/truffle/api/source/SourceSection;

  private static void lambda$34(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=5, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 796
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 1 /* sfIt */
        start local 1 // java.util.Iterator sfIt
         1: .line 797
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         2: .line 798
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* dsf */
        start local 2 // com.oracle.truffle.api.debug.DebugStackFrame dsf
         3: .line 799
            ldc "fac"
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 800
            ldc 6
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 801
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         6: .line 802
            bipush 9
            istore 3 /* numStacksAt8 */
        start local 3 // int numStacksAt8
         7: .line 803
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 15
         9: .line 804
      StackMap locals: com.oracle.truffle.api.debug.SuspendedEvent java.util.Iterator com.oracle.truffle.api.debug.DebugStackFrame int int
      StackMap stack:
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 805
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* dsf */
        11: .line 806
            ldc "fac"
            aload 2 /* dsf */
            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 807
            ldc 8
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        13: .line 808
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        14: .line 803
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 3 /* numStacksAt8 */
            if_icmplt 9
        end local 4 // int i
        16: .line 810
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        17: .line 811
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* dsf */
        18: .line 812
            ldc "main"
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 813
            ldc 2
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        20: .line 814
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        21: .line 817
            goto 24
        22: .line 818
      StackMap locals:
      StackMap stack:
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 2 /* dsf */
        23: .line 819
            aload 2 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        24: .line 817
      StackMap locals:
      StackMap stack:
            aload 1 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 3 // int numStacksAt8
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame dsf
        end local 1 // java.util.Iterator sfIt
        25: .line 821
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0         event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   25     1          sfIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            3   25     2           dsf  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            7   25     3  numStacksAt8  I
            8   16     4             i  I

  private static void lambda$35(boolean[], com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: ([ZLcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=8, args_size=2
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 843
            aload 1 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* sfIt */
        start local 2 // java.util.Iterator sfIt
         1: .line 844
            aload 2 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         2: .line 845
            aload 2 /* sfIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 3 /* dsf */
        start local 3 // com.oracle.truffle.api.debug.DebugStackFrame dsf
         3: .line 846
            ldc "fac"
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 847
            ldc 3
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 848
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         6: .line 849
            bipush 9
            istore 4 /* numStacksAt6 */
        start local 4 // int numStacksAt6
         7: .line 850
            iconst_0
            istore 5 /* numInteropStacks */
        start local 5 // int numInteropStacks
         8: .line 851
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 24
        10: .line 852
      StackMap locals: boolean[] com.oracle.truffle.api.debug.SuspendedEvent java.util.Iterator com.oracle.truffle.api.debug.DebugStackFrame int int int
      StackMap stack:
            aload 2 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 853
            aload 2 /* sfIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            astore 3 /* dsf */
        12: .line 854
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            ifnull 13
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            ifne 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 7 /* inFac */
        start local 7 // boolean inFac
        15: .line 855
            iload 7 /* inFac */
            ifeq 21
        16: .line 857
            ldc "fac"
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 858
            ldc 6
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 859
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        19: .line 860
            iinc 6 /* i */ 1
        20: .line 861
            goto 24
        21: .line 863
      StackMap locals: int
      StackMap stack:
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        22: .line 864
            aload 3 /* dsf */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        23: .line 865
            iinc 5 /* numInteropStacks */ 1
        end local 7 // boolean inFac
        24: .line 851
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* numStacksAt6 */
            if_icmplt 10
        end local 6 // int i
        25: .line 869
            lconst_0
            iload 5 /* numInteropStacks */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        26: .line 871
            aload 2 /* sfIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        27: .line 872
            aload 0
            iconst_0
            iconst_1
            bastore
        end local 5 // int numInteropStacks
        end local 4 // int numStacksAt6
        end local 3 // com.oracle.truffle.api.debug.DebugStackFrame dsf
        end local 2 // java.util.Iterator sfIt
        28: .line 873
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   29     1             event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1   28     2              sfIt  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            3   28     3               dsf  Lcom/oracle/truffle/api/debug/DebugStackFrame;
            7   28     4      numStacksAt6  I
            8   28     5  numInteropStacks  I
            9   25     6                 i  I
           15   24     7             inFac  Z

  private static void lambda$36(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=3, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 899
            ldc 6
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 900
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 1 /* frames */
        start local 1 // java.util.Iterator frames
         2: .line 901
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 902
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 1 /* frames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         5: .line 901
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iconst_5
            if_icmplt 4
        end local 2 // int i
         7: .line 904
            aload 0 /* event */
            aload 1 /* frames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.DebugStackFrame
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareUnwindFrame:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
        end local 1 // java.util.Iterator frames
         8: .line 905
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0   event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            2    8     1  frames  Ljava/util/Iterator<Lcom/oracle/truffle/api/debug/DebugStackFrame;>;
            3    7     2       i  I

  private static void lambda$37(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=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 907
            ldc 8
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 908
            ldc "7"
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "n"
            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 909
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         3: .line 910
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$38(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=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 912
            ldc 5
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 913
            ldc "6"
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "n"
            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 914
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareContinue:()V
         3: .line 915
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$39(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=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 918
            ldc 6
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 919
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private void lambda$40(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 944
            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 945
            ldc 6
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 946
            aload 0 /* this */
            aload 2 /* frame */
            ldc "fnc"
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "11"
            aastore
            dup
            iconst_2
            ldc "m"
            aastore
            dup
            iconst_3
            ldc "20"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
         3: .line 947
            aload 1 /* event */
            iconst_4
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         4: .line 948
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    4     2  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;

  private void lambda$41(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 950
            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 951
            ldc 10
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 952
            aload 0 /* this */
            aload 2 /* frame */
            ldc "fnc"
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "9"
            aastore
            dup
            iconst_2
            ldc "m"
            aastore
            dup
            iconst_3
            ldc "10"
            aastore
            dup
            iconst_4
            ldc "x"
            aastore
            dup
            iconst_5
            ldc "121"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
         3: .line 953
            aload 1 /* event */
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareUnwindFrame:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         4: .line 954
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    5     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    4     2  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;

  private void lambda$42(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 956
            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 957
            ldc 3
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 958
            aload 0 /* this */
            aload 2 /* frame */
            ldc "main"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "i"
            aastore
            dup
            iconst_1
            ldc "11"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         3: .line 959
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    4     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    3     2  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;

  private void lambda$43(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.test.SLDebugTest this
        start local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 961
            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 962
            ldc 6
            aload 2 /* frame */
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 963
            aload 0 /* this */
            aload 2 /* frame */
            ldc "fnc"
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "n"
            aastore
            dup
            iconst_1
            ldc "11"
            aastore
            dup
            iconst_2
            ldc "m"
            aastore
            dup
            iconst_3
            ldc "20"
            aastore
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest.checkStack:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;[Ljava/lang/String;)V
        end local 2 // com.oracle.truffle.api.debug.DebugStackFrame frame
         3: .line 964
            return
        end local 1 // com.oracle.truffle.api.debug.SuspendedEvent event
        end local 0 // com.oracle.truffle.sl.test.SLDebugTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/oracle/truffle/sl/test/SLDebugTest;
            0    4     1  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    3     2  frame  Lcom/oracle/truffle/api/debug/DebugStackFrame;

  private static void lambda$44(boolean, java.lang.String, com.oracle.truffle.sl.test.SLDebugTest$StepDepth, com.oracle.truffle.api.debug.StepConfig, com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (ZLjava/lang/String;Lcom/oracle/truffle/sl/test/SLDebugTest$StepDepth;Lcom/oracle/truffle/api/debug/StepConfig;Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=13, args_size=5
        start local 4 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 1142
            iload 0
            ifne 3
         1: .line 1143
            ldc "Needs to be an expression"
            aload 4 /* event */
            getstatic com.oracle.truffle.api.debug.SourceElement.EXPRESSION:Lcom/oracle/truffle/api/debug/SourceElement;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         2: .line 1144
            goto 7
         3: .line 1145
      StackMap locals:
      StackMap stack:
            ldc "Needs to be an expression or statement"
         4: .line 1146
            aload 4 /* event */
            getstatic com.oracle.truffle.api.debug.SourceElement.EXPRESSION:Lcom/oracle/truffle/api/debug/SourceElement;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
            ifne 5
            aload 4 /* event */
            getstatic com.oracle.truffle.api.debug.SourceElement.STATEMENT:Lcom/oracle/truffle/api/debug/SourceElement;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack: java.lang.String
         5: iconst_1
         6: .line 1145
      StackMap locals: int java.lang.String com.oracle.truffle.sl.test.SLDebugTest$StepDepth com.oracle.truffle.api.debug.StepConfig com.oracle.truffle.api.debug.SuspendedEvent
      StackMap stack: java.lang.String int
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 1148
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 5 /* ss */
        start local 5 // com.oracle.truffle.api.source.SourceSection ss
         8: .line 1149
            aload 4 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getInputValues:()[Lcom/oracle/truffle/api/debug/DebugValue;
            astore 6 /* inputValues */
        start local 6 // com.oracle.truffle.api.debug.DebugValue[] inputValues
         9: .line 1150
            ldc ""
            astore 7 /* input */
        start local 7 // java.lang.String input
        10: .line 1151
            aload 6 /* inputValues */
            ifnull 24
        11: .line 1152
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 8 /* inputBuilder */
        start local 8 // java.lang.StringBuilder inputBuilder
        12: .line 1153
            aload 6 /* inputValues */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 21
      StackMap locals: int java.lang.String com.oracle.truffle.sl.test.SLDebugTest$StepDepth com.oracle.truffle.api.debug.StepConfig com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.debug.DebugValue[] java.lang.String java.lang.StringBuilder top int int com.oracle.truffle.api.debug.DebugValue[]
      StackMap stack:
        13: aload 12
            iload 10
            aaload
            astore 9 /* v */
        start local 9 // com.oracle.truffle.api.debug.DebugValue v
        14: .line 1154
            aload 8 /* inputBuilder */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            if_icmple 16
        15: .line 1155
            aload 8 /* inputBuilder */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 1157
      StackMap locals: int java.lang.String com.oracle.truffle.sl.test.SLDebugTest$StepDepth com.oracle.truffle.api.debug.StepConfig com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.debug.DebugValue[] java.lang.String java.lang.StringBuilder com.oracle.truffle.api.debug.DebugValue int int com.oracle.truffle.api.debug.DebugValue[]
      StackMap stack:
            aload 9 /* v */
            ifnull 19
        17: .line 1158
            aload 8 /* inputBuilder */
            aload 9 /* v */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 1159
            goto 20
        19: .line 1160
      StackMap locals:
      StackMap stack:
            aload 8 /* inputBuilder */
            ldc "null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 9 // com.oracle.truffle.api.debug.DebugValue v
        20: .line 1153
      StackMap locals: int java.lang.String com.oracle.truffle.sl.test.SLDebugTest$StepDepth com.oracle.truffle.api.debug.StepConfig com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.debug.DebugValue[] java.lang.String java.lang.StringBuilder top int int com.oracle.truffle.api.debug.DebugValue[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        21: iload 10
            iload 11
            if_icmplt 13
        22: .line 1163
            aload 8 /* inputBuilder */
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1164
            aload 8 /* inputBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* input */
        end local 8 // java.lang.StringBuilder inputBuilder
        24: .line 1166
      StackMap locals: int java.lang.String com.oracle.truffle.sl.test.SLDebugTest$StepDepth com.oracle.truffle.api.debug.StepConfig com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.debug.DebugValue[] java.lang.String
      StackMap stack:
            aload 4 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()Lcom/oracle/truffle/api/debug/DebugValue;
            astore 8 /* returnValue */
        start local 8 // com.oracle.truffle.api.debug.DebugValue returnValue
        25: .line 1167
            aload 8 /* returnValue */
            ifnull 26
            aload 8 /* returnValue */
            invokevirtual com.oracle.truffle.api.debug.DebugValue.toDisplayString:()Ljava/lang/String;
            goto 27
      StackMap locals: com.oracle.truffle.api.debug.DebugValue
      StackMap stack:
        26: ldc "<none>"
      StackMap locals:
      StackMap stack: java.lang.String
        27: astore 9 /* ret */
        start local 9 // java.lang.String ret
        28: .line 1169
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " - "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* ss */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndColumn:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* input */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* ret */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* actualPos */
        start local 10 // java.lang.String actualPos
        29: .line 1170
            aload 1
            aload 10 /* actualPos */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 1171
            invokestatic com.oracle.truffle.sl.test.SLDebugTest.$SWITCH_TABLE$com$oracle$truffle$sl$test$SLDebugTest$StepDepth:()[I
            aload 2
            invokevirtual com.oracle.truffle.sl.test.SLDebugTest$StepDepth.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 31
                    2: 33
                    3: 35
              default: 36
          }
        31: .line 1173
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* event */
            aload 3
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(Lcom/oracle/truffle/api/debug/StepConfig;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        32: .line 1174
            goto 36
        33: .line 1176
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            aload 3
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOver:(Lcom/oracle/truffle/api/debug/StepConfig;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        34: .line 1177
            goto 36
        35: .line 1179
      StackMap locals:
      StackMap stack:
            aload 4 /* event */
            aload 3
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepOut:(Lcom/oracle/truffle/api/debug/StepConfig;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
        end local 10 // java.lang.String actualPos
        end local 9 // java.lang.String ret
        end local 8 // com.oracle.truffle.api.debug.DebugValue returnValue
        end local 7 // java.lang.String input
        end local 6 // com.oracle.truffle.api.debug.DebugValue[] inputValues
        end local 5 // com.oracle.truffle.api.source.SourceSection ss
        36: .line 1182
      StackMap locals: int java.lang.String com.oracle.truffle.sl.test.SLDebugTest$StepDepth com.oracle.truffle.api.debug.StepConfig com.oracle.truffle.api.debug.SuspendedEvent
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     4         event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            8   36     5            ss  Lcom/oracle/truffle/api/source/SourceSection;
            9   36     6   inputValues  [Lcom/oracle/truffle/api/debug/DebugValue;
           10   36     7         input  Ljava/lang/String;
           12   24     8  inputBuilder  Ljava/lang/StringBuilder;
           14   20     9             v  Lcom/oracle/truffle/api/debug/DebugValue;
           25   36     8   returnValue  Lcom/oracle/truffle/api/debug/DebugValue;
           28   36     9           ret  Ljava/lang/String;
           29   36    10     actualPos  Ljava/lang/String;

  private static void lambda$45(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=3, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 1354
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getException:()Lcom/oracle/truffle/api/debug/DebugException;
            astore 1 /* exception */
        start local 1 // com.oracle.truffle.api.debug.DebugException exception
         1: .line 1355
            aload 1 /* exception */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         2: .line 1356
            aload 1 /* exception */
            invokevirtual com.oracle.truffle.api.debug.DebugException.getMessage:()Ljava/lang/String;
            aload 1 /* exception */
            invokevirtual com.oracle.truffle.api.debug.DebugException.getMessage:()Ljava/lang/String;
            ldc "Type error"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         3: .line 1357
            aload 1 /* exception */
            invokevirtual com.oracle.truffle.api.debug.DebugException.getThrowLocation:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 2 /* throwLocation */
        start local 2 // com.oracle.truffle.api.source.SourceSection throwLocation
         4: .line 1358
            ldc 6
            aload 2 /* throwLocation */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 1360
            aload 0 /* event */
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareUnwindFrame:(Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
        end local 2 // com.oracle.truffle.api.source.SourceSection throwLocation
        end local 1 // com.oracle.truffle.api.debug.DebugException exception
         6: .line 1361
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0          event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
            1    6     1      exception  Lcom/oracle/truffle/api/debug/DebugException;
            4    6     2  throwLocation  Lcom/oracle/truffle/api/source/SourceSection;

  private static void lambda$46(com.oracle.truffle.api.debug.SuspendedEvent);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 1363
            getstatic com.oracle.truffle.sl.test.SLDebugTest.$assertionsDisabled:Z
            ifne 1
            aload 0 /* event */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1365
      StackMap locals:
      StackMap stack:
            aload 0 /* event */
            iconst_1
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
            pop
         2: .line 1366
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;

  private static void lambda$47(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=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
         0: .line 1368
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
            ldc "n"
            invokevirtual com.oracle.truffle.api.debug.DebugScope.getDeclaredValue:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
            aload 0 /* event */
            invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
            ldc "function main() {return 2;}"
            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
         1: .line 1370
            return
        end local 0 // com.oracle.truffle.api.debug.SuspendedEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  event  Lcom/oracle/truffle/api/debug/SuspendedEvent;
}
SourceFile: "SLDebugTest.java"
NestMembers:
  com.oracle.truffle.sl.test.SLDebugTest$1  com.oracle.truffle.sl.test.SLDebugTest$1$1  com.oracle.truffle.sl.test.SLDebugTest$2  com.oracle.truffle.sl.test.SLDebugTest$3  com.oracle.truffle.sl.test.SLDebugTest$Fac  com.oracle.truffle.sl.test.SLDebugTest$HostFunction  com.oracle.truffle.sl.test.SLDebugTest$Multiply  com.oracle.truffle.sl.test.SLDebugTest$StepDepth
InnerClasses:
  public final Builder = com.oracle.truffle.api.debug.Breakpoint$Builder of com.oracle.truffle.api.debug.Breakpoint
  public final ExceptionBuilder = com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder of com.oracle.truffle.api.debug.Breakpoint
  public final Builder = com.oracle.truffle.api.debug.StepConfig$Builder of com.oracle.truffle.api.debug.StepConfig
  com.oracle.truffle.sl.test.SLDebugTest$1
  com.oracle.truffle.sl.test.SLDebugTest$2
  com.oracle.truffle.sl.test.SLDebugTest$3
  public abstract Fac = com.oracle.truffle.sl.test.SLDebugTest$Fac of com.oracle.truffle.sl.test.SLDebugTest
  public HostFunction = com.oracle.truffle.sl.test.SLDebugTest$HostFunction of com.oracle.truffle.sl.test.SLDebugTest
  public Multiply = com.oracle.truffle.sl.test.SLDebugTest$Multiply of com.oracle.truffle.sl.test.SLDebugTest
  private final StepDepth = com.oracle.truffle.sl.test.SLDebugTest$StepDepth of com.oracle.truffle.sl.test.SLDebugTest
  public abstract PositionPredicate = com.oracle.truffle.tck.DebuggerTester$PositionPredicate of com.oracle.truffle.tck.DebuggerTester
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
  public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source