class com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3 implements com.oracle.truffle.tools.chromeinspector.SuspendThreadExecutable<com.oracle.truffle.tools.utils.json.JSONObject>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3
super_class: java.lang.Object
{
final com.oracle.truffle.tools.chromeinspector.InspectorDebugger this$0;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final int val$frameId;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$expression;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final boolean val$generatePreview;
descriptor: Z
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.tools.chromeinspector.ConsoleUtilitiesAPI val$cuAPI;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/ConsoleUtilitiesAPI;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$objectGroup;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.tools.chromeinspector.InspectorDebugger, int, java.lang.String, boolean, com.oracle.truffle.tools.chromeinspector.ConsoleUtilitiesAPI, java.lang.String);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;ILjava/lang/String;ZLcom/oracle/truffle/tools/chromeinspector/ConsoleUtilitiesAPI;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=7
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aload 0
iload 2
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$frameId:I
aload 0
aload 3
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$expression:Ljava/lang/String;
aload 0
iload 4
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$generatePreview:Z
aload 0
aload 5
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$cuAPI:Lcom/oracle/truffle/tools/chromeinspector/ConsoleUtilitiesAPI;
aload 0
aload 6
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$objectGroup:Ljava/lang/String;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$3;
MethodParameters:
Name Flags
this$0 final
val$frameId final
val$expression final
val$generatePreview final
val$cuAPI final
val$objectGroup final
public com.oracle.truffle.tools.utils.json.JSONObject executeCommand();
descriptor: ()Lcom/oracle/truffle/tools/utils/json/JSONObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$frameId:I
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
invokevirtual com.oracle.truffle.tools.chromeinspector.DebuggerSuspendedInfo.getCallFrames:()[Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;
arraylength
if_icmplt 2
1: new com.oracle.truffle.tools.chromeinspector.server.CommandProcessException
dup
new java.lang.StringBuilder
dup
ldc "Too big callFrameId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$frameId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.tools.chromeinspector.server.CommandProcessException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
invokevirtual com.oracle.truffle.tools.chromeinspector.DebuggerSuspendedInfo.getCallFrames:()[Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$frameId:I
aaload
astore 1
start local 1 3: new com.oracle.truffle.tools.utils.json.JSONObject
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$expression:Ljava/lang/String;
aload 1
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$generatePreview:Z
aload 2
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger.runSpecialFunctions:(Ljava/lang/String;Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;ZLcom/oracle/truffle/tools/utils/json/JSONObject;)Z
ifeq 6
5: aload 2
areturn
6: StackMap locals: com.oracle.truffle.tools.chromeinspector.types.CallFrame com.oracle.truffle.tools.utils.json.JSONObject
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$expression:Ljava/lang/String;
aload 1
invokestatic com.oracle.truffle.tools.chromeinspector.InspectorDebugger.getVarValue:(Ljava/lang/String;Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;)Lcom/oracle/truffle/api/debug/DebugValue;
astore 3
start local 3 7: aload 3
ifnonnull 12
8: aload 1
invokevirtual com.oracle.truffle.tools.chromeinspector.types.CallFrame.getFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$expression:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.eval:(Ljava/lang/String;)Lcom/oracle/truffle/api/debug/DebugValue;
astore 3
9: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
invokevirtual com.oracle.truffle.tools.chromeinspector.DebuggerSuspendedInfo.refreshFrames:()V
10: goto 12
StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3 com.oracle.truffle.tools.chromeinspector.types.CallFrame com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue
StackMap stack: java.lang.IllegalStateException
11: pop
12: StackMap locals:
StackMap stack:
aload 3
ifnonnull 22
13: aload 1
invokevirtual com.oracle.truffle.tools.chromeinspector.types.CallFrame.getFrame:()Lcom/oracle/truffle/api/debug/DebugStackFrame;
invokevirtual com.oracle.truffle.api.debug.DebugStackFrame.getLanguage:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
astore 4
start local 4 14: aload 4
ifnull 15
aload 4
invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.isInteractive:()Z
ifne 22
15: StackMap locals: com.oracle.truffle.api.nodes.LanguageInfo
StackMap stack:
invokestatic com.oracle.truffle.tools.chromeinspector.InspectorDebugger.getEvalNonInteractiveMessage:()Ljava/lang/String;
astore 5
start local 5 16: new com.oracle.truffle.tools.chromeinspector.types.ExceptionDetails
dup
aload 5
invokespecial com.oracle.truffle.tools.chromeinspector.types.ExceptionDetails.<init>:(Ljava/lang/String;)V
astore 6
start local 6 17: aload 2
ldc "exceptionDetails"
aload 6
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$generatePreview:Z
invokevirtual com.oracle.truffle.tools.chromeinspector.types.ExceptionDetails.createJSON:(Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;Z)Lcom/oracle/truffle/tools/utils/json/JSONObject;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
18: new com.oracle.truffle.tools.utils.json.JSONObject
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
astore 7
start local 7 19: aload 7
ldc "value"
aload 5
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.putOpt:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
20: aload 7
ldc "type"
ldc "string"
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.putOpt:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
21: aload 2
ldc "result"
aload 7
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
end local 7 end local 6 end local 5 end local 4 22: StackMap locals:
StackMap stack:
aload 3
ifnull 30
23: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$cuAPI:Lcom/oracle/truffle/tools/chromeinspector/ConsoleUtilitiesAPI;
ifnull 27
24: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$cuAPI:Lcom/oracle/truffle/tools/chromeinspector/ConsoleUtilitiesAPI;
aload 3
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.breakpointsHandler:Lcom/oracle/truffle/tools/chromeinspector/BreakpointsHandler;
invokevirtual com.oracle.truffle.tools.chromeinspector.ConsoleUtilitiesAPI.process:(Lcom/oracle/truffle/api/debug/DebugValue;Lcom/oracle/truffle/tools/chromeinspector/BreakpointsHandler;)Lcom/oracle/truffle/api/debug/DebugValue;
astore 3
25: aload 3
ifnonnull 27
26: aload 2
areturn
27: StackMap locals:
StackMap stack:
new com.oracle.truffle.tools.chromeinspector.types.RemoteObject
dup
aload 3
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$generatePreview:Z
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
invokespecial com.oracle.truffle.tools.chromeinspector.types.RemoteObject.<init>:(Lcom/oracle/truffle/api/debug/DebugValue;ZLcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;)V
astore 4
start local 4 28: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getRemoteObjectsHandler:()Lcom/oracle/truffle/tools/chromeinspector/RemoteObjectsHandler;
aload 4
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$objectGroup:Ljava/lang/String;
invokevirtual com.oracle.truffle.tools.chromeinspector.RemoteObjectsHandler.register:(Lcom/oracle/truffle/tools/chromeinspector/types/RemoteObject;Ljava/lang/String;)V
29: aload 2
ldc "result"
aload 4
invokevirtual com.oracle.truffle.tools.chromeinspector.types.RemoteObject.toJSON:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
end local 4 30: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$3;
3 31 1 cf Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;
4 31 2 json Lcom/oracle/truffle/tools/utils/json/JSONObject;
7 31 3 value Lcom/oracle/truffle/api/debug/DebugValue;
14 22 4 languageInfo Lcom/oracle/truffle/api/nodes/LanguageInfo;
16 22 5 errorMessage Ljava/lang/String;
17 22 6 exceptionDetails Lcom/oracle/truffle/tools/chromeinspector/types/ExceptionDetails;
19 22 7 err Lcom/oracle/truffle/tools/utils/json/JSONObject;
28 30 4 ro Lcom/oracle/truffle/tools/chromeinspector/types/RemoteObject;
Exception table:
from to target type
8 10 11 Class java.lang.IllegalStateException
Exceptions:
throws com.oracle.truffle.tools.chromeinspector.server.CommandProcessException
public com.oracle.truffle.tools.utils.json.JSONObject processException(com.oracle.truffle.api.debug.DebugException);
descriptor: (Lcom/oracle/truffle/api/debug/DebugException;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.tools.utils.json.JSONObject
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$generatePreview:Z
invokestatic com.oracle.truffle.tools.chromeinspector.InspectorRuntime.fillExceptionDetails:(Lcom/oracle/truffle/tools/utils/json/JSONObject;Lcom/oracle/truffle/api/debug/DebugException;Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;Z)V
2: aload 1
invokevirtual com.oracle.truffle.api.debug.DebugException.getExceptionObject:()Lcom/oracle/truffle/api/debug/DebugValue;
astore 3
start local 3 3: aload 3
ifnull 7
4: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aload 3
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.val$generatePreview:Z
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.createAndRegister:(Lcom/oracle/truffle/api/debug/DebugValue;Z)Lcom/oracle/truffle/tools/chromeinspector/types/RemoteObject;
astore 4
start local 4 5: aload 2
ldc "result"
aload 4
invokevirtual com.oracle.truffle.tools.chromeinspector.types.RemoteObject.toJSON:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
end local 4 6: goto 11
7: StackMap locals: com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue
StackMap stack:
new com.oracle.truffle.tools.utils.json.JSONObject
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
astore 4
start local 4 8: aload 4
ldc "value"
aload 1
invokevirtual com.oracle.truffle.api.debug.DebugException.getLocalizedMessage:()Ljava/lang/String;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.putOpt:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
9: aload 4
ldc "type"
ldc "string"
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.putOpt:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
10: aload 2
ldc "result"
aload 4
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
end local 4 11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$3;
0 12 1 dex Lcom/oracle/truffle/api/debug/DebugException;
1 12 2 json Lcom/oracle/truffle/tools/utils/json/JSONObject;
3 12 3 exceptionObject Lcom/oracle/truffle/api/debug/DebugValue;
5 6 4 ro Lcom/oracle/truffle/tools/chromeinspector/types/RemoteObject;
8 11 4 err Lcom/oracle/truffle/tools/utils/json/JSONObject;
MethodParameters:
Name Flags
dex
public java.lang.Object processException(com.oracle.truffle.api.debug.DebugException);
descriptor: (Lcom/oracle/truffle/api/debug/DebugException;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.processException:(Lcom/oracle/truffle/api/debug/DebugException;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object executeCommand();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3.executeCommand:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws com.oracle.truffle.tools.chromeinspector.server.CommandProcessException
}
Signature: Ljava/lang/Object;Lcom/oracle/truffle/tools/chromeinspector/SuspendThreadExecutable<Lcom/oracle/truffle/tools/utils/json/JSONObject;>;
SourceFile: "InspectorDebugger.java"
EnclosingMethod: com.oracle.truffle.tools.chromeinspector.InspectorDebugger.evaluateOnCallFrame:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZZ)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
NestHost: com.oracle.truffle.tools.chromeinspector.InspectorDebugger
InnerClasses:
com.oracle.truffle.tools.chromeinspector.InspectorDebugger$3