public class com.oracle.truffle.api.debug.test.NestedContextTest extends com.oracle.truffle.api.debug.test.AbstractDebugTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.debug.test.NestedContextTest
super_class: com.oracle.truffle.api.debug.test.AbstractDebugTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.debug.test.AbstractDebugTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/test/NestedContextTest;
public void testNestedRun();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.testNestedStepping:(I)V
1: aload 0
iconst_5
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.testNestedStepping:(I)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/test/NestedContextTest;
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
org.junit.Test()
private void testNestedStepping(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
ldc "ROOT(\n STATEMENT,\n STATEMENT\n)\n"
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.testSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 3: aload 0
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.pushContext:()V
4: aconst_null
astore 3
aconst_null
astore 4
5: aload 0
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.startSession:()Lcom/oracle/truffle/api/debug/DebuggerSession;
astore 5
start local 5 6: aload 5
aload 0
aload 2
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.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;
iconst_3
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 6
start local 6 7: aload 5
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
8: aload 0
aload 2
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.startEval:(Lorg/graalvm/polyglot/Source;)V
9: aload 0
aload 0
iload 1
invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/test/NestedContextTest;I)Lcom/oracle/truffle/api/debug/SuspendedCallback;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
com/oracle/truffle/api/debug/test/NestedContextTest.lambda$0(ILcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
10: aload 0
aload 0
aload 6
iload 1
invokedynamic onSuspend(Lcom/oracle/truffle/api/debug/test/NestedContextTest;Lcom/oracle/truffle/api/debug/Breakpoint;I)Lcom/oracle/truffle/api/debug/SuspendedCallback;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
com/oracle/truffle/api/debug/test/NestedContextTest.lambda$1(Lcom/oracle/truffle/api/debug/Breakpoint;ILcom/oracle/truffle/api/debug/SuspendedEvent;)V (7)
(Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.expectSuspended:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)V
11: aload 0
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.expectDone:()Ljava/lang/String;
pop
end local 6 12: aload 5
ifnull 18
aload 5
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
goto 18
StackMap locals: com.oracle.truffle.api.debug.test.NestedContextTest int org.graalvm.polyglot.Source java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
StackMap stack: java.lang.Throwable
13: astore 3
aload 5
ifnull 14
aload 5
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
end local 5 StackMap locals:
StackMap stack:
14: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 4
aload 3
ifnonnull 16
aload 4
astore 3
goto 17
StackMap locals:
StackMap stack:
16: aload 3
aload 4
if_acmpeq 17
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 3
athrow
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.popContext:()V
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/debug/test/NestedContextTest;
0 20 1 depth I
3 20 2 testSource Lorg/graalvm/polyglot/Source;
6 14 5 session Lcom/oracle/truffle/api/debug/DebuggerSession;
7 12 6 breakpoint3 Lcom/oracle/truffle/api/debug/Breakpoint;
Exception table:
from to target type
6 12 13 any
5 15 15 any
MethodParameters:
Name Flags
depth
public void testRecursiveEval();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
ldc "ROOT(\n STATEMENT,\n STATEMENT\n)\n"
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.testSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
astore 1
start local 1 1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
astore 2
start local 2 2: new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
astore 3
start local 3 3: aload 2
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 4
start local 4 4: aconst_null
astore 5
aconst_null
astore 6
5: aload 4
new com.oracle.truffle.api.debug.test.NestedContextTest$1
dup
aload 0
aload 2
aload 1
aload 3
invokespecial com.oracle.truffle.api.debug.test.NestedContextTest$1.<init>:(Lcom/oracle/truffle/api/debug/test/NestedContextTest;Lorg/graalvm/polyglot/Context;Lorg/graalvm/polyglot/Source;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokevirtual com.oracle.truffle.api.debug.Debugger.startSession:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)Lcom/oracle/truffle/api/debug/DebuggerSession;
astore 7
start local 7 6: aload 7
aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.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;
iconst_3
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
7: aload 2
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
8: aload 7
ifnull 14
aload 7
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
goto 14
StackMap locals: com.oracle.truffle.api.debug.test.NestedContextTest org.graalvm.polyglot.Source org.graalvm.polyglot.Context java.util.concurrent.atomic.AtomicInteger com.oracle.truffle.api.debug.Debugger java.lang.Throwable java.lang.Throwable com.oracle.truffle.api.debug.DebuggerSession
StackMap stack: java.lang.Throwable
9: astore 5
aload 7
ifnull 10
aload 7
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.close:()V
end local 7 StackMap locals:
StackMap stack:
10: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 6
aload 5
ifnonnull 12
aload 6
astore 5
goto 13
StackMap locals:
StackMap stack:
12: aload 5
aload 6
if_acmpeq 13
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 5
athrow
14: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/debug/test/NestedContextTest;
1 15 1 testSource Lorg/graalvm/polyglot/Source;
2 15 2 context Lorg/graalvm/polyglot/Context;
3 15 3 suspensionCount Ljava/util/concurrent/atomic/AtomicInteger;
4 15 4 debugger Lcom/oracle/truffle/api/debug/Debugger;
6 10 7 session Lcom/oracle/truffle/api/debug/DebuggerSession;
Exception table:
from to target type
6 8 9 any
5 11 11 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private void lambda$0(int, com.oracle.truffle.api.debug.SuspendedEvent);
descriptor: (ILcom/oracle/truffle/api/debug/SuspendedEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
iconst_2
iconst_1
ldc "STATEMENT"
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
pop
1: lconst_0
aload 2
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
2: aload 0
iload 1
iconst_1
isub
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.testNestedStepping:(I)V
3: aload 2
iconst_1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
pop
4: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/test/NestedContextTest;
0 5 2 event Lcom/oracle/truffle/api/debug/SuspendedEvent;
private void lambda$1(com.oracle.truffle.api.debug.Breakpoint, int, com.oracle.truffle.api.debug.SuspendedEvent);
descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint;ILcom/oracle/truffle/api/debug/SuspendedEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 3
iconst_3
iconst_1
ldc "STATEMENT"
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.checkState:(Lcom/oracle/truffle/api/debug/SuspendedEvent;IZLjava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/debug/SuspendedEvent;
pop
1: lconst_1
aload 3
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
invokeinterface java.util.List.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
2: aload 1
aload 3
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
3: aload 0
iload 2
iconst_1
isub
invokevirtual com.oracle.truffle.api.debug.test.NestedContextTest.testNestedStepping:(I)V
4: aload 3
iconst_1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.prepareStepInto:(I)Lcom/oracle/truffle/api/debug/SuspendedEvent;
pop
5: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/debug/test/NestedContextTest;
0 6 3 event Lcom/oracle/truffle/api/debug/SuspendedEvent;
}
SourceFile: "NestedContextTest.java"
NestMembers:
com.oracle.truffle.api.debug.test.NestedContextTest$1
InnerClasses:
public final Builder = com.oracle.truffle.api.debug.Breakpoint$Builder of com.oracle.truffle.api.debug.Breakpoint
com.oracle.truffle.api.debug.test.NestedContextTest$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles