public final class com.oracle.truffle.tools.dap.server.StackFramesHandler
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tools.dap.server.StackFramesHandler
super_class: java.lang.Object
{
private final com.oracle.truffle.tools.dap.server.ExecutionContext context;
descriptor: Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.debug.DebuggerSession debuggerSession;
descriptor: Lcom/oracle/truffle/api/debug/DebuggerSession;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.tools.dap.server.ExecutionContext, com.oracle.truffle.api.debug.DebuggerSession);
descriptor: (Lcom/oracle/truffle/tools/dap/server/ExecutionContext;Lcom/oracle/truffle/api/debug/DebuggerSession;)V
flags: (0x0001) ACC_PUBLIC
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.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
2: aload 0
aload 2
putfield com.oracle.truffle.tools.dap.server.StackFramesHandler.debuggerSession:Lcom/oracle/truffle/api/debug/DebuggerSession;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tools/dap/server/StackFramesHandler;
0 4 1 context Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
0 4 2 debuggerSession Lcom/oracle/truffle/api/debug/DebuggerSession;
MethodParameters:
Name Flags
context
debuggerSession
public java.util.List<com.oracle.truffle.tools.dap.types.StackFrame> getStackTrace(com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo);
descriptor: (Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getSuspendedEvent:()Lcom/oracle/truffle/api/debug/SuspendedEvent;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 34
StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo java.util.List int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebugStackFrame
astore 4
start local 4 4: aload 4
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 6
start local 6 5: aload 6
ifnull 34
aload 6
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
ifne 7
6: goto 34
7: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo java.util.List int com.oracle.truffle.api.debug.DebugStackFrame java.util.Iterator com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.isInspectInternal:()Z
ifne 9
aload 4
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.isInternal:()Z
ifeq 9
8: goto 34
9: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 7
start local 7 10: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.isInspectInternal:()Z
ifne 12
aload 7
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
ifeq 12
11: goto 34
12: StackMap locals: com.oracle.truffle.api.source.Source
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.getLoadedSourcesHandler:()Lcom/oracle/truffle/tools/dap/server/LoadedSourcesHandler;
aload 7
invokevirtual com.oracle.truffle.tools.dap.server.LoadedSourcesHandler.assureLoaded:(Lcom/oracle/truffle/api/source/Source;)I
pop
13: getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
astore 8
start local 8 14: aconst_null
astore 9
start local 9 15: iload 3
ifeq 19
16: aload 1
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getSuspendedEvent:()Lcom/oracle/truffle/api/debug/SuspendedEvent;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSuspendAnchor:()Lcom/oracle/truffle/api/debug/SuspendAnchor;
astore 8
17: aload 1
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getSuspendedEvent:()Lcom/oracle/truffle/api/debug/SuspendedEvent;
getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
ifeq 19
18: aload 1
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getSuspendedEvent:()Lcom/oracle/truffle/api/debug/SuspendedEvent;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()Lcom/oracle/truffle/api/debug/DebugValue;
astore 9
19: StackMap locals: com.oracle.truffle.api.debug.SuspendAnchor com.oracle.truffle.api.debug.DebugValue
StackMap stack:
aload 8
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 27
20: aload 2
aload 1
new com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper
dup
aload 4
aload 9
invokespecial com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper.<init>:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Lcom/oracle/truffle/api/debug/DebugValue;)V
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getId:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
21: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
aload 6
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.debuggerToClientLine:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
aload 6
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.debuggerToClientColumn:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
22: invokestatic com.oracle.truffle.tools.dap.types.StackFrame.create:(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)Lcom/oracle/truffle/tools/dap/types/StackFrame;
23: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.getLoadedSourcesHandler:()Lcom/oracle/truffle/tools/dap/server/LoadedSourcesHandler;
aload 7
invokevirtual com.oracle.truffle.tools.dap.server.LoadedSourcesHandler.from:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/tools/dap/types/Source;
24: invokevirtual com.oracle.truffle.tools.dap.types.StackFrame.setSource:(Lcom/oracle/truffle/tools/dap/types/Source;)Lcom/oracle/truffle/tools/dap/types/StackFrame;
25: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: goto 33
27: StackMap locals:
StackMap stack:
aload 2
aload 1
new com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper
dup
aload 4
aload 9
invokespecial com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper.<init>:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Lcom/oracle/truffle/api/debug/DebugValue;)V
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getId:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getName:()Ljava/lang/String;
28: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
aload 6
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.debuggerToClientLine:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
aload 6
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndColumn:()I
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.debuggerToClientColumn:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
29: invokestatic com.oracle.truffle.tools.dap.types.StackFrame.create:(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)Lcom/oracle/truffle/tools/dap/types/StackFrame;
30: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.getLoadedSourcesHandler:()Lcom/oracle/truffle/tools/dap/server/LoadedSourcesHandler;
aload 7
invokevirtual com.oracle.truffle.tools.dap.server.LoadedSourcesHandler.from:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/tools/dap/types/Source;
31: invokevirtual com.oracle.truffle.tools.dap.types.StackFrame.setSource:(Lcom/oracle/truffle/tools/dap/types/Source;)Lcom/oracle/truffle/tools/dap/types/StackFrame;
32: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: StackMap locals:
StackMap stack:
iconst_0
istore 3
end local 9 end local 8 end local 7 end local 6 end local 4 34: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo java.util.List int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
35: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/oracle/truffle/tools/dap/server/StackFramesHandler;
0 36 1 info Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;
1 36 2 sfs Ljava/util/List<Lcom/oracle/truffle/tools/dap/types/StackFrame;>;
2 36 3 top Z
4 34 4 frame Lcom/oracle/truffle/api/debug/DebugStackFrame;
5 34 6 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
10 34 7 source Lcom/oracle/truffle/api/source/Source;
14 34 8 anchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
15 34 9 returnValue Lcom/oracle/truffle/api/debug/DebugValue;
Signature: (Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;)Ljava/util/List<Lcom/oracle/truffle/tools/dap/types/StackFrame;>;
MethodParameters:
Name Flags
info
public java.util.List<com.oracle.truffle.tools.dap.types.Scope> getScopes(com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo, int);
descriptor: (Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;I)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$FrameWrapper;
iload 2
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getById:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper.getFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
goto 3
StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.api.debug.DebugStackFrame
3: astore 4
start local 4 4: aload 4
ifnull 49
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 6: aload 4
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getScope:()Lcom/oracle/truffle/api/debug/DebugScope;
astore 6
start local 6 7: goto 14
end local 6 StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo int com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper com.oracle.truffle.api.debug.DebugStackFrame java.util.List
StackMap stack: com.oracle.truffle.api.debug.DebugException
8: astore 7
start local 7 9: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.getErr:()Ljava/io/PrintWriter;
astore 8
start local 8 10: aload 8
ifnull 13
11: aload 8
new java.lang.StringBuilder
dup
ldc "getScope() has caused "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 7
aload 8
invokevirtual com.oracle.truffle.api.debug.DebugException.printStackTrace:(Ljava/io/PrintWriter;)V
13: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo int com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper com.oracle.truffle.api.debug.DebugStackFrame java.util.List top com.oracle.truffle.api.debug.DebugException java.io.PrintWriter
StackMap stack:
aconst_null
astore 6
end local 8 end local 7 start local 6 14: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo int com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper com.oracle.truffle.api.debug.DebugStackFrame java.util.List com.oracle.truffle.api.debug.DebugScope
StackMap stack:
ldc "Block"
astore 7
start local 7 15: iconst_0
istore 8
start local 8 16: aconst_null
astore 9
start local 9 17: aconst_null
astore 10
start local 10 18: goto 33
19: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo int com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper com.oracle.truffle.api.debug.DebugStackFrame java.util.List com.oracle.truffle.api.debug.DebugScope java.lang.String int com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper com.oracle.truffle.api.debug.DebugValue
StackMap stack:
iload 8
ifeq 22
20: ldc "Closure"
astore 7
21: goto 26
StackMap locals:
StackMap stack:
22: aload 6
invokevirtual com.oracle.truffle.api.debug.DebugScope.isFunctionScope:()Z
ifeq 26
23: ldc "Local"
astore 7
24: aload 6
invokevirtual com.oracle.truffle.api.debug.DebugScope.getReceiver:()Lcom/oracle/truffle/api/debug/DebugValue;
astore 10
25: iconst_1
istore 8
26: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.api.debug.DebugScope.isFunctionScope:()Z
ifne 27
aload 6
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
ifeq 32
27: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 31
28: new com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper
dup
aload 3
aload 6
invokespecial com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper.<init>:(Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$FrameWrapper;Lcom/oracle/truffle/api/debug/DebugScope;)V
astore 9
29: aload 5
aload 7
aload 1
aload 9
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getId:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.tools.dap.types.Scope.create:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Boolean;)Lcom/oracle/truffle/tools/dap/types/Scope;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: goto 32
31: StackMap locals:
StackMap stack:
aload 5
aload 7
aload 1
new com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper
dup
aload 3
aload 6
invokespecial com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper.<init>:(Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$FrameWrapper;Lcom/oracle/truffle/api/debug/DebugScope;)V
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getId:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.tools.dap.types.Scope.create:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Boolean;)Lcom/oracle/truffle/tools/dap/types/Scope;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual com.oracle.truffle.tools.dap.server.StackFramesHandler.getParent:(Lcom/oracle/truffle/api/debug/DebugScope;)Lcom/oracle/truffle/api/debug/DebugScope;
astore 6
33: StackMap locals:
StackMap stack:
aload 6
ifnonnull 19
34: aload 10
ifnull 36
aload 9
ifnull 36
35: aload 9
aload 10
putfield com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper.thisValue:Lcom/oracle/truffle/api/debug/DebugValue;
36: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.debuggerSession:Lcom/oracle/truffle/api/debug/DebuggerSession;
aload 4
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.getTopScope:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugScope;
astore 6
37: goto 47
StackMap locals:
StackMap stack: com.oracle.truffle.api.debug.DebugException
38: astore 11
start local 11 39: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.getErr:()Ljava/io/PrintWriter;
astore 12
start local 12 40: aload 12
ifnull 47
41: aload 12
new java.lang.StringBuilder
dup
ldc "getTopScope() has caused "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
42: aload 11
aload 12
invokevirtual com.oracle.truffle.api.debug.DebugException.printStackTrace:(Ljava/io/PrintWriter;)V
end local 12 end local 11 43: goto 47
44: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.api.debug.DebugScope.isFunctionScope:()Z
ifne 45
aload 6
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
ifeq 46
45: StackMap locals:
StackMap stack:
aload 5
ldc "Global"
aload 1
aload 6
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getId:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.tools.dap.types.Scope.create:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Boolean;)Lcom/oracle/truffle/tools/dap/types/Scope;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual com.oracle.truffle.tools.dap.server.StackFramesHandler.getParent:(Lcom/oracle/truffle/api/debug/DebugScope;)Lcom/oracle/truffle/api/debug/DebugScope;
astore 6
47: StackMap locals:
StackMap stack:
aload 6
ifnonnull 44
48: aload 5
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 49: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo int com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper com.oracle.truffle.api.debug.DebugStackFrame
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lcom/oracle/truffle/tools/dap/server/StackFramesHandler;
0 50 1 info Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;
0 50 2 frameId I
1 50 3 frameWrapper Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$FrameWrapper;
4 50 4 frame Lcom/oracle/truffle/api/debug/DebugStackFrame;
6 49 5 scopes Ljava/util/List<Lcom/oracle/truffle/tools/dap/types/Scope;>;
7 8 6 dscope Lcom/oracle/truffle/api/debug/DebugScope;
14 49 6 dscope Lcom/oracle/truffle/api/debug/DebugScope;
9 14 7 ex Lcom/oracle/truffle/api/debug/DebugException;
10 14 8 err Ljava/io/PrintWriter;
15 49 7 scopeName Ljava/lang/String;
16 49 8 wasFunction Z
17 49 9 topScopeWrapper Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$ScopeWrapper;
18 49 10 thisValue Lcom/oracle/truffle/api/debug/DebugValue;
39 43 11 ex Lcom/oracle/truffle/api/debug/DebugException;
40 43 12 err Ljava/io/PrintWriter;
Exception table:
from to target type
6 7 8 Class com.oracle.truffle.api.debug.DebugException
36 37 38 Class com.oracle.truffle.api.debug.DebugException
Signature: (Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;I)Ljava/util/List<Lcom/oracle/truffle/tools/dap/types/Scope;>;
MethodParameters:
Name Flags
info
frameId
public static com.oracle.truffle.tools.dap.types.Variable evaluateOnStackFrame(com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo, int, java.lang.String);
descriptor: (Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;ILjava/lang/String;)Lcom/oracle/truffle/tools/dap/types/Variable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$FrameWrapper;
iload 1
invokevirtual com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo.getById:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper.getFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
goto 3
StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.api.debug.DebugStackFrame
3: astore 4
start local 4 4: aload 4
ifnull 8
5: aload 4
aload 2
invokestatic com.oracle.truffle.tools.dap.server.VariablesHandler.getDebugValue:(Lcom/oracle/truffle/api/debug/DebugStackFrame;Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 0
aload 5
ldc ""
invokestatic com.oracle.truffle.tools.dap.server.VariablesHandler.createVariable:(Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;Lcom/oracle/truffle/api/debug/DebugValue;Ljava/lang/String;)Lcom/oracle/truffle/tools/dap/types/Variable;
areturn
end local 5 8: StackMap locals: com.oracle.truffle.api.debug.DebugStackFrame
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 info Lcom/oracle/truffle/tools/dap/server/ThreadsHandler$SuspendedThreadInfo;
0 9 1 frameId I
0 9 2 expression Ljava/lang/String;
1 9 3 frameWrapper Lcom/oracle/truffle/tools/dap/server/StackFramesHandler$FrameWrapper;
4 9 4 frame Lcom/oracle/truffle/api/debug/DebugStackFrame;
6 8 5 value Lcom/oracle/truffle/api/debug/DebugValue;
MethodParameters:
Name Flags
info
frameId
expression
private com.oracle.truffle.api.debug.DebugScope getParent(com.oracle.truffle.api.debug.DebugScope);
descriptor: (Lcom/oracle/truffle/api/debug/DebugScope;)Lcom/oracle/truffle/api/debug/DebugScope;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.debug.DebugScope.getParent:()Lcom/oracle/truffle/api/debug/DebugScope;
astore 2
start local 2 1: goto 8
end local 2 StackMap locals:
StackMap stack: com.oracle.truffle.api.debug.DebugException
2: astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.tools.dap.server.StackFramesHandler.context:Lcom/oracle/truffle/tools/dap/server/ExecutionContext;
invokevirtual com.oracle.truffle.tools.dap.server.ExecutionContext.getErr:()Ljava/io/PrintWriter;
astore 4
start local 4 4: aload 4
ifnull 7
5: aload 4
new java.lang.StringBuilder
dup
ldc "Scope.getParent() has caused "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 3
aload 4
invokevirtual com.oracle.truffle.api.debug.DebugException.printStackTrace:(Ljava/io/PrintWriter;)V
7: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.api.debug.DebugScope top com.oracle.truffle.api.debug.DebugException java.io.PrintWriter
StackMap stack:
aconst_null
astore 2
end local 4 end local 3 start local 2 8: StackMap locals: com.oracle.truffle.tools.dap.server.StackFramesHandler com.oracle.truffle.api.debug.DebugScope com.oracle.truffle.api.debug.DebugScope
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/tools/dap/server/StackFramesHandler;
0 9 1 dscope Lcom/oracle/truffle/api/debug/DebugScope;
1 2 2 parentScope Lcom/oracle/truffle/api/debug/DebugScope;
8 9 2 parentScope Lcom/oracle/truffle/api/debug/DebugScope;
3 8 3 ex Lcom/oracle/truffle/api/debug/DebugException;
4 8 4 err Ljava/io/PrintWriter;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.debug.DebugException
MethodParameters:
Name Flags
dscope
}
SourceFile: "StackFramesHandler.java"
NestMembers:
com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper
InnerClasses:
private final FrameWrapper = com.oracle.truffle.tools.dap.server.StackFramesHandler$FrameWrapper of com.oracle.truffle.tools.dap.server.StackFramesHandler
final ScopeWrapper = com.oracle.truffle.tools.dap.server.StackFramesHandler$ScopeWrapper of com.oracle.truffle.tools.dap.server.StackFramesHandler
public final SuspendedThreadInfo = com.oracle.truffle.tools.dap.server.ThreadsHandler$SuspendedThreadInfo of com.oracle.truffle.tools.dap.server.ThreadsHandler