public class sun.awt.X11.XSelection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.X11.XSelection
super_class: java.lang.Object
{
private static final java.util.Hashtable<sun.awt.X11.XAtom, sun.awt.X11.XSelection> table;
descriptor: Ljava/util/Hashtable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Hashtable<Lsun/awt/X11/XAtom;Lsun/awt/X11/XSelection;>;
private static final java.lang.Object lock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.awt.X11.XAtom selectionPropertyAtom;
descriptor: Lsun/awt/X11/XAtom;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final long MAX_LENGTH;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1000000
public static final int MAX_PROPERTY_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static long SELECTION_TIMEOUT;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final sun.awt.X11.XEventDispatcher incrementalTransferHandler;
descriptor: Lsun/awt/X11/XEventDispatcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static sun.awt.X11.WindowPropertyGetter propertyGetter;
descriptor: Lsun/awt/X11/WindowPropertyGetter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final sun.awt.X11.XAtom selectionAtom;
descriptor: Lsun/awt/X11/XAtom;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.awt.X11.XClipboard clipboard;
descriptor: Lsun/awt/X11/XClipboard;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.awt.datatransfer.Transferable contents;
descriptor: Ljava/awt/datatransfer/Transferable;
flags: (0x0002) ACC_PRIVATE
private java.util.Map formatMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
private long[] formats;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private sun.awt.AppContext appContext;
descriptor: Lsun/awt/AppContext;
flags: (0x0002) ACC_PRIVATE
private static long lastRequestServerTime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private long ownershipTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean isOwner;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile sun.awt.X11.XAtom targetsPropertyAtom;
descriptor: Lsun/awt/X11/XAtom;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static volatile java.util.Set targetsPropertyAtoms;
descriptor: Ljava/util/Set;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private volatile boolean isSelectionNotifyProcessed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private long convertSelectionTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic sun.awt.X11.XSelection.table:Ljava/util/Hashtable;
1: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic sun.awt.X11.XSelection.lock:Ljava/lang/Object;
2: ldc "XAWT_SELECTION"
invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
putstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
3: invokestatic sun.awt.X11.XToolkit.awtLock:()V
4: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
invokestatic sun.awt.X11.XlibWrapper.XMaxRequestSize:(J)J
ldc 4
lmul
ldc 100
lsub
l2i
5: putstatic sun.awt.X11.XSelection.MAX_PROPERTY_SIZE:I
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 0
8: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
9: aload 0
athrow
10: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
11: invokestatic sun.awt.UNIXToolkit.getDatatransferTimeout:()I
i2l
putstatic sun.awt.X11.XSelection.SELECTION_TIMEOUT:J
12: new sun.awt.X11.XSelection$IncrementalTransferHandler
dup
invokespecial sun.awt.X11.XSelection$IncrementalTransferHandler.<init>:()V
13: putstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
14: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
15: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
16: new sun.awt.X11.XSelection$SelectionEventHandler
dup
invokespecial sun.awt.X11.XSelection$SelectionEventHandler.<init>:()V
17: invokestatic sun.awt.X11.XToolkit.addEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
18: return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
4 7 7 any
static sun.awt.X11.XSelection getSelection(sun.awt.X11.XAtom);
descriptor: (Lsun/awt/X11/XAtom;)Lsun/awt/X11/XSelection;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.awt.X11.XSelection.table:Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.awt.X11.XSelection
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 atom Lsun/awt/X11/XAtom;
MethodParameters:
Name Flags
atom
public void <init>(sun.awt.X11.XAtom, sun.awt.X11.XClipboard);
descriptor: (Lsun/awt/X11/XAtom;Lsun/awt/X11/XClipboard;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
2: aload 0
aconst_null
putfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
3: aload 0
aconst_null
putfield sun.awt.X11.XSelection.formats:[J
4: aload 0
aconst_null
putfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
5: aload 0
lconst_0
putfield sun.awt.X11.XSelection.ownershipTime:J
6: aload 1
ifnonnull 8
7: new java.lang.NullPointerException
dup
ldc "Null atom"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XAtom sun.awt.X11.XClipboard
StackMap stack:
aload 0
aload 1
putfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
9: aload 0
aload 2
putfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
10: getstatic sun.awt.X11.XSelection.table:Ljava/util/Hashtable;
aload 0
getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
aload 0
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/awt/X11/XSelection;
0 12 1 atom Lsun/awt/X11/XAtom;
0 12 2 clpbrd Lsun/awt/X11/XClipboard;
MethodParameters:
Name Flags
atom
clpbrd
public sun.awt.X11.XAtom getSelectionAtom();
descriptor: ()Lsun/awt/X11/XAtom;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XSelection;
void initializeSelectionForTrackingChanges();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "XAWT_TARGETS_OF_SELECTION:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
putfield sun.awt.X11.XSelection.targetsPropertyAtom:Lsun/awt/X11/XAtom;
1: getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
ifnonnull 3
2: new java.util.HashSet
dup
iconst_2
invokespecial java.util.HashSet.<init>:(I)V
invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
putstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
3: StackMap locals:
StackMap stack:
getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
aload 0
getfield sun.awt.X11.XSelection.targetsPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 0
iconst_1
putfield sun.awt.X11.XSelection.isSelectionNotifyProcessed:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/X11/XSelection;
void deinitializeSelectionForTrackingChanges();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
ifnull 2
aload 0
getfield sun.awt.X11.XSelection.targetsPropertyAtom:Lsun/awt/X11/XAtom;
ifnull 2
1: getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
aload 0
getfield sun.awt.X11.XSelection.targetsPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.awt.X11.XSelection.isSelectionNotifyProcessed:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/X11/XSelection;
public synchronized boolean setOwner(java.awt.datatransfer.Transferable, java.util.Map, long[], long);
descriptor: (Ljava/awt/datatransfer/Transferable;Ljava/util/Map;[JJ)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
lstore 6
start local 6 1: aload 0
getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
lstore 8
start local 8 2: lload 4
lconst_0
lcmp
ifne 4
3: invokestatic sun.awt.X11.XToolkit.getCurrentServerTime:()J
lstore 4
4: StackMap locals: long long
StackMap stack:
aload 0
aload 1
putfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
5: aload 0
aload 2
putfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
6: aload 0
aload 3
putfield sun.awt.X11.XSelection.formats:[J
7: aload 0
invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
putfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
8: aload 0
lload 4
putfield sun.awt.X11.XSelection.ownershipTime:J
9: invokestatic sun.awt.X11.XToolkit.awtLock:()V
10: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
11: lload 8
lload 6
lload 4
12: invokestatic sun.awt.X11.XlibWrapper.XSetSelectionOwner:(JJJJ)V
13: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
14: lload 8
15: invokestatic sun.awt.X11.XlibWrapper.XGetSelectionOwner:(JJ)J
16: lload 6
17: lcmp
ifeq 21
18: aload 0
invokevirtual sun.awt.X11.XSelection.reset:()V
19: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.awt.X11.XSelection.isOwner:Z
22: aload 0
getfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
ifnull 24
23: aload 0
getfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
aload 1
invokevirtual sun.awt.X11.XClipboard.checkChangeHere:(Ljava/awt/datatransfer/Transferable;)V
24: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
25: iconst_1
ireturn
26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
27: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
28: aload 10
athrow
end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/awt/X11/XSelection;
0 29 1 contents Ljava/awt/datatransfer/Transferable;
0 29 2 formatMap Ljava/util/Map;
0 29 3 formats [J
0 29 4 time J
1 29 6 owner J
2 29 8 selection J
Exception table:
from to target type
10 19 26 any
21 24 26 any
MethodParameters:
Name Flags
contents
formatMap
formats
time
private static void waitForSelectionNotify(sun.awt.X11.WindowPropertyGetter);
descriptor: (Lsun/awt/X11/WindowPropertyGetter;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 1: invokestatic sun.awt.X11.XToolkit.awtLock:()V
2: StackMap locals: long
StackMap stack:
invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
invokevirtual sun.awt.datatransfer.DataTransferer.processDataConversionRequests:()V
3: ldc 250
invokestatic sun.awt.X11.XToolkit.awtLockWait:(J)V
4: getstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
aload 0
if_acmpne 10
invokestatic java.lang.System.currentTimeMillis:()J
lload 1
getstatic sun.awt.X11.XSelection.SELECTION_TIMEOUT:J
ladd
5: lcmp
iflt 2
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
8: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 dataGetter Lsun/awt/X11/WindowPropertyGetter;
1 12 1 startTime J
Exception table:
from to target type
2 7 7 any
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
dataGetter
public long[] getTargets(long);
descriptor: (J)[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=10, args_size=2
start local 0 start local 1 0: invokestatic sun.awt.X11.XToolkit.isToolkitThread:()Z
ifeq 2
1: new java.lang.Error
dup
ldc "UNIMPLEMENTED"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: getstatic sun.awt.X11.XSelection.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
4: invokestatic sun.awt.UNIXToolkit.getDatatransferTimeout:()I
i2l
putstatic sun.awt.X11.XSelection.SELECTION_TIMEOUT:J
5: new sun.awt.X11.WindowPropertyGetter
dup
invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
6: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
lconst_0
ldc 1000000
7: iconst_1
lconst_0
8: invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
9: astore 5
start local 5 10: invokestatic sun.awt.X11.XToolkit.awtLock:()V
11: aload 5
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
12: lload 1
putstatic sun.awt.X11.XSelection.lastRequestServerTime:J
13: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
14: aload 0
invokevirtual sun.awt.X11.XSelection.getSelectionAtom:()Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
15: getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
16: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
17: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
18: lload 1
19: invokestatic sun.awt.X11.XlibWrapper.XConvertSelection:(JJJJJJ)V
20: aload 5
invokestatic sun.awt.X11.XSelection.waitForSelectionNotify:(Lsun/awt/X11/WindowPropertyGetter;)V
21: goto 32
StackMap locals: sun.awt.X11.XSelection long long[] java.lang.Object sun.awt.X11.WindowPropertyGetter
StackMap stack: java.lang.InterruptedException
22: pop
23: iconst_0
newarray 11
astore 7
24: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
25: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
26: aload 5
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
27: aload 4
monitorexit
28: aload 7
areturn
29: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
30: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
31: aload 6
athrow
32: StackMap locals:
StackMap stack:
aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
33: goto 37
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 8
35: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
36: aload 8
athrow
37: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
38: aload 5
invokestatic sun.awt.X11.XSelection.getFormats:(Lsun/awt/X11/WindowPropertyGetter;)[J
astore 3
39: goto 43
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 9
41: aload 5
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
42: aload 9
athrow
43: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
end local 5 44: aload 4
monitorexit
45: goto 48
StackMap locals: sun.awt.X11.XSelection long long[] java.lang.Object
StackMap stack: java.lang.Throwable
46: aload 4
monitorexit
47: athrow
48: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/awt/X11/XSelection;
0 49 1 time J
3 49 3 formats [J
10 44 5 targetsGetter Lsun/awt/X11/WindowPropertyGetter;
Exception table:
from to target type
20 21 22 Class java.lang.InterruptedException
20 24 29 any
11 25 34 any
29 34 34 any
10 26 40 any
29 40 40 any
4 28 46 any
29 45 46 any
46 47 46 any
MethodParameters:
Name Flags
time
private static long[] getFormats(sun.awt.X11.WindowPropertyGetter);
descriptor: (Lsun/awt/X11/WindowPropertyGetter;)[J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.isExecuted:()Z
ifeq 16
aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
ifne 16
2: aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
ldc 4
lcmp
ifeq 4
3: aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
lcmp
ifne 16
4: StackMap locals: long[]
StackMap stack:
aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
bipush 32
if_icmpne 16
5: aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
istore 2
start local 2 6: iload 2
ifle 16
7: aload 0
invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
lstore 3
start local 3 8: iload 2
newarray 11
astore 1
9: iconst_0
istore 5
start local 5 10: goto 15
11: StackMap locals: int long int
StackMap stack:
aload 1
iload 5
12: lload 3
iload 5
invokestatic sun.awt.X11.XAtom.getAtomSize:()I
imul
i2l
ladd
invokestatic sun.awt.X11.Native.getLong:(J)J
13: lastore
14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 2
if_icmplt 11
end local 5 end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 1
ifnull 17
aload 1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
newarray 11
StackMap locals:
StackMap stack: long[]
18: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 targetsGetter Lsun/awt/X11/WindowPropertyGetter;
1 19 1 formats [J
6 16 2 count I
8 16 3 atoms J
10 16 5 index I
MethodParameters:
Name Flags
targetsGetter
void getTargetsDelayed();
descriptor: ()V
flags: (0x0000)
Code:
stack=12, locals=4, args_size=1
start local 0 0: invokestatic sun.awt.X11.XToolkit.awtLock:()V
1: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 2: aload 0
getfield sun.awt.X11.XSelection.isSelectionNotifyProcessed:Z
ifne 3
lload 1
aload 0
getfield sun.awt.X11.XSelection.convertSelectionTime:J
getstatic sun.awt.X11.XSelection.SELECTION_TIMEOUT:J
ladd
lcmp
iflt 16
3: StackMap locals: long
StackMap stack:
aload 0
lload 1
putfield sun.awt.X11.XSelection.convertSelectionTime:J
4: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
5: aload 0
invokevirtual sun.awt.X11.XSelection.getSelectionAtom:()Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
6: getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
7: aload 0
getfield sun.awt.X11.XSelection.targetsPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
8: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
9: lconst_0
10: invokestatic sun.awt.X11.XlibWrapper.XConvertSelection:(JJJJJJ)V
11: aload 0
iconst_0
putfield sun.awt.X11.XSelection.isSelectionNotifyProcessed:Z
end local 1 12: goto 16
StackMap locals: sun.awt.X11.XSelection
StackMap stack: java.lang.Throwable
13: astore 3
14: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
15: aload 3
athrow
16: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/X11/XSelection;
2 12 1 curTime J
Exception table:
from to target type
1 13 13 any
public byte[] getData(long, long);
descriptor: (JJ)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=18, args_size=3
start local 0 start local 1 start local 3 0: invokestatic sun.awt.X11.XToolkit.isToolkitThread:()Z
ifeq 2
1: new java.lang.Error
dup
ldc "UNIMPLEMENTED"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 3: getstatic sun.awt.X11.XSelection.lock:Ljava/lang/Object;
dup
astore 6
monitorenter
4: invokestatic sun.awt.UNIXToolkit.getDatatransferTimeout:()I
i2l
putstatic sun.awt.X11.XSelection.SELECTION_TIMEOUT:J
5: new sun.awt.X11.WindowPropertyGetter
dup
invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
6: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
lconst_0
ldc 1000000
7: iconst_0
8: lconst_0
9: invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
10: astore 7
start local 7 11: invokestatic sun.awt.X11.XToolkit.awtLock:()V
12: aload 7
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
13: lload 3
putstatic sun.awt.X11.XSelection.lastRequestServerTime:J
14: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
15: aload 0
invokevirtual sun.awt.X11.XSelection.getSelectionAtom:()Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
16: lload 1
17: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
18: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
19: lload 3
20: invokestatic sun.awt.X11.XlibWrapper.XConvertSelection:(JJJJJJ)V
21: aload 7
invokestatic sun.awt.X11.XSelection.waitForSelectionNotify:(Lsun/awt/X11/WindowPropertyGetter;)V
22: goto 33
StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter
StackMap stack: java.lang.InterruptedException
23: pop
24: iconst_0
newarray 8
astore 9
25: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
26: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
27: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
28: aload 6
monitorexit
29: aload 9
areturn
30: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
31: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
32: aload 8
athrow
33: StackMap locals:
StackMap stack:
aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
34: goto 38
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 10
36: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
37: aload 10
athrow
38: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
39: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.isExecuted:()Z
ifne 41
40: new java.io.IOException
dup
ldc "Owner timed out"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
ifeq 43
42: new java.io.IOException
dup
ldc "Owner failed to convert data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
44: getstatic sun.awt.X11.XDataTransferer.INCR_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
45: lcmp
ifne 131
46: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
bipush 32
if_icmpeq 50
47: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported INCR format: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
istore 8
start local 8 51: iload 8
ifgt 53
52: new java.io.IOException
dup
ldc "INCR data is missed."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals: int
StackMap stack:
aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
lstore 9
start local 9 54: iconst_0
istore 11
start local 11 55: lload 9
iload 8
iconst_1
isub
invokestatic sun.awt.X11.Native.getLong:(JI)J
lstore 12
start local 12 56: lload 12
lconst_0
lcmp
ifgt 61
57: iconst_0
newarray 8
astore 17
58: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
59: aload 6
monitorexit
60: aload 17
areturn
61: StackMap locals: long int long
StackMap stack:
lload 12
ldc 2147483647
lcmp
ifle 65
62: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Can't handle large data block: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: lload 12
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
65: StackMap locals:
StackMap stack:
lload 12
l2i
istore 11
end local 12 66: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
67: new java.io.ByteArrayOutputStream
dup
iload 11
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 12
start local 12 68: StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter int long int java.io.ByteArrayOutputStream
StackMap stack:
new sun.awt.X11.WindowPropertyGetter
dup
invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
69: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
70: lconst_0
ldc 1000000
iconst_0
71: lconst_0
72: invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
73: astore 13
start local 13 74: invokestatic sun.awt.X11.XToolkit.awtLock:()V
75: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
76: getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
77: invokestatic sun.awt.X11.XToolkit.addEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
78: aload 13
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
79: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
80: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
81: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
82: invokestatic sun.awt.X11.XlibWrapper.XDeleteProperty:(JJJ)V
83: aload 13
invokestatic sun.awt.X11.XSelection.waitForSelectionNotify:(Lsun/awt/X11/WindowPropertyGetter;)V
84: goto 100
StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter int long int java.io.ByteArrayOutputStream sun.awt.X11.WindowPropertyGetter
StackMap stack: java.lang.InterruptedException
85: pop
86: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
87: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
88: getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
89: invokestatic sun.awt.X11.XToolkit.removeEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
90: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
91: aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
92: goto 158
93: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
94: aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
95: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
96: getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
97: invokestatic sun.awt.X11.XToolkit.removeEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
98: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
99: aload 14
athrow
100: StackMap locals:
StackMap stack:
aconst_null
putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
101: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
102: getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
103: invokestatic sun.awt.X11.XToolkit.removeEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
104: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
105: aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.isExecuted:()Z
ifne 107
106: new java.io.IOException
dup
ldc "Owner timed out"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
107: StackMap locals:
StackMap stack:
aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
ifeq 109
108: new java.io.IOException
dup
ldc "Owner failed to convert data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
109: StackMap locals:
StackMap stack:
aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
bipush 8
if_icmpeq 113
110: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported data format: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
111: aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
112: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
113: StackMap locals:
StackMap stack:
aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
istore 8
114: iload 8
ifne 117
115: aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
116: goto 158
117: StackMap locals:
StackMap stack:
iload 8
ifle 124
118: aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
lstore 9
119: iconst_0
istore 14
start local 14 120: goto 123
121: StackMap locals: int
StackMap stack:
aload 12
lload 9
iload 14
i2l
ladd
invokestatic sun.awt.X11.Native.getByte:(J)B
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
122: iinc 14 1
StackMap locals:
StackMap stack:
123: iload 14
iload 8
if_icmplt 121
end local 14 124: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 5
125: goto 129
StackMap locals:
StackMap stack: java.lang.Throwable
126: astore 15
127: aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
128: aload 15
athrow
129: StackMap locals:
StackMap stack:
aload 13
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
end local 13 130: goto 68
end local 12 end local 11 end local 9 end local 8 131: StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtLock:()V
132: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
133: invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
134: getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
135: invokestatic sun.awt.X11.XlibWrapper.XDeleteProperty:(JJJ)V
136: goto 140
StackMap locals:
StackMap stack: java.lang.Throwable
137: astore 8
138: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
139: aload 8
athrow
140: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
141: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
bipush 8
if_icmpeq 145
142: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported data format: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
143: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
144: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
145: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
istore 8
start local 8 146: iload 8
ifle 158
147: iload 8
newarray 8
astore 5
148: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
lstore 9
start local 9 149: iconst_0
istore 11
start local 11 150: goto 153
151: StackMap locals: int long int
StackMap stack:
aload 5
iload 11
lload 9
iload 11
i2l
ladd
invokestatic sun.awt.X11.Native.getByte:(J)B
bastore
152: iinc 11 1
StackMap locals:
StackMap stack:
153: iload 11
iload 8
if_icmplt 151
end local 11 end local 9 end local 8 154: goto 158
StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter
StackMap stack: java.lang.Throwable
155: astore 16
156: aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
157: aload 16
athrow
158: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
end local 7 159: aload 6
monitorexit
160: goto 163
StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object
StackMap stack: java.lang.Throwable
161: aload 6
monitorexit
162: athrow
163: StackMap locals:
StackMap stack:
aload 5
ifnull 164
aload 5
goto 165
StackMap locals:
StackMap stack:
164: iconst_0
newarray 8
StackMap locals:
StackMap stack: byte[]
165: areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 166 0 this Lsun/awt/X11/XSelection;
0 166 1 format J
0 166 3 time J
3 166 5 data [B
11 159 7 dataGetter Lsun/awt/X11/WindowPropertyGetter;
51 131 8 count I
54 131 9 ptr J
55 131 11 len I
56 66 12 longLength J
68 131 12 dataStream Ljava/io/ByteArrayOutputStream;
74 130 13 incrDataGetter Lsun/awt/X11/WindowPropertyGetter;
120 124 14 index I
146 154 8 count I
149 154 9 ptr J
150 154 11 index I
Exception table:
from to target type
21 22 23 Class java.lang.InterruptedException
21 25 30 any
12 26 35 any
30 35 35 any
79 84 85 Class java.lang.InterruptedException
79 86 93 any
74 91 126 any
93 115 126 any
117 126 126 any
132 137 137 any
11 27 155 any
30 58 155 any
61 155 155 any
4 29 161 any
30 60 161 any
61 160 161 any
161 162 161 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
format
time
boolean isOwner();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.X11.XSelection.isOwner:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XSelection;
public void lostOwnership();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.awt.X11.XSelection.isOwner:Z
1: aload 0
getfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
ifnull 3
2: aload 0
getfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
invokevirtual sun.awt.X11.XClipboard.run:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/X11/XSelection;
public synchronized void reset();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
1: aload 0
aconst_null
putfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
2: aload 0
aconst_null
putfield sun.awt.X11.XSelection.formats:[J
3: aload 0
aconst_null
putfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
4: aload 0
lconst_0
putfield sun.awt.X11.XSelection.ownershipTime:J
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/X11/XSelection;
private boolean convertAndStore(long, long, long);
descriptor: (JJJ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=14, args_size=4
start local 0 start local 1 start local 3 start local 5 0: bipush 8
istore 7
start local 7 1: aconst_null
astore 8
start local 8 2: lconst_0
lstore 9
start local 9 3: iconst_0
istore 11
start local 11 4: aload 0
aload 0
getfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
invokestatic sun.awt.SunToolkit.insertTargetMapping:(Ljava/lang/Object;Lsun/awt/AppContext;)V
5: invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
aload 0
6: aload 0
getfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
7: lload 3
8: aload 0
getfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
9: invokestatic sun.awt.X11.XToolkit.isToolkitThread:()Z
10: invokevirtual sun.awt.datatransfer.DataTransferer.convertData:(Ljava/lang/Object;Ljava/awt/datatransfer/Transferable;JLjava/util/Map;Z)[B
astore 8
11: goto 14
StackMap locals: sun.awt.X11.XSelection long long long int byte[] long int
StackMap stack: java.io.IOException
12: pop
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 8
ifnonnull 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 8
arraylength
istore 11
17: iload 11
ifle 30
18: iload 11
getstatic sun.awt.X11.XSelection.MAX_PROPERTY_SIZE:I
if_icmpgt 21
19: aload 8
invokestatic sun.awt.X11.Native.toData:([B)J
lstore 9
20: goto 30
21: StackMap locals:
StackMap stack:
new sun.awt.X11.XSelection$IncrementalDataProvider
lload 1
lload 5
lload 3
bipush 8
22: aload 8
23: invokespecial sun.awt.X11.XSelection$IncrementalDataProvider.<init>:(JJJI[B)V
24: getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
invokestatic sun.awt.X11.XAtom.getAtomSize:()I
i2l
invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
25: lstore 9
26: lload 9
iload 11
i2l
invokestatic sun.awt.X11.Native.putLong:(JJ)V
27: getstatic sun.awt.X11.XDataTransferer.INCR_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
lstore 3
28: bipush 32
istore 7
29: iconst_1
istore 11
30: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtLock:()V
31: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
lload 1
lload 5
32: lload 3
iload 7
33: iconst_0
34: lload 9
iload 11
35: invokestatic sun.awt.X11.XlibWrapper.XChangeProperty:(JJJJIIJI)V
36: goto 40
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 12
38: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
39: aload 12
athrow
40: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
41: goto 47
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 13
43: lload 9
lconst_0
lcmp
ifeq 46
44: getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
lload 9
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
45: lconst_0
lstore 9
46: StackMap locals: sun.awt.X11.XSelection long long long int byte[] long int top java.lang.Throwable
StackMap stack:
aload 13
athrow
47: StackMap locals: sun.awt.X11.XSelection long long long int byte[] long int
StackMap stack:
lload 9
lconst_0
lcmp
ifeq 50
48: getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
lload 9
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
49: lconst_0
lstore 9
50: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 11 end local 9 end local 8 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/awt/X11/XSelection;
0 51 1 requestor J
0 51 3 format J
0 51 5 property J
1 51 7 dataFormat I
2 51 8 byteData [B
3 51 9 nativeDataPtr J
4 51 11 count I
Exception table:
from to target type
4 11 12 Class java.io.IOException
31 37 37 any
17 42 42 any
MethodParameters:
Name Flags
requestor
format
property
private void handleSelectionRequest(sun.awt.X11.XSelectionRequestEvent);
descriptor: (Lsun/awt/X11/XSelectionRequestEvent;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=24, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.awt.X11.XSelectionRequestEvent.get_property:()J
lstore 2
start local 2 1: aload 1
invokevirtual sun.awt.X11.XSelectionRequestEvent.get_requestor:()J
lstore 4
start local 4 2: aload 1
invokevirtual sun.awt.X11.XSelectionRequestEvent.get_time:()J
lstore 6
start local 6 3: aload 1
invokevirtual sun.awt.X11.XSelectionRequestEvent.get_target:()J
lstore 8
start local 8 4: iconst_0
istore 10
start local 10 5: iconst_0
istore 11
start local 11 6: aload 0
getfield sun.awt.X11.XSelection.ownershipTime:J
lconst_0
lcmp
ifeq 92
7: lload 6
lconst_0
lcmp
ifeq 9
8: lload 6
aload 0
getfield sun.awt.X11.XSelection.ownershipTime:J
lcmp
iflt 92
9: StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int
StackMap stack:
aload 1
invokevirtual sun.awt.X11.XSelectionRequestEvent.get_property:()J
lstore 2
10: lload 8
getstatic sun.awt.X11.XDataTransferer.MULTIPLE_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
lcmp
ifne 54
11: lload 2
lconst_0
lcmp
ifeq 92
12: new sun.awt.X11.WindowPropertyGetter
dup
lload 4
lload 2
invokestatic sun.awt.X11.XAtom.get:(J)Lsun/awt/X11/XAtom;
lconst_0
13: ldc 1000000
iconst_0
14: lconst_0
15: invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
16: astore 12
start local 12 17: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.execute:()I
pop
18: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
bipush 32
if_icmpne 52
19: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
iconst_2
irem
ifne 52
20: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
iconst_2
idiv
i2l
lstore 13
start local 13 21: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
lstore 15
start local 15 22: iconst_0
istore 17
start local 17 23: iconst_0
istore 18
start local 18 24: goto 31
25: StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int sun.awt.X11.WindowPropertyGetter long long int int
StackMap stack:
lload 15
iconst_2
iload 18
imul
invokestatic sun.awt.X11.Native.getLong:(JI)J
lstore 19
start local 19 26: lload 15
iconst_2
iload 18
imul
iconst_1
iadd
invokestatic sun.awt.X11.Native.getLong:(JI)J
lstore 21
start local 21 27: aload 0
lload 4
lload 19
lload 21
invokevirtual sun.awt.X11.XSelection.convertAndStore:(JJJ)Z
ifne 30
28: lload 15
iconst_2
iload 18
imul
lconst_0
invokestatic sun.awt.X11.Native.putLong:(JIJ)V
29: iconst_1
istore 17
end local 21 end local 19 30: StackMap locals:
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
31: iload 18
i2l
lload 13
lcmp
iflt 25
end local 18 32: iload 17
ifeq 47
33: invokestatic sun.awt.X11.XToolkit.awtLock:()V
34: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
lload 4
35: lload 2
36: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
37: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
38: iconst_0
39: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
40: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
41: invokestatic sun.awt.X11.XlibWrapper.XChangeProperty:(JJJJIIJI)V
42: goto 46
StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int sun.awt.X11.WindowPropertyGetter long long int
StackMap stack: java.lang.Throwable
43: astore 18
44: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
45: aload 18
athrow
46: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
47: StackMap locals:
StackMap stack:
iconst_1
istore 11
end local 17 end local 15 end local 13 48: goto 52
StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int sun.awt.X11.WindowPropertyGetter
StackMap stack: java.lang.Throwable
49: astore 23
50: aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
51: aload 23
athrow
52: StackMap locals:
StackMap stack:
aload 12
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
end local 12 53: goto 92
54: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 56
55: lload 8
lstore 2
56: StackMap locals:
StackMap stack:
lload 8
getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
lcmp
ifne 89
57: lconst_0
lstore 12
start local 12 58: iconst_0
istore 14
start local 14 59: bipush 32
istore 10
60: aload 0
getfield sun.awt.X11.XSelection.formats:[J
astore 15
start local 15 61: aload 15
ifnonnull 63
62: new java.lang.IllegalStateException
dup
ldc "Not an owner."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
63: StackMap locals: long int long[]
StackMap stack:
aload 15
arraylength
istore 14
64: iload 14
ifle 67
65: iload 14
invokestatic sun.awt.X11.Native.allocateLongArray:(I)J
lstore 12
66: lload 12
aload 15
invokestatic sun.awt.X11.Native.put:(J[J)V
67: StackMap locals:
StackMap stack:
iconst_1
istore 11
68: invokestatic sun.awt.X11.XToolkit.awtLock:()V
69: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
lload 4
70: lload 2
lload 8
iload 10
71: iconst_0
72: lload 12
iload 14
73: invokestatic sun.awt.X11.XlibWrapper.XChangeProperty:(JJJJIIJI)V
74: goto 78
StackMap locals:
StackMap stack: java.lang.Throwable
75: astore 16
76: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
77: aload 16
athrow
78: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
79: goto 85
StackMap locals:
StackMap stack: java.lang.Throwable
80: astore 17
81: lload 12
lconst_0
lcmp
ifeq 84
82: getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
lload 12
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
83: lconst_0
lstore 12
84: StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int long int long[] top java.lang.Throwable
StackMap stack:
aload 17
athrow
85: StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int long int long[]
StackMap stack:
lload 12
lconst_0
lcmp
ifeq 92
86: getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
lload 12
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
87: lconst_0
lstore 12
end local 15 end local 14 end local 12 88: goto 92
89: StackMap locals:
StackMap stack:
aload 0
lload 4
lload 8
90: lload 2
91: invokevirtual sun.awt.X11.XSelection.convertAndStore:(JJJ)Z
istore 11
92: StackMap locals:
StackMap stack:
iload 11
ifne 94
93: lconst_0
lstore 2
94: StackMap locals:
StackMap stack:
new sun.awt.X11.XSelectionEvent
dup
invokespecial sun.awt.X11.XSelectionEvent.<init>:()V
astore 12
start local 12 95: aload 12
bipush 31
invokevirtual sun.awt.X11.XSelectionEvent.set_type:(I)V
96: aload 12
iconst_1
invokevirtual sun.awt.X11.XSelectionEvent.set_send_event:(Z)V
97: aload 12
lload 4
invokevirtual sun.awt.X11.XSelectionEvent.set_requestor:(J)V
98: aload 12
aload 0
getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
invokevirtual sun.awt.X11.XSelectionEvent.set_selection:(J)V
99: aload 12
lload 8
invokevirtual sun.awt.X11.XSelectionEvent.set_target:(J)V
100: aload 12
lload 2
invokevirtual sun.awt.X11.XSelectionEvent.set_property:(J)V
101: aload 12
lload 6
invokevirtual sun.awt.X11.XSelectionEvent.set_time:(J)V
102: invokestatic sun.awt.X11.XToolkit.awtLock:()V
103: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
lload 4
iconst_0
104: lconst_0
aload 12
getfield sun.awt.X11.XSelectionEvent.pData:J
105: invokestatic sun.awt.X11.XlibWrapper.XSendEvent:(JJZJJ)I
pop
106: goto 110
StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int int sun.awt.X11.XSelectionEvent
StackMap stack: java.lang.Throwable
107: astore 13
108: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
109: aload 13
athrow
110: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
111: goto 115
StackMap locals:
StackMap stack: java.lang.Throwable
112: astore 14
113: aload 12
invokevirtual sun.awt.X11.XSelectionEvent.dispose:()V
114: aload 14
athrow
115: StackMap locals:
StackMap stack:
aload 12
invokevirtual sun.awt.X11.XSelectionEvent.dispose:()V
116: return
end local 12 end local 11 end local 10 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 117 0 this Lsun/awt/X11/XSelection;
0 117 1 xsre Lsun/awt/X11/XSelectionRequestEvent;
1 117 2 property J
2 117 4 requestor J
3 117 6 requestTime J
4 117 8 format J
5 117 10 dataFormat I
6 117 11 conversionSucceeded Z
17 53 12 wpg Lsun/awt/X11/WindowPropertyGetter;
21 48 13 count J
22 48 15 pairsPtr J
23 48 17 writeBack Z
24 32 18 i I
26 30 19 target J
27 30 21 prop J
58 88 12 nativeDataPtr J
59 88 14 count I
61 88 15 formatsLocal [J
95 117 12 xse Lsun/awt/X11/XSelectionEvent;
Exception table:
from to target type
34 43 43 any
17 49 49 any
69 75 75 any
64 80 80 any
103 107 107 any
95 112 112 any
MethodParameters:
Name Flags
xsre
private static void checkChange(sun.awt.X11.XSelectionEvent);
descriptor: (Lsun/awt/X11/XSelectionEvent;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=6, args_size=1
start local 0 0: getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
ifnull 1
getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.X11.XSelectionEvent.get_property:()J
lstore 1
start local 1 3: aconst_null
astore 3
start local 3 4: lload 1
lconst_0
lcmp
ifne 7
5: iconst_0
newarray 11
astore 3
6: goto 21
StackMap locals: long long[]
StackMap stack:
7: getstatic sun.awt.X11.XSelection.targetsPropertyAtoms:Ljava/util/Set;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 9
8: return
9: StackMap locals:
StackMap stack:
new sun.awt.X11.WindowPropertyGetter
dup
invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
10: lload 1
invokestatic sun.awt.X11.XAtom.get:(J)Lsun/awt/X11/XAtom;
lconst_0
ldc 1000000
11: iconst_1
lconst_0
12: invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
13: astore 4
start local 4 14: aload 4
invokevirtual sun.awt.X11.WindowPropertyGetter.execute:()I
pop
15: aload 4
invokestatic sun.awt.X11.XSelection.getFormats:(Lsun/awt/X11/WindowPropertyGetter;)[J
astore 3
16: goto 20
StackMap locals: sun.awt.X11.XSelectionEvent long long[] sun.awt.X11.WindowPropertyGetter
StackMap stack: java.lang.Throwable
17: astore 5
18: aload 4
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
19: aload 5
athrow
20: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
end local 4 21: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.X11.XSelectionEvent.get_selection:()J
invokestatic sun.awt.X11.XAtom.get:(J)Lsun/awt/X11/XAtom;
astore 4
start local 4 22: aload 4
invokestatic sun.awt.X11.XSelection.getSelection:(Lsun/awt/X11/XAtom;)Lsun/awt/X11/XSelection;
astore 5
start local 5 23: aload 5
ifnull 27
24: aload 5
iconst_1
putfield sun.awt.X11.XSelection.isSelectionNotifyProcessed:Z
25: aload 5
getfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
ifnull 27
26: aload 5
getfield sun.awt.X11.XSelection.clipboard:Lsun/awt/X11/XClipboard;
aload 3
invokevirtual sun.awt.X11.XClipboard.checkChange:([J)V
27: StackMap locals: sun.awt.X11.XAtom sun.awt.X11.XSelection
StackMap stack:
return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 xse Lsun/awt/X11/XSelectionEvent;
3 28 1 propertyAtom J
4 28 3 formats [J
14 21 4 targetsGetter Lsun/awt/X11/WindowPropertyGetter;
22 28 4 selectionAtom Lsun/awt/X11/XAtom;
23 28 5 selection Lsun/awt/X11/XSelection;
Exception table:
from to target type
14 17 17 any
MethodParameters:
Name Flags
xse
}
SourceFile: "XSelection.java"
NestMembers:
sun.awt.X11.XSelection$IncrementalDataProvider sun.awt.X11.XSelection$IncrementalTransferHandler sun.awt.X11.XSelection$SelectionEventHandler
InnerClasses:
private IncrementalDataProvider = sun.awt.X11.XSelection$IncrementalDataProvider of sun.awt.X11.XSelection
private IncrementalTransferHandler = sun.awt.X11.XSelection$IncrementalTransferHandler of sun.awt.X11.XSelection
private SelectionEventHandler = sun.awt.X11.XSelection$SelectionEventHandler of sun.awt.X11.XSelection