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.Map<java.awt.datatransfer.DataFlavor, java.lang.Object> flavorsToData;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/awt/datatransfer/DataFlavor;Ljava/lang/Object;>;
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=4, locals=5, 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/Map;
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 16
aload 2
arraylength
ifle 16
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: invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
10: aload 0
aload 1
aload 3
invokedynamic accept(Lsun/awt/datatransfer/ClipboardTransferable;Lsun/awt/datatransfer/SunClipboard;Ljava/util/Map;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
sun/awt/datatransfer/ClipboardTransferable.lambda$0(Lsun/awt/datatransfer/SunClipboard;Ljava/util/Map;Ljava/util/Map$Entry;)V (7)
(Ljava/util/Map$Entry;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
11: aload 0
aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokestatic sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray:(Ljava/util/Set;)[Ljava/awt/datatransfer/DataFlavor;
putfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
end local 3 end local 2 12: goto 16
StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard
StackMap stack: java.lang.Throwable
13: astore 4
14: aload 1
invokevirtual sun.awt.datatransfer.SunClipboard.closeClipboard:()V
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.awt.datatransfer.SunClipboard.closeClipboard:()V
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 18 1 clipboard Lsun/awt/datatransfer/SunClipboard;
5 12 2 formats [J
7 12 3 cached_data Ljava/util/Map<Ljava/lang/Long;Ljava/lang/Object;>;
Exception table:
from to target type
4 13 13 any
MethodParameters:
Name Flags
clipboard
private boolean fetchOneFlavor(sun.awt.datatransfer.SunClipboard, java.awt.datatransfer.DataFlavor, long, java.util.Map<java.lang.Long, java.lang.Object>);
descriptor: (Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;JLjava/util/Map;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 19
1: aconst_null
astore 6
start local 6 2: aload 5
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 12
3: aload 1
lload 3
invokevirtual sun.awt.datatransfer.SunClipboard.getClipboardData:(J)[B
astore 6
4: goto 10
StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard java.awt.datatransfer.DataFlavor long java.util.Map java.lang.Object
StackMap stack: java.io.IOException
5: astore 7
start local 7 6: aload 7
astore 6
end local 7 7: goto 10
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
start local 7 9: aload 7
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 7 10: StackMap locals:
StackMap stack:
aload 5
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 5
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
13: StackMap locals:
StackMap stack:
aload 6
instanceof java.io.IOException
ifeq 16
14: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/Map;
aload 2
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 6
ifnull 19
17: aload 0
getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/Map;
aload 2
new sun.awt.datatransfer.ClipboardTransferable$DataFactory
dup
aload 0
lload 3
aload 6
checkcast byte[]
invokespecial sun.awt.datatransfer.ClipboardTransferable$DataFactory.<init>:(Lsun/awt/datatransfer/ClipboardTransferable;J[B)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: iconst_1
ireturn
end local 6 19: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 20 1 clipboard Lsun/awt/datatransfer/SunClipboard;
0 20 2 flavor Ljava/awt/datatransfer/DataFlavor;
0 20 3 format J
0 20 5 cached_data Ljava/util/Map<Ljava/lang/Long;Ljava/lang/Object;>;
2 19 6 data Ljava/lang/Object;
6 7 7 e Ljava/io/IOException;
9 10 7 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.io.IOException
3 4 8 Class java.lang.Throwable
Signature: (Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;JLjava/util/Map<Ljava/lang/Long;Ljava/lang/Object;>;)Z
MethodParameters:
Name Flags
clipboard
flavor
format
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/Map;
aload 1
invokeinterface java.util.Map.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=4, 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/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
instanceof java.io.IOException
ifeq 5
4: new java.io.IOException
dup
ldc "Exception fetching data: "
aload 2
checkcast java.io.IOException
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
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
private void lambda$0(sun.awt.datatransfer.SunClipboard, java.util.Map, java.util.Map$Entry);
descriptor: (Lsun/awt/datatransfer/SunClipboard;Ljava/util/Map;Ljava/util/Map$Entry;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.awt.datatransfer.DataFlavor
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 2
invokevirtual sun.awt.datatransfer.ClipboardTransferable.fetchOneFlavor:(Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;JLjava/util/Map;)Z
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/datatransfer/ClipboardTransferable;
0 1 3 entry Ljava/util/Map$Entry<Ljava/awt/datatransfer/DataFlavor;Ljava/lang/Long;>;
}
SourceFile: "ClipboardTransferable.java"
NestMembers:
sun.awt.datatransfer.ClipboardTransferable$DataFactory
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
private final DataFactory = sun.awt.datatransfer.ClipboardTransferable$DataFactory of sun.awt.datatransfer.ClipboardTransferable