public final class sun.awt.X11.XGlobalCursorManager extends sun.awt.GlobalCursorManager
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.awt.X11.XGlobalCursorManager
super_class: sun.awt.GlobalCursorManager
{
private java.lang.ref.WeakReference<java.awt.Component> nativeContainer;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/WeakReference<Ljava/awt/Component;>;
private static sun.awt.X11.XGlobalCursorManager manager;
descriptor: Lsun/awt/X11/XGlobalCursorManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.awt.GlobalCursorManager.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XGlobalCursorManager;
static sun.awt.GlobalCursorManager getCursorManager();
descriptor: ()Lsun/awt/GlobalCursorManager;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.awt.X11.XGlobalCursorManager.manager:Lsun/awt/X11/XGlobalCursorManager;
ifnonnull 2
1: new sun.awt.X11.XGlobalCursorManager
dup
invokespecial sun.awt.X11.XGlobalCursorManager.<init>:()V
putstatic sun.awt.X11.XGlobalCursorManager.manager:Lsun/awt/X11/XGlobalCursorManager;
2: StackMap locals:
StackMap stack:
getstatic sun.awt.X11.XGlobalCursorManager.manager:Lsun/awt/X11/XGlobalCursorManager;
areturn
LocalVariableTable:
Start End Slot Name Signature
static void nativeUpdateCursor(java.awt.Component);
descriptor: (Ljava/awt/Component;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic sun.awt.X11.XGlobalCursorManager.getCursorManager:()Lsun/awt/GlobalCursorManager;
aload 0
invokevirtual sun.awt.GlobalCursorManager.updateCursorLater:(Ljava/awt/Component;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 heavy Ljava/awt/Component;
MethodParameters:
Name Flags
heavy
protected void setCursor(java.awt.Component, java.awt.Cursor, boolean);
descriptor: (Ljava/awt/Component;Ljava/awt/Cursor;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iload 3
ifeq 3
aload 2
goto 4
StackMap locals:
StackMap stack:
3: aload 0
aload 1
invokevirtual sun.awt.X11.XGlobalCursorManager.getCapableCursor:(Ljava/awt/Component;)Ljava/awt/Cursor;
StackMap locals:
StackMap stack: java.awt.Cursor
4: astore 4
start local 4 5: aconst_null
astore 5
start local 5 6: iload 3
ifeq 13
7: aload 0
dup
astore 6
monitorenter
8: aload 0
getfield sun.awt.X11.XGlobalCursorManager.nativeContainer:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.awt.Component
astore 5
9: aload 6
monitorexit
10: goto 14
StackMap locals: sun.awt.X11.XGlobalCursorManager java.awt.Component java.awt.Cursor int java.awt.Cursor java.awt.Component sun.awt.X11.XGlobalCursorManager
StackMap stack: java.lang.Throwable
11: aload 6
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.awt.SunToolkit.getHeavyweightComponent:(Ljava/awt/Component;)Ljava/awt/Component;
astore 5
14: StackMap locals:
StackMap stack:
aload 5
ifnull 25
15: invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
aload 5
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
astore 6
start local 6 16: aload 6
instanceof sun.awt.X11.XComponentPeer
ifeq 25
17: aload 0
dup
astore 7
monitorenter
18: aload 0
new java.lang.ref.WeakReference
dup
aload 5
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.awt.X11.XGlobalCursorManager.nativeContainer:Ljava/lang/ref/WeakReference;
19: aload 7
monitorexit
20: goto 23
StackMap locals: sun.awt.X11.XGlobalCursorManager java.awt.Component java.awt.Cursor int java.awt.Cursor java.awt.Component java.awt.peer.ComponentPeer sun.awt.X11.XGlobalCursorManager
StackMap stack: java.lang.Throwable
21: aload 7
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
aload 6
checkcast sun.awt.X11.XComponentPeer
aload 4
iconst_0
invokevirtual sun.awt.X11.XComponentPeer.pSetCursor:(Ljava/awt/Cursor;Z)V
24: aload 4
invokestatic sun.awt.X11.XGlobalCursorManager.updateGrabbedCursor:(Ljava/awt/Cursor;)V
end local 6 25: StackMap locals:
StackMap stack:
return
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 26 0 this Lsun/awt/X11/XGlobalCursorManager;
0 26 1 comp Ljava/awt/Component;
0 26 2 cursor Ljava/awt/Cursor;
0 26 3 useCache Z
5 26 4 cur Ljava/awt/Cursor;
6 26 5 nc Ljava/awt/Component;
16 25 6 nc_peer Ljava/awt/peer/ComponentPeer;
Exception table:
from to target type
8 10 11 any
11 12 11 any
18 20 21 any
21 22 21 any
MethodParameters:
Name Flags
comp
cursor
useCache
private static void updateGrabbedCursor(java.awt.Cursor);
descriptor: (Ljava/awt/Cursor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic sun.awt.X11.XAwtState.getGrabWindow:()Lsun/awt/X11/XBaseWindow;
astore 1
start local 1 1: aload 1
instanceof sun.awt.X11.XWindowPeer
ifeq 4
2: aload 1
checkcast sun.awt.X11.XWindowPeer
astore 2
start local 2 3: aload 2
aload 0
invokevirtual sun.awt.X11.XWindowPeer.pSetCursor:(Ljava/awt/Cursor;)V
end local 2 4: StackMap locals: sun.awt.X11.XBaseWindow
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cur Ljava/awt/Cursor;
1 5 1 target Lsun/awt/X11/XBaseWindow;
3 4 2 grabber Lsun/awt/X11/XWindowPeer;
MethodParameters:
Name Flags
cur
protected void updateCursorOutOfJava();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
invokestatic java.awt.Cursor.getPredefinedCursor:(I)Ljava/awt/Cursor;
invokestatic sun.awt.X11.XGlobalCursorManager.updateGrabbedCursor:(Ljava/awt/Cursor;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/X11/XGlobalCursorManager;
protected void getCursorPos(java.awt.Point);
descriptor: (Ljava/awt/Point;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=18, locals=7, args_size=2
start local 0 start local 1 0: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
checkcast sun.awt.X11.XToolkit
aload 1
invokevirtual sun.awt.X11.XToolkit.getLastCursorPos:(Ljava/awt/Point;)Z
ifne 22
1: invokestatic sun.awt.X11.XToolkit.awtLock:()V
2: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
lstore 2
start local 2 3: lload 2
4: lload 2
invokestatic sun.awt.X11.XlibWrapper.DefaultScreen:(J)J
5: invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
lstore 4
start local 4 6: lload 2
lload 4
7: getstatic sun.awt.X11.XlibWrapper.larg1:J
8: getstatic sun.awt.X11.XlibWrapper.larg2:J
9: getstatic sun.awt.X11.XlibWrapper.larg3:J
10: getstatic sun.awt.X11.XlibWrapper.larg4:J
11: getstatic sun.awt.X11.XlibWrapper.larg5:J
12: getstatic sun.awt.X11.XlibWrapper.larg6:J
13: getstatic sun.awt.X11.XlibWrapper.larg7:J
14: invokestatic sun.awt.X11.XlibWrapper.XQueryPointer:(JJJJJJJJJ)Z
pop
15: aload 1
getstatic sun.awt.X11.XlibWrapper.unsafe:Ljdk/internal/misc/Unsafe;
getstatic sun.awt.X11.XlibWrapper.larg3:J
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
putfield java.awt.Point.x:I
16: aload 1
getstatic sun.awt.X11.XlibWrapper.unsafe:Ljdk/internal/misc/Unsafe;
getstatic sun.awt.X11.XlibWrapper.larg4:J
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
putfield java.awt.Point.y:I
end local 4 end local 2 17: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 6
19: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
20: aload 6
athrow
21: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/awt/X11/XGlobalCursorManager;
0 23 1 p Ljava/awt/Point;
3 17 2 display J
6 17 4 root_window J
Exception table:
from to target type
2 18 18 any
MethodParameters:
Name Flags
p
protected java.awt.Component findHeavyweightUnderCursor();
descriptor: ()Ljava/awt/Component;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic sun.awt.X11.XAwtState.getComponentMouseEntered:()Ljava/awt/Component;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XGlobalCursorManager;
protected java.awt.Point getLocationOnScreen(java.awt.Component);
descriptor: (Ljava/awt/Component;)Ljava/awt/Point;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.Component.getLocationOnScreen:()Ljava/awt/Point;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XGlobalCursorManager;
0 1 1 c Ljava/awt/Component;
MethodParameters:
Name Flags
c
protected java.awt.Component findHeavyweightUnderCursor(boolean);
descriptor: (Z)Ljava/awt/Component;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.X11.XGlobalCursorManager.findHeavyweightUnderCursor:()Ljava/awt/Component;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XGlobalCursorManager;
0 1 1 useCache Z
MethodParameters:
Name Flags
useCache
private java.awt.Cursor getCapableCursor(java.awt.Component);
descriptor: (Ljava/awt/Component;)Ljava/awt/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
astore 2
start local 2 1: aload 1
astore 3
start local 3 2: goto 4
3: StackMap locals: sun.awt.AWTAccessor$ComponentAccessor java.awt.Component
StackMap stack:
aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getParent:(Ljava/awt/Component;)Ljava/awt/Container;
astore 3
4: StackMap locals:
StackMap stack:
aload 3
ifnull 8
aload 3
instanceof java.awt.Window
ifne 8
5: aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isEnabled:(Ljava/awt/Component;)Z
ifeq 8
6: aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isVisible:(Ljava/awt/Component;)Z
ifeq 8
7: aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isDisplayable:(Ljava/awt/Component;)Z
ifne 3
8: StackMap locals:
StackMap stack:
aload 3
instanceof java.awt.Window
ifeq 16
9: aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isEnabled:(Ljava/awt/Component;)Z
ifeq 14
10: aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isVisible:(Ljava/awt/Component;)Z
ifeq 14
11: aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isDisplayable:(Ljava/awt/Component;)Z
ifeq 14
12: aload 2
aload 1
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.isEnabled:(Ljava/awt/Component;)Z
ifeq 14
13: aload 2
aload 1
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getCursor:(Ljava/awt/Component;)Ljava/awt/Cursor;
goto 15
14: StackMap locals:
StackMap stack:
iconst_0
invokestatic java.awt.Cursor.getPredefinedCursor:(I)Ljava/awt/Cursor;
15: StackMap locals:
StackMap stack: java.awt.Cursor
areturn
16: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
17: aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getParent:(Ljava/awt/Component;)Ljava/awt/Container;
invokevirtual sun.awt.X11.XGlobalCursorManager.getCapableCursor:(Ljava/awt/Component;)Ljava/awt/Cursor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/awt/X11/XGlobalCursorManager;
0 19 1 comp Ljava/awt/Component;
1 19 2 compAccessor Lsun/awt/AWTAccessor$ComponentAccessor;
2 19 3 c Ljava/awt/Component;
MethodParameters:
Name Flags
comp
static long getCursor(java.awt.Cursor);
descriptor: (Ljava/awt/Cursor;)J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: iconst_0
istore 3
start local 3 2: invokestatic sun.awt.AWTAccessor.getCursorAccessor:()Lsun/awt/AWTAccessor$CursorAccessor;
aload 0
invokeinterface sun.awt.AWTAccessor$CursorAccessor.getPData:(Ljava/awt/Cursor;)J
lstore 1
3: invokestatic sun.awt.AWTAccessor.getCursorAccessor:()Lsun/awt/AWTAccessor$CursorAccessor;
aload 0
invokeinterface sun.awt.AWTAccessor$CursorAccessor.getType:(Ljava/awt/Cursor;)I
istore 3
4: goto 7
5: StackMap locals: java.awt.Cursor long int
StackMap stack: java.lang.Exception
astore 4
start local 4 6: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
end local 4 7: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifeq 8
lload 1
lreturn
8: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 9: iload 3
tableswitch { // 0 - 13
0: 10
1: 12
2: 14
3: 16
4: 18
5: 22
6: 20
7: 24
8: 28
9: 26
10: 30
11: 32
12: 34
13: 36
default: 37
}
10: StackMap locals: int
StackMap stack:
bipush 68
istore 4
11: goto 37
12: StackMap locals:
StackMap stack:
bipush 34
istore 4
13: goto 37
14: StackMap locals:
StackMap stack:
sipush 152
istore 4
15: goto 37
16: StackMap locals:
StackMap stack:
sipush 150
istore 4
17: goto 37
18: StackMap locals:
StackMap stack:
bipush 12
istore 4
19: goto 37
20: StackMap locals:
StackMap stack:
sipush 134
istore 4
21: goto 37
22: StackMap locals:
StackMap stack:
bipush 14
istore 4
23: goto 37
24: StackMap locals:
StackMap stack:
sipush 136
istore 4
25: goto 37
26: StackMap locals:
StackMap stack:
bipush 16
istore 4
27: goto 37
28: StackMap locals:
StackMap stack:
sipush 138
istore 4
29: goto 37
30: StackMap locals:
StackMap stack:
bipush 70
istore 4
31: goto 37
32: StackMap locals:
StackMap stack:
bipush 96
istore 4
33: goto 37
34: StackMap locals:
StackMap stack:
bipush 60
istore 4
35: goto 37
36: StackMap locals:
StackMap stack:
bipush 52
istore 4
37: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtLock:()V
38: invokestatic sun.awt.X11.XToolkit.getDisplay:()J
iload 4
invokestatic sun.awt.X11.XlibWrapper.XCreateFontCursor:(JI)I
i2l
lstore 1
39: goto 43
40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
41: invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
42: aload 5
athrow
43: StackMap locals:
StackMap stack:
invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
44: aload 0
lload 1
invokestatic sun.awt.X11.XGlobalCursorManager.setPData:(Ljava/awt/Cursor;J)V
45: lload 1
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 c Ljava/awt/Cursor;
1 46 1 pData J
2 46 3 type I
6 7 4 e Ljava/lang/Exception;
9 46 4 cursorType I
Exception table:
from to target type
2 4 5 Class java.lang.Exception
38 40 40 any
MethodParameters:
Name Flags
c
static void setPData(java.awt.Cursor, long);
descriptor: (Ljava/awt/Cursor;J)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: invokestatic sun.awt.AWTAccessor.getCursorAccessor:()Lsun/awt/AWTAccessor$CursorAccessor;
aload 0
lload 1
invokeinterface sun.awt.AWTAccessor$CursorAccessor.setPData:(Ljava/awt/Cursor;J)V
1: goto 4
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 3: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 c Ljava/awt/Cursor;
0 5 1 pData J
3 4 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
c
pData
}
SourceFile: "XGlobalCursorManager.java"
InnerClasses:
public abstract ComponentAccessor = sun.awt.AWTAccessor$ComponentAccessor of sun.awt.AWTAccessor
public abstract CursorAccessor = sun.awt.AWTAccessor$CursorAccessor of sun.awt.AWTAccessor