abstract class com.sun.tools.example.debug.tty.Commands$AsyncExecution
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.example.debug.tty.Commands$AsyncExecution
super_class: java.lang.Object
{
final com.sun.tools.example.debug.tty.Commands this$0;
descriptor: Lcom/sun/tools/example/debug/tty/Commands;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
abstract void action();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
void <init>(com.sun.tools.example.debug.tty.Commands);
descriptor: (Lcom/sun/tools/example/debug/tty/Commands;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.tools.example.debug.tty.Commands$AsyncExecution this
0: .line 52
aload 0 /* this */
aload 1
putfield com.sun.tools.example.debug.tty.Commands$AsyncExecution.this$0:Lcom/sun/tools/example/debug/tty/Commands;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 53
aload 0 /* this */
invokevirtual com.sun.tools.example.debug.tty.Commands$AsyncExecution.execute:()V
2: .line 54
return
end local 0 // com.sun.tools.example.debug.tty.Commands$AsyncExecution this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/example/debug/tty/Commands$AsyncExecution;
MethodParameters:
Name Flags
this$0 final
void execute();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=1
start local 0 // com.sun.tools.example.debug.tty.Commands$AsyncExecution this
0: .line 60
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 1 /* threadInfo */
start local 1 // com.sun.tools.example.debug.tty.ThreadInfo threadInfo
1: .line 61
aload 1 /* threadInfo */
ifnonnull 2
iconst_0
goto 3
StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
2: aload 1 /* threadInfo */
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrameIndex:()I
StackMap locals:
StackMap stack: int
3: istore 2 /* stackFrame */
start local 2 // int stackFrame
4: .line 62
new com.sun.tools.example.debug.tty.Commands$AsyncExecution$1
dup
aload 0 /* this */
ldc "asynchronous jdb command"
aload 1 /* threadInfo */
iload 2 /* stackFrame */
invokespecial com.sun.tools.example.debug.tty.Commands$AsyncExecution$1.<init>:(Lcom/sun/tools/example/debug/tty/Commands$AsyncExecution;Ljava/lang/String;Lcom/sun/tools/example/debug/tty/ThreadInfo;I)V
astore 3 /* thread */
start local 3 // java.lang.Thread thread
5: .line 94
aload 3 /* thread */
invokevirtual java.lang.Thread.start:()V
6: .line 95
return
end local 3 // java.lang.Thread thread
end local 2 // int stackFrame
end local 1 // com.sun.tools.example.debug.tty.ThreadInfo threadInfo
end local 0 // com.sun.tools.example.debug.tty.Commands$AsyncExecution this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/tty/Commands$AsyncExecution;
1 7 1 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
4 7 2 stackFrame I
5 7 3 thread Ljava/lang/Thread;
}
SourceFile: "Commands.java"
NestHost: com.sun.tools.example.debug.tty.Commands
InnerClasses:
abstract AsyncExecution = com.sun.tools.example.debug.tty.Commands$AsyncExecution of com.sun.tools.example.debug.tty.Commands
com.sun.tools.example.debug.tty.Commands$AsyncExecution$1