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

  public void test();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 89
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            astore 1 /* runtime */
        start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
         1: .line 90
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            astore 2 /* rootNode */
        start local 2 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode rootNode
         2: .line 91
            aload 1 /* runtime */
            aload 2 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 3 /* target */
        start local 3 // com.oracle.truffle.api.CallTarget target
         3: .line 92
            aload 3 /* target */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         4: .line 93
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* result */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 94
            return
        end local 4 // java.lang.Object result
        end local 3 // com.oracle.truffle.api.CallTarget target
        end local 2 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode rootNode
        end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    6     1   runtime  Lcom/oracle/truffle/api/TruffleRuntime;
            2    6     2  rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode;
            3    6     3    target  Lcom/oracle/truffle/api/CallTarget;
            4    6     4    result  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNotReplacable1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 98
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode rootNode
         1: .line 99
            aload 1 /* rootNode */
            aload 1 /* rootNode */
            invokevirtual com.oracle.truffle.api.test.RootNodeTest$TestRootNode.replace:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
         2: .line 100
            return
        end local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    3     1  rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/IllegalStateException;)

  public void testNotReplacable2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 105
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode2
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode2 rootNode
         1: .line 106
            aload 1 /* rootNode */
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            putfield com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.rootNodeAsChild:Lcom/oracle/truffle/api/nodes/Node;
         2: .line 107
            aload 1 /* rootNode */
            invokevirtual com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.adoptChildren:()V
         3: .line 108
            return
        end local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode2 rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    4     1  rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode2;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/IllegalStateException;)
      org.junit.Ignore()

  public void testNotReplacable3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 113
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode2
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode2 rootNode
         1: .line 114
            aload 1 /* rootNode */
            new com.oracle.truffle.api.test.RootNodeTest$1
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$1.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            putfield com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.rootNodeAsChild:Lcom/oracle/truffle/api/nodes/Node;
         2: .line 116
            aload 1 /* rootNode */
            invokevirtual com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.adoptChildren:()V
         3: .line 117
            aload 1 /* rootNode */
            getfield com.oracle.truffle.api.test.RootNodeTest$TestRootNode2.rootNodeAsChild:Lcom/oracle/truffle/api/nodes/Node;
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/RootNodeTest;)V
            invokevirtual com.oracle.truffle.api.nodes.Node.replace:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
         4: .line 118
            return
        end local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode2 rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    5     1  rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode2;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/IllegalStateException;)
      org.junit.Ignore()

  public void testNotCapturingFrames();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 122
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode3
            dup
            iconst_0
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode3.<init>:(Z)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 rootNode
         1: .line 123
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 2 /* marker */
        start local 2 // java.lang.Object marker
         2: .line 125
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 1 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* marker */
            aastore
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 126
            goto 10
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 java.lang.Object
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$TestException
         4: astore 3 /* e */
        start local 3 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         5: .line 127
            aload 3 /* e */
            invokestatic com.oracle.truffle.api.TruffleStackTrace.getStackTrace:(Ljava/lang/Throwable;)Ljava/util/List;
            astore 4 /* stackTrace */
        start local 4 // java.util.List stackTrace
         6: .line 128
            lconst_1
            aload 4 /* stackTrace */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 129
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         8: .line 130
            aload 1 /* rootNode */
            invokevirtual com.oracle.truffle.api.test.RootNodeTest$TestRootNode3.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 131
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        end local 4 // java.util.List stackTrace
        end local 3 // com.oracle.truffle.api.test.RootNodeTest$TestException e
        10: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object marker
        end local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1   11     1    rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode3;
            2   11     2      marker  Ljava/lang/Object;
            5   10     3           e  Lcom/oracle/truffle/api/test/RootNodeTest$TestException;
            6   10     4  stackTrace  Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
      Exception table:
        from    to  target  type
           2     3       4  Class com.oracle.truffle.api.test.RootNodeTest$TestException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCapturingFrames();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 137
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode3
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode3.<init>:(Z)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 rootNode
         1: .line 138
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 2 /* marker */
        start local 2 // java.lang.Object marker
         2: .line 140
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 1 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* marker */
            aastore
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 141
            goto 6
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 java.lang.Object
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$TestException
         4: astore 3 /* e */
        start local 3 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         5: .line 142
            aload 1 /* rootNode */
            aload 2 /* marker */
            aload 3 /* e */
            aload 3 /* e */
            getfield com.oracle.truffle.api.test.RootNodeTest$TestException.frame:Lcom/oracle/truffle/api/frame/MaterializedFrame;
            invokestatic com.oracle.truffle.api.test.RootNodeTest.asserCapturedFrames:(Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Object;Ljava/lang/Throwable;Lcom/oracle/truffle/api/frame/MaterializedFrame;)V
        end local 3 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         6: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object marker
        end local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    7     1  rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode3;
            2    7     2    marker  Ljava/lang/Object;
            5    6     3         e  Lcom/oracle/truffle/api/test/RootNodeTest$TestException;
      Exception table:
        from    to  target  type
           2     3       4  Class com.oracle.truffle.api.test.RootNodeTest$TestException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCapturingFramesLegacyException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 148
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode4
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode4.<init>:(Z)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode4 rootNode
         1: .line 149
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 2 /* marker */
        start local 2 // java.lang.Object marker
         2: .line 151
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 1 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* marker */
            aastore
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 152
            goto 6
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest com.oracle.truffle.api.test.RootNodeTest$TestRootNode4 java.lang.Object
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$LegacyTestException
         4: astore 3 /* e */
        start local 3 // com.oracle.truffle.api.test.RootNodeTest$LegacyTestException e
         5: .line 153
            aload 1 /* rootNode */
            aload 2 /* marker */
            aload 3 /* e */
            aload 3 /* e */
            getfield com.oracle.truffle.api.test.RootNodeTest$LegacyTestException.frame:Lcom/oracle/truffle/api/frame/MaterializedFrame;
            invokestatic com.oracle.truffle.api.test.RootNodeTest.asserCapturedFrames:(Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Object;Ljava/lang/Throwable;Lcom/oracle/truffle/api/frame/MaterializedFrame;)V
        end local 3 // com.oracle.truffle.api.test.RootNodeTest$LegacyTestException e
         6: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object marker
        end local 1 // com.oracle.truffle.api.test.RootNodeTest$TestRootNode4 rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    7     1  rootNode  Lcom/oracle/truffle/api/test/RootNodeTest$TestRootNode4;
            2    7     2    marker  Ljava/lang/Object;
            5    6     3         e  Lcom/oracle/truffle/api/test/RootNodeTest$LegacyTestException;
      Exception table:
        from    to  target  type
           2     3       4  Class com.oracle.truffle.api.test.RootNodeTest$LegacyTestException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testTranslateStackTraceElementNotEntered();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 159
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode3
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode3.<init>:(Z)V
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
         1: .line 161
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 1 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 162
            goto 7
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest com.oracle.truffle.api.nodes.RootNode
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$TestException
         3: astore 2 /* e */
        start local 2 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         4: .line 163
            aload 2 /* e */
            aload 1 /* rootNode */
            invokestatic com.oracle.truffle.api.test.RootNodeTest.getStackTraceElementFor:(Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
            astore 3 /* stackTraceElement */
        start local 3 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
         5: .line 164
            aload 3 /* stackTraceElement */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         6: .line 165
            aload 3 /* stackTraceElement */
            invokedynamic call(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/RootNodeTest.lambda$0(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        end local 3 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
        end local 2 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         7: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lcom/oracle/truffle/api/test/RootNodeTest;
            1    8     1           rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            4    7     2                  e  Lcom/oracle/truffle/api/test/RootNodeTest$TestException;
            5    7     3  stackTraceElement  Lcom/oracle/truffle/api/TruffleStackTraceElement;
      Exception table:
        from    to  target  type
           1     2       3  Class com.oracle.truffle.api.test.RootNodeTest$TestException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testTranslateStackTraceElementEntered();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 171
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 3 /* ctx */
        start local 3 // org.graalvm.polyglot.Context ctx
         2: .line 172
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         3: .line 173
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode3
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode3.<init>:(Z)V
            astore 4 /* rootNode */
        start local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
         4: .line 175
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 4 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 176
            goto 11
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.api.nodes.RootNode
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$TestException
         6: astore 5 /* e */
        start local 5 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         7: .line 177
            aload 5 /* e */
            aload 4 /* rootNode */
            invokestatic com.oracle.truffle.api.test.RootNodeTest.getStackTraceElementFor:(Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
            astore 6 /* stackTraceElement */
        start local 6 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
         8: .line 178
            aload 6 /* stackTraceElement */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         9: .line 179
            aload 6 /* stackTraceElement */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getGuestObject:()Ljava/lang/Object;
            astore 7 /* guestObject */
        start local 7 // java.lang.Object guestObject
        10: .line 180
            aload 7 /* guestObject */
            invokestatic com.oracle.truffle.api.test.RootNodeTest.verifyStackTraceElementGuestObject:(Ljava/lang/Object;)V
        end local 7 // java.lang.Object guestObject
        end local 6 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
        end local 5 // com.oracle.truffle.api.test.RootNodeTest$TestException e
        end local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
        11: .line 182
      StackMap locals:
      StackMap stack:
            aload 3 /* ctx */
            ifnull 17
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 1
            aload 3 /* ctx */
            ifnull 13
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        13: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 1
            ifnonnull 15
            aload 2
            astore 1
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 1
            aload 2
            if_acmpeq 16
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 1
            athrow
        17: .line 183
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Lcom/oracle/truffle/api/test/RootNodeTest;
            2   13     3                ctx  Lorg/graalvm/polyglot/Context;
            4   11     4           rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            7   11     5                  e  Lcom/oracle/truffle/api/test/RootNodeTest$TestException;
            8   11     6  stackTraceElement  Lcom/oracle/truffle/api/TruffleStackTraceElement;
           10   11     7        guestObject  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           4     5       6  Class com.oracle.truffle.api.test.RootNodeTest$TestException
           2    11      12  any
           1    14      14  any
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testTranslateStackTraceElementCustomGuestObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 187
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 3 /* ctx */
        start local 3 // org.graalvm.polyglot.Context ctx
         2: .line 188
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         3: .line 189
            iconst_1
            iconst_1
            iconst_1
            iconst_1
            invokestatic com.oracle.truffle.api.test.RootNodeTest.testTranslateStackTraceElementCustomGuestObjectImpl:(ZZZZ)V
         4: .line 190
            iconst_1
            iconst_0
            iconst_1
            iconst_0
            invokestatic com.oracle.truffle.api.test.RootNodeTest.testTranslateStackTraceElementCustomGuestObjectImpl:(ZZZZ)V
         5: .line 191
            iconst_0
            iconst_1
            iconst_0
            iconst_1
            invokestatic com.oracle.truffle.api.test.RootNodeTest.testTranslateStackTraceElementCustomGuestObjectImpl:(ZZZZ)V
         6: .line 192
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.api.test.RootNodeTest.testTranslateStackTraceElementCustomGuestObjectImpl:(ZZZZ)V
         7: .line 193
            aload 3 /* ctx */
            ifnull 13
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         8: astore 1
            aload 3 /* ctx */
            ifnull 9
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
        13: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/oracle/truffle/api/test/RootNodeTest;
            2    9     3   ctx  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           2     7       8  any
           1    10      10  any
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void testTranslateStackTraceElementCustomGuestObjectImpl(boolean, boolean, boolean, boolean);
    descriptor: (ZZZZ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // boolean hasExecutableName
        start local 1 // boolean hasDeclaringMetaObject
        start local 2 // boolean isString
        start local 3 // boolean isMetaObject
         0: .line 198
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode5
            dup
            iload 0 /* hasExecutableName */
            iload 1 /* hasDeclaringMetaObject */
            iload 2 /* isString */
            iload 3 /* isMetaObject */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode5.<init>:(ZZZZ)V
            astore 4 /* rootNode */
        start local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
         1: .line 200
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 4 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 201
            goto 8
      StackMap locals: int int int int com.oracle.truffle.api.nodes.RootNode
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$TestException
         3: astore 5 /* e */
        start local 5 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         4: .line 202
            aload 5 /* e */
            aload 4 /* rootNode */
            invokestatic com.oracle.truffle.api.test.RootNodeTest.getStackTraceElementFor:(Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
            astore 6 /* stackTraceElement */
        start local 6 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
         5: .line 203
            aload 6 /* stackTraceElement */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         6: .line 204
            aload 6 /* stackTraceElement */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getGuestObject:()Ljava/lang/Object;
            astore 7 /* guestObject */
        start local 7 // java.lang.Object guestObject
         7: .line 205
            aload 7 /* guestObject */
            invokestatic com.oracle.truffle.api.test.RootNodeTest.verifyStackTraceElementGuestObject:(Ljava/lang/Object;)V
        end local 7 // java.lang.Object guestObject
        end local 6 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
        end local 5 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         8: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 3 // boolean isMetaObject
        end local 2 // boolean isString
        end local 1 // boolean hasDeclaringMetaObject
        end local 0 // boolean hasExecutableName
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    9     0       hasExecutableName  Z
            0    9     1  hasDeclaringMetaObject  Z
            0    9     2                isString  Z
            0    9     3            isMetaObject  Z
            1    9     4                rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            4    8     5                       e  Lcom/oracle/truffle/api/test/RootNodeTest$TestException;
            5    8     6       stackTraceElement  Lcom/oracle/truffle/api/TruffleStackTraceElement;
            7    8     7             guestObject  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     2       3  Class com.oracle.truffle.api.test.RootNodeTest$TestException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
                        Name  Flags
      hasExecutableName       
      hasDeclaringMetaObject  
      isString                
      isMetaObject            

  public void testTranslateStackTraceElementInvalidCustomGuestObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.RootNodeTest this
         0: .line 211
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 3 /* ctx */
        start local 3 // org.graalvm.polyglot.Context ctx
         2: .line 212
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         3: .line 213
            iconst_1
            iconst_1
            iconst_0
            iconst_1
            invokestatic com.oracle.truffle.api.test.RootNodeTest.testTranslateStackTraceElementInvalidCustomGuestObjectImpl:(ZZZZ)V
         4: .line 214
            iconst_1
            iconst_1
            iconst_1
            iconst_0
            invokestatic com.oracle.truffle.api.test.RootNodeTest.testTranslateStackTraceElementInvalidCustomGuestObjectImpl:(ZZZZ)V
         5: .line 215
            aload 3 /* ctx */
            ifnull 11
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 11
      StackMap locals: com.oracle.truffle.api.test.RootNodeTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 1
            aload 3 /* ctx */
            ifnull 7
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
        11: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.test.RootNodeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/truffle/api/test/RootNodeTest;
            2    7     3   ctx  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void testTranslateStackTraceElementInvalidCustomGuestObjectImpl(boolean, boolean, boolean, boolean);
    descriptor: (ZZZZ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // boolean hasExecutableName
        start local 1 // boolean hasDeclaringMetaObject
        start local 2 // boolean isString
        start local 3 // boolean isMetaObject
         0: .line 220
            new com.oracle.truffle.api.test.RootNodeTest$TestRootNode5
            dup
            iload 0 /* hasExecutableName */
            iload 1 /* hasDeclaringMetaObject */
            iload 2 /* isString */
            iload 3 /* isMetaObject */
            invokespecial com.oracle.truffle.api.test.RootNodeTest$TestRootNode5.<init>:(ZZZZ)V
            astore 4 /* rootNode */
        start local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
         1: .line 222
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 4 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 223
            goto 7
      StackMap locals: int int int int com.oracle.truffle.api.nodes.RootNode
      StackMap stack: com.oracle.truffle.api.test.RootNodeTest$TestException
         3: astore 5 /* e */
        start local 5 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         4: .line 224
            aload 5 /* e */
            aload 4 /* rootNode */
            invokestatic com.oracle.truffle.api.test.RootNodeTest.getStackTraceElementFor:(Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
            astore 6 /* stackTraceElement */
        start local 6 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
         5: .line 225
            aload 6 /* stackTraceElement */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         6: .line 226
            aload 6 /* stackTraceElement */
            invokedynamic call(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/RootNodeTest.lambda$1(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        end local 6 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
        end local 5 // com.oracle.truffle.api.test.RootNodeTest$TestException e
         7: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 3 // boolean isMetaObject
        end local 2 // boolean isString
        end local 1 // boolean hasDeclaringMetaObject
        end local 0 // boolean hasExecutableName
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0       hasExecutableName  Z
            0    8     1  hasDeclaringMetaObject  Z
            0    8     2                isString  Z
            0    8     3            isMetaObject  Z
            1    8     4                rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            4    7     5                       e  Lcom/oracle/truffle/api/test/RootNodeTest$TestException;
            5    7     6       stackTraceElement  Lcom/oracle/truffle/api/TruffleStackTraceElement;
      Exception table:
        from    to  target  type
           1     2       3  Class com.oracle.truffle.api.test.RootNodeTest$TestException
    MethodParameters:
                        Name  Flags
      hasExecutableName       
      hasDeclaringMetaObject  
      isString                
      isMetaObject            

  private static com.oracle.truffle.api.TruffleStackTraceElement getStackTraceElementFor(java.lang.Throwable, com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Throwable t
        start local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
         0: .line 231
            aload 0 /* t */
            invokestatic com.oracle.truffle.api.TruffleStackTrace.getStackTrace:(Ljava/lang/Throwable;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.lang.Throwable com.oracle.truffle.api.nodes.RootNode top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            astore 2 /* stackTraceElement */
        start local 2 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
         2: .line 232
            aload 1 /* rootNode */
            aload 2 /* stackTraceElement */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            if_acmpne 4
         3: .line 233
            aload 2 /* stackTraceElement */
            areturn
        end local 2 // com.oracle.truffle.api.TruffleStackTraceElement stackTraceElement
         4: .line 231
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 236
            aconst_null
            areturn
        end local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0                  t  Ljava/lang/Throwable;
            0    6     1           rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            2    4     2  stackTraceElement  Lcom/oracle/truffle/api/TruffleStackTraceElement;
    MethodParameters:
          Name  Flags
      t         
      rootNode  

  static void verifyStackTraceElementGuestObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Object guestObject
         0: .line 240
            aload 0 /* guestObject */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         1: .line 241
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 1 /* interop */
        start local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
         2: .line 242
            aload 1 /* interop */
            aload 0 /* guestObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExecutableName:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 243
            aload 1 /* interop */
            aload 0 /* guestObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExecutableName:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* executableName */
        start local 2 // java.lang.Object executableName
         4: .line 244
            aload 1 /* interop */
            aload 2 /* executableName */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 2 // java.lang.Object executableName
         5: .line 246
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 1 /* interop */
            aload 0 /* guestObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasDeclaringMetaObject:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 247
            aload 1 /* interop */
            aload 0 /* guestObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getDeclaringMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* metaObject */
        start local 2 // java.lang.Object metaObject
         7: .line 248
            aload 1 /* interop */
            aload 2 /* metaObject */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 2 // java.lang.Object metaObject
         8: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 0 // java.lang.Object guestObject
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0     guestObject  Ljava/lang/Object;
            2    9     1         interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            4    5     2  executableName  Ljava/lang/Object;
            7    8     2      metaObject  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
             Name  Flags
      guestObject  

  private static void asserCapturedFrames(com.oracle.truffle.api.nodes.RootNode, java.lang.Object, java.lang.Throwable, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Object;Ljava/lang/Throwable;Lcom/oracle/truffle/api/frame/MaterializedFrame;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
        start local 1 // java.lang.Object arg
        start local 2 // java.lang.Throwable e
        start local 3 // com.oracle.truffle.api.frame.MaterializedFrame frame
         0: .line 253
            aload 2 /* e */
            invokestatic com.oracle.truffle.api.TruffleStackTrace.getStackTrace:(Ljava/lang/Throwable;)Ljava/util/List;
            astore 4 /* stackTrace */
        start local 4 // java.util.List stackTrace
         1: .line 254
            lconst_1
            aload 4 /* stackTrace */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 255
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         3: .line 256
            aload 0 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 257
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         5: .line 258
            lconst_1
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 259
            aload 1 /* arg */
            aload 4 /* stackTrace */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 260
            aload 1 /* arg */
            aload 3 /* frame */
            invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.getArguments:()[Ljava/lang/Object;
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 261
            return
        end local 4 // java.util.List stackTrace
        end local 3 // com.oracle.truffle.api.frame.MaterializedFrame frame
        end local 2 // java.lang.Throwable e
        end local 1 // java.lang.Object arg
        end local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0    rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            0    9     1         arg  Ljava/lang/Object;
            0    9     2           e  Ljava/lang/Throwable;
            0    9     3       frame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            1    9     4  stackTrace  Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
    MethodParameters:
          Name  Flags
      rootNode  
      arg       
      e         
      frame     

  private static java.lang.Object lambda$0(com.oracle.truffle.api.TruffleStackTraceElement);
    descriptor: (Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 165
            aload 0
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getGuestObject:()Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$1(com.oracle.truffle.api.TruffleStackTraceElement);
    descriptor: (Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 226
            aload 0
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getGuestObject:()Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "RootNodeTest.java"
NestMembers:
  com.oracle.truffle.api.test.RootNodeTest$1  com.oracle.truffle.api.test.RootNodeTest$LegacyTestException  com.oracle.truffle.api.test.RootNodeTest$TestException  com.oracle.truffle.api.test.RootNodeTest$TestRootNode  com.oracle.truffle.api.test.RootNodeTest$TestRootNode2  com.oracle.truffle.api.test.RootNodeTest$TestRootNode3  com.oracle.truffle.api.test.RootNodeTest$TestRootNode4  com.oracle.truffle.api.test.RootNodeTest$TestRootNode5  com.oracle.truffle.api.test.RootNodeTest$TestRootNode5$TruffleStackTraceElementGuestObject  com.oracle.truffle.api.test.RootNodeTest$TestRootNode5$TruffleStackTraceElementGuestObject$1  com.oracle.truffle.api.test.RootNodeTest$TestRootNode5$TruffleStackTraceElementGuestObject$MetaObject
InnerClasses:
  com.oracle.truffle.api.test.RootNodeTest$1
  final LegacyTestException = com.oracle.truffle.api.test.RootNodeTest$LegacyTestException of com.oracle.truffle.api.test.RootNodeTest
  final TestException = com.oracle.truffle.api.test.RootNodeTest$TestException of com.oracle.truffle.api.test.RootNodeTest
  TestRootNode = com.oracle.truffle.api.test.RootNodeTest$TestRootNode of com.oracle.truffle.api.test.RootNodeTest
  TestRootNode2 = com.oracle.truffle.api.test.RootNodeTest$TestRootNode2 of com.oracle.truffle.api.test.RootNodeTest
  final TestRootNode3 = com.oracle.truffle.api.test.RootNodeTest$TestRootNode3 of com.oracle.truffle.api.test.RootNodeTest
  final TestRootNode4 = com.oracle.truffle.api.test.RootNodeTest$TestRootNode4 of com.oracle.truffle.api.test.RootNodeTest
  final TestRootNode5 = com.oracle.truffle.api.test.RootNodeTest$TestRootNode5 of com.oracle.truffle.api.test.RootNodeTest
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles