public class sun.awt.datatransfer.ClipboardTransferable implements java.awt.datatransfer.Transferable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.datatransfer.ClipboardTransferable
super_class: java.lang.Object
{
private final java.util.HashMap flavorsToData;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.awt.datatransfer.DataFlavor[] flavors;
descriptor: [Ljava/awt/datatransfer/DataFlavor;
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.awt.datatransfer.SunClipboard);
descriptor: (Lsun/awt/datatransfer/SunClipboard;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
2: aload 0
iconst_0
anewarray java.awt.datatransfer.DataFlavor
putfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
3: aload 1
aconst_null
invokevirtual sun.awt.datatransfer.SunClipboard.openClipboard:(Lsun/awt/datatransfer/SunClipboard;)V
4: aload 1
invokevirtual sun.awt.datatransfer.SunClipboard.getClipboardFormats:()[J
astore 2
start local 2 5: aload 2
ifnull 23
aload 2
arraylength
ifle 23
6: new java.util.HashMap
dup
aload 2
arraylength
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
astore 3
start local 3 7: invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
8: aload 2
invokestatic sun.awt.datatransfer.SunClipboard.getDefaultFlavorTable:()Ljava/awt/datatransfer/FlavorTable;
invokevirtual sun.awt.datatransfer.DataTransferer.getFlavorsForFormats:([JLjava/awt/datatransfer/FlavorTable;)Ljava/util/Map;
9: astore 4
start local 4 10: aload 4
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
start local 5 11: goto 15
12: StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard long[] java.util.HashMap java.util.Map java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.awt.datatransfer.DataFlavor
astore 6
start local 6 13: aload 4
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Long
astore 7
start local 7 14: aload 0
aload 1
aload 6
aload 7
aload 3
invokevirtual sun.awt.datatransfer.ClipboardTransferable.fetchOneFlavor:(Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;Ljava/lang/Long;Ljava/util/HashMap;)Z
pop
end local 7 end local 6 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 5 16: aload 0
invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
pop
17: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokestatic sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray:(Ljava/util/Set;)[Ljava/awt/datatransfer/DataFlavor;
18: putfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
end local 4 end local 3 end local 2 19: goto 23
StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard
StackMap stack: java.lang.Throwable
20: astore 8
21: aload 1
invokevirtual sun.awt.datatransfer.SunClipboard.closeClipboard:()V
22: aload 8
athrow
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.awt.datatransfer.SunClipboard.closeClipboard:()V
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 25 1 clipboard Lsun/awt/datatransfer/SunClipboard;
5 19 2 formats [J
7 19 3 cached_data Ljava/util/HashMap;
10 19 4 flavorsForFormats Ljava/util/Map;
11 16 5 iter Ljava/util/Iterator;
13 15 6 flavor Ljava/awt/datatransfer/DataFlavor;
14 15 7 lFormat Ljava/lang/Long;
Exception table:
from to target type
4 20 20 any
MethodParameters:
Name Flags
clipboard
private boolean fetchOneFlavor(sun.awt.datatransfer.SunClipboard, java.awt.datatransfer.DataFlavor, java.lang.Long, java.util.HashMap);
descriptor: (Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;Ljava/lang/Long;Ljava/util/HashMap;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 22
1: aload 3
invokevirtual java.lang.Long.longValue:()J
lstore 5
start local 5 2: aconst_null
astore 7
start local 7 3: aload 4
aload 3
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 13
4: aload 1
lload 5
invokevirtual sun.awt.datatransfer.SunClipboard.getClipboardData:(J)[B
astore 7
5: goto 11
StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard java.awt.datatransfer.DataFlavor java.lang.Long java.util.HashMap long java.lang.Object
StackMap stack: java.io.IOException
6: astore 8
start local 8 7: aload 8
astore 7
end local 8 8: goto 11
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
start local 8 10: aload 8
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 8 11: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 7
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 14
13: StackMap locals:
StackMap stack:
aload 4
aload 3
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
14: StackMap locals:
StackMap stack:
aload 7
instanceof java.io.IOException
ifeq 17
15: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
aload 2
aload 7
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 7
ifnull 22
18: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
aload 2
new sun.awt.datatransfer.ClipboardTransferable$DataFactory
dup
aload 0
lload 5
19: aload 7
checkcast byte[]
invokespecial sun.awt.datatransfer.ClipboardTransferable$DataFactory.<init>:(Lsun/awt/datatransfer/ClipboardTransferable;J[B)V
20: invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: iconst_1
ireturn
end local 7 end local 5 22: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 23 1 clipboard Lsun/awt/datatransfer/SunClipboard;
0 23 2 flavor Ljava/awt/datatransfer/DataFlavor;
0 23 3 lFormat Ljava/lang/Long;
0 23 4 cached_data Ljava/util/HashMap;
2 22 5 format J
3 22 7 data Ljava/lang/Object;
7 8 8 e Ljava/io/IOException;
10 11 8 e Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 Class java.io.IOException
4 5 9 Class java.lang.Throwable
MethodParameters:
Name Flags
clipboard
flavor
lFormat
cached_data
public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors();
descriptor: ()[Ljava/awt/datatransfer/DataFlavor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
invokevirtual java.awt.datatransfer.DataFlavor[].clone:()Ljava/lang/Object;
checkcast java.awt.datatransfer.DataFlavor[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/datatransfer/ClipboardTransferable;
public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor);
descriptor: (Ljava/awt/datatransfer/DataFlavor;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 1 1 flavor Ljava/awt/datatransfer/DataFlavor;
MethodParameters:
Name Flags
flavor
public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor);
descriptor: (Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.awt.datatransfer.ClipboardTransferable.isDataFlavorSupported:(Ljava/awt/datatransfer/DataFlavor;)Z
ifne 2
1: new java.awt.datatransfer.UnsupportedFlavorException
dup
aload 1
invokespecial java.awt.datatransfer.UnsupportedFlavorException.<init>:(Ljava/awt/datatransfer/DataFlavor;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
instanceof java.io.IOException
ifeq 5
4: aload 2
checkcast java.io.IOException
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof sun.awt.datatransfer.ClipboardTransferable$DataFactory
ifeq 8
6: aload 2
checkcast sun.awt.datatransfer.ClipboardTransferable$DataFactory
astore 3
start local 3 7: aload 3
aload 1
invokevirtual sun.awt.datatransfer.ClipboardTransferable$DataFactory.getTransferData:(Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object;
astore 2
end local 3 8: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 9 1 flavor Ljava/awt/datatransfer/DataFlavor;
3 9 2 ret Ljava/lang/Object;
7 8 3 factory Lsun/awt/datatransfer/ClipboardTransferable$DataFactory;
Exceptions:
throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException
MethodParameters:
Name Flags
flavor
}
SourceFile: "ClipboardTransferable.java"
NestMembers:
sun.awt.datatransfer.ClipboardTransferable$DataFactory
InnerClasses:
private final DataFactory = sun.awt.datatransfer.ClipboardTransferable$DataFactory of sun.awt.datatransfer.ClipboardTransferable