class com.sun.tools.example.debug.gui.ThreadTreeTool$1 extends java.awt.event.MouseAdapter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.gui.ThreadTreeTool$1
super_class: java.awt.event.MouseAdapter
{
final com.sun.tools.example.debug.gui.ThreadTreeTool this$0;
descriptor: Lcom/sun/tools/example/debug/gui/ThreadTreeTool;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.example.debug.gui.ThreadTreeTool);
descriptor: (Lcom/sun/tools/example/debug/gui/ThreadTreeTool;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.tools.example.debug.gui.ThreadTreeTool$1 this
0: .line 90
aload 0 /* this */
aload 1
putfield com.sun.tools.example.debug.gui.ThreadTreeTool$1.this$0:Lcom/sun/tools/example/debug/gui/ThreadTreeTool;
aload 0 /* this */
invokespecial java.awt.event.MouseAdapter.<init>:()V
return
end local 0 // com.sun.tools.example.debug.gui.ThreadTreeTool$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/gui/ThreadTreeTool$1;
MethodParameters:
Name Flags
this$0 final
public void mouseClicked(java.awt.event.MouseEvent);
descriptor: (Ljava/awt/event/MouseEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // com.sun.tools.example.debug.gui.ThreadTreeTool$1 this
start local 1 // java.awt.event.MouseEvent e
0: .line 93
aload 0 /* this */
getfield com.sun.tools.example.debug.gui.ThreadTreeTool$1.this$0:Lcom/sun/tools/example/debug/gui/ThreadTreeTool;
getfield com.sun.tools.example.debug.gui.ThreadTreeTool.tree:Ljavax/swing/JTree;
aload 1 /* e */
invokevirtual java.awt.event.MouseEvent.getX:()I
aload 1 /* e */
invokevirtual java.awt.event.MouseEvent.getY:()I
invokevirtual javax.swing.JTree.getRowForLocation:(II)I
istore 2 /* selRow */
start local 2 // int selRow
1: .line 94
aload 0 /* this */
getfield com.sun.tools.example.debug.gui.ThreadTreeTool$1.this$0:Lcom/sun/tools/example/debug/gui/ThreadTreeTool;
getfield com.sun.tools.example.debug.gui.ThreadTreeTool.tree:Ljavax/swing/JTree;
aload 1 /* e */
invokevirtual java.awt.event.MouseEvent.getX:()I
aload 1 /* e */
invokevirtual java.awt.event.MouseEvent.getY:()I
invokevirtual javax.swing.JTree.getPathForLocation:(II)Ljavax/swing/tree/TreePath;
astore 3 /* selPath */
start local 3 // javax.swing.tree.TreePath selPath
2: .line 95
iload 2 /* selRow */
iconst_m1
if_icmpeq 13
3: .line 96
aload 1 /* e */
invokevirtual java.awt.event.MouseEvent.getClickCount:()I
iconst_1
if_icmpne 13
4: .line 98
aload 3 /* selPath */
invokevirtual javax.swing.tree.TreePath.getLastPathComponent:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode
5: .line 97
astore 4 /* node */
start local 4 // com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode node
6: .line 100
aload 4 /* node */
invokevirtual com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode.isLeaf:()Z
ifeq 13
7: .line 101
aload 0 /* this */
getfield com.sun.tools.example.debug.gui.ThreadTreeTool$1.this$0:Lcom/sun/tools/example/debug/gui/ThreadTreeTool;
getfield com.sun.tools.example.debug.gui.ThreadTreeTool.tree:Ljavax/swing/JTree;
aload 3 /* selPath */
invokevirtual javax.swing.JTree.setSelectionPath:(Ljavax/swing/tree/TreePath;)V
8: .line 102
aload 0 /* this */
getfield com.sun.tools.example.debug.gui.ThreadTreeTool$1.this$0:Lcom/sun/tools/example/debug/gui/ThreadTreeTool;
getfield com.sun.tools.example.debug.gui.ThreadTreeTool.interpreter:Lcom/sun/tools/example/debug/gui/CommandInterpreter;
new java.lang.StringBuilder
dup
ldc "thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: .line 103
aload 4 /* node */
invokevirtual com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode.getThreadId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: .line 104
ldc " (\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: .line 105
aload 4 /* node */
invokevirtual com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: .line 102
invokevirtual com.sun.tools.example.debug.gui.CommandInterpreter.executeCommand:(Ljava/lang/String;)V
end local 4 // com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode node
13: .line 109
StackMap locals: int javax.swing.tree.TreePath
StackMap stack:
return
end local 3 // javax.swing.tree.TreePath selPath
end local 2 // int selRow
end local 1 // java.awt.event.MouseEvent e
end local 0 // com.sun.tools.example.debug.gui.ThreadTreeTool$1 this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/example/debug/gui/ThreadTreeTool$1;
0 14 1 e Ljava/awt/event/MouseEvent;
1 14 2 selRow I
2 14 3 selPath Ljavax/swing/tree/TreePath;
6 13 4 node Lcom/sun/tools/example/debug/gui/ThreadTreeTool$ThreadTreeNode;
MethodParameters:
Name Flags
e
}
SourceFile: "ThreadTreeTool.java"
EnclosingMethod: com.sun.tools.example.debug.gui.ThreadTreeTool.<init>:(Lcom/sun/tools/example/debug/gui/Environment;)V
NestHost: com.sun.tools.example.debug.gui.ThreadTreeTool
InnerClasses:
com.sun.tools.example.debug.gui.ThreadTreeTool$1
ThreadTreeNode = com.sun.tools.example.debug.gui.ThreadTreeTool$ThreadTreeNode of com.sun.tools.example.debug.gui.ThreadTreeTool