public abstract class sun.awt.image.ImageWatched
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.awt.image.ImageWatched
super_class: java.lang.Object
{
public static sun.awt.image.ImageWatched$Link endlink;
descriptor: Lsun/awt/image/ImageWatched$Link;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public sun.awt.image.ImageWatched$Link watcherList;
descriptor: Lsun/awt/image/ImageWatched$Link;
flags: (0x0001) ACC_PUBLIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.awt.image.ImageWatched$Link
dup
invokespecial sun.awt.image.ImageWatched$Link.<init>:()V
putstatic sun.awt.image.ImageWatched.endlink:Lsun/awt/image/ImageWatched$Link;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic sun.awt.image.ImageWatched.endlink:Lsun/awt/image/ImageWatched$Link;
putfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/image/ImageWatched;
public synchronized void addWatcher(java.awt.image.ImageObserver);
descriptor: (Ljava/awt/image/ImageObserver;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 0
aload 1
invokevirtual sun.awt.image.ImageWatched.isWatcher:(Ljava/awt/image/ImageObserver;)Z
ifne 2
1: aload 0
new sun.awt.image.ImageWatched$WeakLink
dup
aload 1
aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
invokespecial sun.awt.image.ImageWatched$WeakLink.<init>:(Ljava/awt/image/ImageObserver;Lsun/awt/image/ImageWatched$Link;)V
putfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
aconst_null
invokevirtual sun.awt.image.ImageWatched$Link.removeWatcher:(Ljava/awt/image/ImageObserver;)Lsun/awt/image/ImageWatched$Link;
putfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/image/ImageWatched;
0 4 1 iw Ljava/awt/image/ImageObserver;
MethodParameters:
Name Flags
iw
public synchronized boolean isWatcher(java.awt.image.ImageObserver);
descriptor: (Ljava/awt/image/ImageObserver;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
aload 1
invokevirtual sun.awt.image.ImageWatched$Link.isWatcher:(Ljava/awt/image/ImageObserver;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/image/ImageWatched;
0 1 1 iw Ljava/awt/image/ImageObserver;
MethodParameters:
Name Flags
iw
public void removeWatcher(java.awt.image.ImageObserver);
descriptor: (Ljava/awt/image/ImageObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
aload 1
invokevirtual sun.awt.image.ImageWatched$Link.removeWatcher:(Ljava/awt/image/ImageObserver;)Lsun/awt/image/ImageWatched$Link;
putfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
2: aload 2
monitorexit
3: goto 6
StackMap locals: sun.awt.image.ImageWatched java.awt.image.ImageObserver sun.awt.image.ImageWatched
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
getstatic sun.awt.image.ImageWatched.endlink:Lsun/awt/image/ImageWatched$Link;
if_acmpne 8
7: aload 0
invokevirtual sun.awt.image.ImageWatched.notifyWatcherListEmpty:()V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/awt/image/ImageWatched;
0 9 1 iw Ljava/awt/image/ImageObserver;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
iw
public boolean isWatcherListEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
aconst_null
invokevirtual sun.awt.image.ImageWatched$Link.removeWatcher:(Ljava/awt/image/ImageObserver;)Lsun/awt/image/ImageWatched$Link;
putfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
2: aload 1
monitorexit
3: goto 6
StackMap locals: sun.awt.image.ImageWatched sun.awt.image.ImageWatched
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
getstatic sun.awt.image.ImageWatched.endlink:Lsun/awt/image/ImageWatched$Link;
if_acmpne 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/image/ImageWatched;
Exception table:
from to target type
1 3 4 any
4 5 4 any
public void newInfo(java.awt.Image, int, int, int, int, int);
descriptor: (Ljava/awt/Image;IIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield sun.awt.image.ImageWatched.watcherList:Lsun/awt/image/ImageWatched$Link;
aload 1
iload 2
iload 3
iload 4
iload 5
iload 6
invokevirtual sun.awt.image.ImageWatched$Link.newInfo:(Ljava/awt/Image;IIIII)Z
ifeq 2
1: aload 0
aconst_null
invokevirtual sun.awt.image.ImageWatched.removeWatcher:(Ljava/awt/image/ImageObserver;)V
2: StackMap locals:
StackMap stack:
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 3 0 this Lsun/awt/image/ImageWatched;
0 3 1 img Ljava/awt/Image;
0 3 2 info I
0 3 3 x I
0 3 4 y I
0 3 5 w I
0 3 6 h I
MethodParameters:
Name Flags
img
info
x
y
w
h
protected abstract void notifyWatcherListEmpty();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
}
SourceFile: "ImageWatched.java"
NestMembers:
sun.awt.image.ImageWatched$AccWeakReference sun.awt.image.ImageWatched$Link sun.awt.image.ImageWatched$WeakLink
InnerClasses:
AccWeakReference = sun.awt.image.ImageWatched$AccWeakReference of sun.awt.image.ImageWatched
public Link = sun.awt.image.ImageWatched$Link of sun.awt.image.ImageWatched
public WeakLink = sun.awt.image.ImageWatched$WeakLink of sun.awt.image.ImageWatched