class javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler extends javax.swing.TransferHandler implements javax.swing.plaf.UIResource, java.util.Comparator<javax.swing.tree.TreePath>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler
super_class: javax.swing.TransferHandler
{
private javax.swing.JTree tree;
descriptor: Ljavax/swing/JTree;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.TransferHandler.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler;
protected java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent);
descriptor: (Ljavax/swing/JComponent;)Ljava/awt/datatransfer/Transferable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.swing.JTree
ifeq 23
1: aload 0
aload 1
checkcast javax.swing.JTree
putfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
2: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
invokevirtual javax.swing.JTree.getSelectionPaths:()[Ljavax/swing/tree/TreePath;
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
arraylength
ifne 5
4: StackMap locals: javax.swing.tree.TreePath[]
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 3
start local 3 6: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 4
start local 4 7: aload 4
ldc "<html>\n<body>\n<ul>\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
invokevirtual javax.swing.JTree.getModel:()Ljavax/swing/tree/TreeModel;
astore 5
start local 5 9: aload 0
aload 2
invokevirtual javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.getDisplayOrderPaths:([Ljavax/swing/tree/TreePath;)[Ljavax/swing/tree/TreePath;
astore 6
start local 6 10: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 18
StackMap locals: javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler javax.swing.JComponent javax.swing.tree.TreePath[] java.lang.StringBuffer java.lang.StringBuffer javax.swing.tree.TreeModel javax.swing.tree.TreePath[] top int int javax.swing.tree.TreePath[]
StackMap stack:
11: aload 10
iload 8
aaload
astore 7
start local 7 12: aload 7
invokevirtual javax.swing.tree.TreePath.getLastPathComponent:()Ljava/lang/Object;
astore 11
start local 11 13: aload 5
aload 11
invokeinterface javax.swing.tree.TreeModel.isLeaf:(Ljava/lang/Object;)Z
istore 12
start local 12 14: aload 0
aload 7
iconst_1
iload 12
invokevirtual javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.getDisplayString:(Ljavax/swing/tree/TreePath;ZZ)Ljava/lang/String;
astore 13
start local 13 15: aload 3
new java.lang.StringBuilder
dup
aload 13
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
16: aload 4
new java.lang.StringBuilder
dup
ldc " <li>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 13 end local 12 end local 11 end local 7 17: iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 9
if_icmplt 11
19: aload 3
aload 3
invokevirtual java.lang.StringBuffer.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuffer.deleteCharAt:(I)Ljava/lang/StringBuffer;
pop
20: aload 4
ldc "</ul>\n</body>\n</html>"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
21: aload 0
aconst_null
putfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
22: new javax.swing.plaf.basic.BasicTransferable
dup
aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
aload 4
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokespecial javax.swing.plaf.basic.BasicTransferable.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 23: StackMap locals: javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler javax.swing.JComponent
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljavax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler;
0 24 1 c Ljavax/swing/JComponent;
3 23 2 paths [Ljavax/swing/tree/TreePath;
6 23 3 plainBuf Ljava/lang/StringBuffer;
7 23 4 htmlBuf Ljava/lang/StringBuffer;
9 23 5 model Ljavax/swing/tree/TreeModel;
10 23 6 displayPaths [Ljavax/swing/tree/TreePath;
12 17 7 path Ljavax/swing/tree/TreePath;
13 17 11 node Ljava/lang/Object;
14 17 12 leaf Z
15 17 13 label Ljava/lang/String;
MethodParameters:
Name Flags
c
public int compare(javax.swing.tree.TreePath, javax.swing.tree.TreePath);
descriptor: (Ljavax/swing/tree/TreePath;Ljavax/swing/tree/TreePath;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
aload 1
invokevirtual javax.swing.JTree.getRowForPath:(Ljavax/swing/tree/TreePath;)I
istore 3
start local 3 1: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
aload 2
invokevirtual javax.swing.JTree.getRowForPath:(Ljavax/swing/tree/TreePath;)I
istore 4
start local 4 2: iload 3
iload 4
isub
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler;
0 3 1 o1 Ljavax/swing/tree/TreePath;
0 3 2 o2 Ljavax/swing/tree/TreePath;
1 3 3 row1 I
2 3 4 row2 I
MethodParameters:
Name Flags
o1
o2
java.lang.String getDisplayString(javax.swing.tree.TreePath, boolean, boolean);
descriptor: (Ljavax/swing/tree/TreePath;ZZ)Ljava/lang/String;
flags: (0x0000)
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
aload 1
invokevirtual javax.swing.JTree.getRowForPath:(Ljavax/swing/tree/TreePath;)I
istore 4
start local 4 1: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
invokevirtual javax.swing.JTree.getLeadSelectionRow:()I
iload 4
if_icmpne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 5
start local 5 4: aload 1
invokevirtual javax.swing.tree.TreePath.getLastPathComponent:()Ljava/lang/Object;
astore 6
start local 6 5: aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
aload 6
iload 2
aload 0
getfield javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.tree:Ljavax/swing/JTree;
iload 4
invokevirtual javax.swing.JTree.isExpanded:(I)Z
6: iload 3
iload 4
iload 5
7: invokevirtual javax.swing.JTree.convertValueToText:(Ljava/lang/Object;ZZZIZ)Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler;
0 8 1 path Ljavax/swing/tree/TreePath;
0 8 2 selected Z
0 8 3 leaf Z
1 8 4 row I
4 8 5 hasFocus Z
5 8 6 node Ljava/lang/Object;
MethodParameters:
Name Flags
path
selected
leaf
javax.swing.tree.TreePath[] getDisplayOrderPaths(javax.swing.tree.TreePath[]);
descriptor: ([Ljavax/swing/tree/TreePath;)[Ljavax/swing/tree/TreePath;
flags: (0x0000)
Code:
stack=4, locals=7, 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: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler javax.swing.tree.TreePath[] java.util.ArrayList top int int javax.swing.tree.TreePath[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: aload 2
aload 0
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
7: aload 2
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 8: iload 3
anewarray javax.swing.tree.TreePath
astore 4
start local 4 9: iconst_0
istore 5
start local 5 10: goto 13
11: StackMap locals: javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler javax.swing.tree.TreePath[] java.util.ArrayList int javax.swing.tree.TreePath[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.swing.tree.TreePath
aastore
12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 3
if_icmplt 11
end local 5 14: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler;
0 15 1 paths [Ljavax/swing/tree/TreePath;
1 15 2 selOrder Ljava/util/ArrayList<Ljavax/swing/tree/TreePath;>;
3 4 3 path Ljavax/swing/tree/TreePath;
8 15 3 n I
9 15 4 displayPaths [Ljavax/swing/tree/TreePath;
10 14 5 i I
MethodParameters:
Name Flags
paths
public int getSourceActions(javax.swing.JComponent);
descriptor: (Ljavax/swing/JComponent;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler;
0 1 1 c Ljavax/swing/JComponent;
MethodParameters:
Name Flags
c
public int compare(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast javax.swing.tree.TreePath
aload 2
checkcast javax.swing.tree.TreePath
invokevirtual javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler.compare:(Ljavax/swing/tree/TreePath;Ljavax/swing/tree/TreePath;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljavax/swing/TransferHandler;Ljavax/swing/plaf/UIResource;Ljava/util/Comparator<Ljavax/swing/tree/TreePath;>;
SourceFile: "BasicTreeUI.java"
NestHost: javax.swing.plaf.basic.BasicTreeUI
InnerClasses:
TreeTransferHandler = javax.swing.plaf.basic.BasicTreeUI$TreeTransferHandler of javax.swing.plaf.basic.BasicTreeUI