final class sun.awt.windows.WTrayIconPeer extends sun.awt.windows.WObjectPeer implements java.awt.peer.TrayIconPeer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.awt.windows.WTrayIconPeer
super_class: sun.awt.windows.WObjectPeer
{
static final int TRAY_ICON_WIDTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int TRAY_ICON_HEIGHT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int TRAY_ICON_MASK_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
sun.awt.windows.WTrayIconPeer$IconObserver observer;
descriptor: Lsun/awt/windows/WTrayIconPeer$IconObserver;
flags: (0x0000)
boolean firstUpdate;
descriptor: Z
flags: (0x0000)
java.awt.Frame ;
descriptor: Ljava/awt/Frame;
flags: (0x0000)
java.awt.PopupMenu ;
descriptor: Ljava/awt/PopupMenu;
flags: (0x0000)
protected void disposeImpl();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
ifnull 2
1: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
invokevirtual java.awt.Frame.dispose:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
invokevirtual java.awt.Frame.dispose:()V
3: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer._dispose:()V
4: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
aload 0
invokestatic sun.awt.windows.WToolkit.targetDisposedPeer:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/windows/WTrayIconPeer;
void <init>(java.awt.TrayIcon);
descriptor: (Ljava/awt/TrayIcon;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.awt.windows.WObjectPeer.<init>:()V
1: aload 0
new sun.awt.windows.WTrayIconPeer$IconObserver
dup
aload 0
invokespecial sun.awt.windows.WTrayIconPeer$IconObserver.<init>:(Lsun/awt/windows/WTrayIconPeer;)V
putfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
2: aload 0
iconst_1
putfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
3: aload 0
new java.awt.Frame
dup
ldc "PopupMessageWindow"
invokespecial java.awt.Frame.<init>:(Ljava/lang/String;)V
putfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
4: aload 0
aload 1
putfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
5: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
invokevirtual java.awt.Frame.addNotify:()V
6: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.create:()V
7: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.updateImage:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/awt/windows/WTrayIconPeer;
0 9 1 target Ljava/awt/TrayIcon;
MethodParameters:
Name Flags
target
public void updateImage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
checkcast java.awt.TrayIcon
invokevirtual java.awt.TrayIcon.getImage:()Ljava/awt/Image;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
aload 1
invokevirtual sun.awt.windows.WTrayIconPeer.updateNativeImage:(Ljava/awt/Image;)V
3: StackMap locals: java.awt.Image
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WTrayIconPeer;
1 4 1 image Ljava/awt/Image;
public native void setToolTip(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
tooltip
public synchronized void (int, int);
descriptor: (II)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.isDisposed:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
aload 0
iload 1
iload 2
invokedynamic run(Lsun/awt/windows/WTrayIconPeer;II)Ljava/lang/Runnable;
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:
()V
sun/awt/windows/WTrayIconPeer.lambda$0(II)V (7)
()V
invokestatic sun.awt.SunToolkit.executeOnEventHandlerThread:(Ljava/lang/Object;Ljava/lang/Runnable;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WTrayIconPeer;
0 4 1 x I
0 4 2 y I
MethodParameters:
Name Flags
x final
y final
public void displayMessage(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc ""
astore 1
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: ldc ""
astore 2
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual sun.awt.windows.WTrayIconPeer._displayMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/windows/WTrayIconPeer;
0 6 1 caption Ljava/lang/String;
0 6 2 text Ljava/lang/String;
0 6 3 messageType Ljava/lang/String;
MethodParameters:
Name Flags
caption
text
messageType
synchronized void updateNativeImage(java.awt.Image);
descriptor: (Ljava/awt/Image;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.isDisposed:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
checkcast java.awt.TrayIcon
invokevirtual java.awt.TrayIcon.isImageAutoSize:()Z
istore 2
start local 2 3: invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
4: invokevirtual java.awt.GraphicsEnvironment.getDefaultScreenDevice:()Ljava/awt/GraphicsDevice;
invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
5: invokevirtual java.awt.GraphicsConfiguration.getDefaultTransform:()Ljava/awt/geom/AffineTransform;
6: astore 3
start local 3 7: bipush 16
aload 3
invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
invokestatic sun.java2d.pipe.Region.clipScale:(ID)I
istore 4
start local 4 8: bipush 16
aload 3
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
invokestatic sun.java2d.pipe.Region.clipScale:(ID)I
istore 5
start local 5 9: aload 1
aload 0
getfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
aload 3
invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
invokestatic sun.java2d.pipe.Region.clipScale:(ID)I
istore 6
start local 6 10: aload 1
aload 0
getfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
aload 3
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
invokestatic sun.java2d.pipe.Region.clipScale:(ID)I
istore 7
start local 7 11: new java.awt.image.BufferedImage
dup
iload 4
12: iload 5
iconst_2
13: invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 8
start local 8 14: aload 8
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 9
start local 9 15: aload 9
ifnull 33
16: aload 9
invokevirtual java.awt.Graphics2D.setPaintMode:()V
17: aload 9
aload 1
iconst_0
iconst_0
iload 2
ifeq 18
iload 4
goto 19
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.geom.AffineTransform int int int int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int
18: iload 6
19: StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.geom.AffineTransform int int int int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int int
iload 2
ifeq 20
iload 5
goto 21
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.geom.AffineTransform int int int int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int int
20: iload 7
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.geom.AffineTransform int int int int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int int int
21: aload 0
getfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
22: invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z
pop
23: aload 0
aload 8
invokevirtual sun.awt.windows.WTrayIconPeer.createNativeImage:(Ljava/awt/image/BufferedImage;)V
24: aload 0
aload 0
getfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
ifeq 25
iconst_0
goto 26
StackMap locals:
StackMap stack: sun.awt.windows.WTrayIconPeer
25: iconst_1
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.geom.AffineTransform int int int int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: sun.awt.windows.WTrayIconPeer int
26: invokevirtual sun.awt.windows.WTrayIconPeer.updateNativeIcon:(Z)V
27: aload 0
getfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
ifeq 32
aload 0
iconst_0
putfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
28: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 10
30: aload 9
invokevirtual java.awt.Graphics2D.dispose:()V
31: aload 10
athrow
32: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.awt.Graphics2D.dispose:()V
33: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/awt/windows/WTrayIconPeer;
0 34 1 image Ljava/awt/Image;
3 34 2 autosize Z
7 34 3 tx Ljava/awt/geom/AffineTransform;
8 34 4 w I
9 34 5 h I
10 34 6 imgWidth I
11 34 7 imgHeight I
14 34 8 bufImage Ljava/awt/image/BufferedImage;
15 34 9 gr Ljava/awt/Graphics2D;
Exception table:
from to target type
16 29 29 any
MethodParameters:
Name Flags
image
void createNativeImage(java.awt.image.BufferedImage);
descriptor: (Ljava/awt/image/BufferedImage;)V
flags: (0x0000)
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 2
start local 2 1: bipush 32
newarray 8
astore 3
start local 3 2: aload 2
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
astore 4
start local 4 3: aload 4
arraylength
istore 5
start local 5 4: aload 2
invokevirtual java.awt.image.Raster.getWidth:()I
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 13
7: StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.image.BufferedImage java.awt.image.Raster byte[] int[] int int int
StackMap stack:
iload 7
bipush 8
idiv
istore 8
start local 8 8: iconst_1
bipush 7
iload 7
bipush 8
irem
isub
ishl
istore 9
start local 9 9: aload 4
iload 7
iaload
ldc -16777216
iand
ifne 12
10: iload 8
aload 3
arraylength
if_icmpge 12
11: aload 3
iload 8
dup2
baload
iload 9
ior
i2b
bastore
end local 9 end local 8 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 5
if_icmplt 7
end local 7 14: aload 2
instanceof sun.awt.image.IntegerComponentRaster
ifeq 16
15: aload 2
checkcast sun.awt.image.IntegerComponentRaster
invokevirtual sun.awt.image.IntegerComponentRaster.getScanlineStride:()I
istore 6
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
17: aload 3
iload 6
aload 2
invokevirtual java.awt.image.Raster.getWidth:()I
aload 2
invokevirtual java.awt.image.Raster.getHeight:()I
18: invokevirtual sun.awt.windows.WTrayIconPeer.setNativeIcon:([I[BIII)V
19: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/awt/windows/WTrayIconPeer;
0 20 1 bimage Ljava/awt/image/BufferedImage;
1 20 2 raster Ljava/awt/image/Raster;
2 20 3 andMask [B
3 20 4 pixels [I
4 20 5 npixels I
5 20 6 ficW I
6 14 7 i I
8 12 8 ibyte I
9 12 9 omask I
MethodParameters:
Name Flags
bimage
void postEvent(java.awt.AWTEvent);
descriptor: (Ljava/awt/AWTEvent;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
invokestatic sun.awt.windows.WToolkit.targetToAppContext:(Ljava/lang/Object;)Lsun/awt/AppContext;
aload 1
invokestatic sun.awt.windows.WToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/windows/WTrayIconPeer;
0 2 1 event Ljava/awt/AWTEvent;
MethodParameters:
Name Flags
event
native void create();
descriptor: ()V
flags: (0x0100) ACC_NATIVE
synchronized native void _dispose();
descriptor: ()V
flags: (0x0120) ACC_SYNCHRONIZED, ACC_NATIVE
native void updateNativeIcon(boolean);
descriptor: (Z)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
doUpdate
native void setNativeIcon(int[], byte[], int, int, int);
descriptor: ([I[BIII)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
rData
andMask
nScanStride
width
height
native void _displayMessage(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
caption
text
messageType
private void lambda$0(int, int);
descriptor: (II)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=5, args_size=3
start local 0 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
checkcast java.awt.TrayIcon
invokevirtual java.awt.TrayIcon.getPopupMenu:()Ljava/awt/PopupMenu;
astore 3
start local 3 1: aload 0
getfield sun.awt.windows.WTrayIconPeer.popup:Ljava/awt/PopupMenu;
aload 3
if_acmpeq 7
2: aload 0
getfield sun.awt.windows.WTrayIconPeer.popup:Ljava/awt/PopupMenu;
ifnull 4
3: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
aload 0
getfield sun.awt.windows.WTrayIconPeer.popup:Ljava/awt/PopupMenu;
invokevirtual java.awt.Frame.remove:(Ljava/awt/MenuComponent;)V
4: StackMap locals: java.awt.PopupMenu
StackMap stack:
aload 3
ifnull 6
5: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
aload 3
invokevirtual java.awt.Frame.add:(Ljava/awt/PopupMenu;)V
6: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield sun.awt.windows.WTrayIconPeer.popup:Ljava/awt/PopupMenu;
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.popup:Ljava/awt/PopupMenu;
ifnull 12
8: invokestatic sun.awt.AWTAccessor.getMenuComponentAccessor:()Lsun/awt/AWTAccessor$MenuComponentAccessor;
9: aload 0
getfield sun.awt.windows.WTrayIconPeer.popup:Ljava/awt/PopupMenu;
invokeinterface sun.awt.AWTAccessor$MenuComponentAccessor.getPeer:(Ljava/awt/MenuComponent;)Ljava/awt/peer/MenuComponentPeer;
checkcast sun.awt.windows.WPopupMenuPeer
10: astore 4
start local 4 11: aload 4
aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
new java.awt.Point
dup
iload 1
iload 2
invokespecial java.awt.Point.<init>:(II)V
invokevirtual sun.awt.windows.WPopupMenuPeer.show:(Ljava/awt/Component;Ljava/awt/Point;)V
end local 4 end local 3 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/awt/windows/WTrayIconPeer;
1 12 3 newPopup Ljava/awt/PopupMenu;
11 12 4 peer Lsun/awt/windows/WPopupMenuPeer;
}
SourceFile: "WTrayIconPeer.java"
NestMembers:
sun.awt.windows.WTrayIconPeer$IconObserver
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract MenuComponentAccessor = sun.awt.AWTAccessor$MenuComponentAccessor of sun.awt.AWTAccessor
IconObserver = sun.awt.windows.WTrayIconPeer$IconObserver of sun.awt.windows.WTrayIconPeer