final class com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback implements com.oracle.truffle.api.debug.SuspendedCallback
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback
super_class: java.lang.Object
{
private final com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo info;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.tests.debug.StopRequest bpr;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo, com.oracle.truffle.llvm.tests.debug.StopRequest);
descriptor: (Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;Lcom/oracle/truffle/llvm/tests/debug/StopRequest;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.info:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
2: aload 0
aload 2
putfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$TestCallback;
0 4 1 info Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
0 4 2 bpr Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
MethodParameters:
Name Flags
info
bpr
private static void setStrategy(com.oracle.truffle.api.debug.SuspendedEvent, com.oracle.truffle.api.debug.DebugStackFrame, com.oracle.truffle.llvm.tests.debug.ContinueStrategy);
descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;Lcom/oracle/truffle/api/debug/DebugStackFrame;Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 3
1: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.tests.debug.ContinueStrategy.prepareInEvent:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.STEP_INTO:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.tests.debug.ContinueStrategy.prepareInEvent:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Lcom/oracle/truffle/api/debug/DebugStackFrame;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 event Lcom/oracle/truffle/api/debug/SuspendedEvent;
0 5 1 frame Lcom/oracle/truffle/api/debug/DebugStackFrame;
0 5 2 strategy Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
MethodParameters:
Name Flags
event
frame
strategy
public void onSuspend(com.oracle.truffle.api.debug.SuspendedEvent);
descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getTopStackFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
istore 3
start local 3 2: iload 3
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.info:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo.getLastStop:()I
if_icmpne 5
3: aload 1
aload 2
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.info:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo.getLastStrategy:()Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
invokestatic com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.setStrategy:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Lcom/oracle/truffle/api/debug/DebugStackFrame;Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;)V
4: return
5: StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame int
StackMap stack:
iload 3
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getLine:()I
if_icmpne 10
6: aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.info:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
iload 3
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo.setLastStop:(I)V
7: aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.info:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getNextAction:()Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo.setLastStrategy:(Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;)V
8: aload 1
aload 2
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getNextAction:()Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
invokestatic com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.setStrategy:(Lcom/oracle/truffle/api/debug/SuspendedEvent;Lcom/oracle/truffle/api/debug/DebugStackFrame;Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;)V
9: goto 11
10: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Unexpected stop at line %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
astore 4
start local 4 12: ldc "Unexpected function name!"
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getFunctionName:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.debug.DebugStackFrame int com.oracle.truffle.api.debug.DebugScope top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.tests.debug.StopRequest$Scope
astore 5
start local 5 15: aload 4
ifnonnull 17
16: new java.lang.AssertionError
dup
ldc "Missing scope!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
17: StackMap locals: com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.debug.DebugStackFrame int com.oracle.truffle.api.debug.DebugScope com.oracle.truffle.llvm.tests.debug.StopRequest$Scope java.util.Iterator
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.getName:()Ljava/lang/String;
ifnull 19
18: ldc "Unexpected Scope name!"
aload 5
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.getName:()Ljava/lang/String;
aload 4
invokevirtual com.oracle.truffle.api.debug.DebugScope.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aload 4
aload 5
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.getLocals:()Ljava/util/Map;
aload 5
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest$Scope.isPartial:()Z
invokestatic com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase.assertValues:(Lcom/oracle/truffle/api/debug/DebugScope;Ljava/util/Map;Z)V
20: aload 4
invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()Lcom/oracle/truffle/api/debug/DebugScope;
astore 4
end local 5 21: StackMap locals: com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.debug.DebugStackFrame int com.oracle.truffle.api.debug.DebugScope top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
22: goto 25
StackMap locals: com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.debug.DebugStackFrame int com.oracle.truffle.api.debug.DebugScope
StackMap stack: java.lang.Throwable
23: astore 5
start local 5 24: new java.lang.AssertionError
dup
ldc "Error in function %s on line %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getFunctionName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getLine:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 25: 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 26 0 this Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$TestCallback;
0 26 1 event Lcom/oracle/truffle/api/debug/SuspendedEvent;
1 26 2 frame Lcom/oracle/truffle/api/debug/DebugStackFrame;
2 26 3 currentLine I
12 26 4 actualScope Lcom/oracle/truffle/api/debug/DebugScope;
15 21 5 expectedScope Lcom/oracle/truffle/llvm/tests/debug/StopRequest$Scope;
24 25 5 t Ljava/lang/Throwable;
Exception table:
from to target type
13 22 23 Class java.lang.Throwable
MethodParameters:
Name Flags
event
boolean isDone();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.info:Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$BreakInfo;
invokevirtual com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo.getLastStop:()I
aload 0
getfield com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback.bpr:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getLine:()I
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/tests/debug/LLVMDebugTestBase$TestCallback;
}
SourceFile: "LLVMDebugTestBase.java"
NestHost: com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase
InnerClasses:
private final BreakInfo = com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$BreakInfo of com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase
private final TestCallback = com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase$TestCallback of com.oracle.truffle.llvm.tests.debug.LLVMDebugTestBase
final Scope = com.oracle.truffle.llvm.tests.debug.StopRequest$Scope of com.oracle.truffle.llvm.tests.debug.StopRequest