final class sun.awt.image.MultiResolutionToolkitImage$ObserverCache implements java.awt.image.ImageObserver
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.awt.image.MultiResolutionToolkitImage$ObserverCache
super_class: java.lang.Object
{
private static final java.util.Map<java.awt.image.ImageObserver, java.awt.image.ImageObserver> INSTANCE;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/awt/image/ImageObserver;Ljava/awt/image/ImageObserver;>;
private final boolean concat;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ref.WeakReference<java.awt.Image> imageRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Ljava/awt/Image;>;
private final java.lang.ref.WeakReference<java.awt.image.ImageObserver> observerRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Ljava/awt/image/ImageObserver;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
1: putstatic sun.awt.image.MultiResolutionToolkitImage$ObserverCache.INSTANCE:Ljava/util/Map;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.awt.image.ImageObserver, boolean, java.awt.Image);
descriptor: (Ljava/awt/image/ImageObserver;ZLjava/awt/Image;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 2
putfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.concat:Z
2: aload 0
new java.lang.ref.WeakReference
dup
aload 3
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.imageRef:Ljava/lang/ref/WeakReference;
3: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.observerRef:Ljava/lang/ref/WeakReference;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/image/MultiResolutionToolkitImage$ObserverCache;
0 5 1 obs Ljava/awt/image/ImageObserver;
0 5 2 concat Z
0 5 3 img Ljava/awt/Image;
MethodParameters:
Name Flags
obs
concat
img
public boolean imageUpdate(java.awt.Image, int, int, int, int, int);
descriptor: (Ljava/awt/Image;IIIII)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, 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.MultiResolutionToolkitImage$ObserverCache.observerRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.awt.image.ImageObserver
astore 7
start local 7 1: aload 0
getfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.imageRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.awt.Image
astore 8
start local 8 2: aload 7
ifnull 3
aload 8
ifnonnull 4
3: StackMap locals: java.awt.image.ImageObserver java.awt.Image
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iload 2
bipush 57
iand
ifeq 6
5: iload 5
iconst_1
iadd
iconst_2
idiv
istore 5
6: StackMap locals:
StackMap stack:
iload 2
bipush 58
iand
ifeq 8
7: iload 6
iconst_1
iadd
iconst_2
idiv
istore 6
8: StackMap locals:
StackMap stack:
iload 2
bipush 56
iand
ifeq 11
9: iload 3
iconst_2
idiv
istore 3
10: iload 4
iconst_2
idiv
istore 4
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.concat:Z
ifeq 13
12: iload 2
aload 8
checkcast sun.awt.image.ToolkitImage
invokevirtual sun.awt.image.ToolkitImage.getImageRep:()Lsun/awt/image/ImageRepresentation;
aconst_null
invokevirtual sun.awt.image.ImageRepresentation.check:(Ljava/awt/image/ImageObserver;)I
iand
istore 2
13: StackMap locals:
StackMap stack:
aload 7
aload 8
iload 2
iload 3
iload 4
iload 5
iload 6
invokeinterface java.awt.image.ImageObserver.imageUpdate:(Ljava/awt/Image;IIIII)Z
ireturn
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 14 0 this Lsun/awt/image/MultiResolutionToolkitImage$ObserverCache;
0 14 1 img Ljava/awt/Image;
0 14 2 infoflags I
0 14 3 x I
0 14 4 y I
0 14 5 width I
0 14 6 height I
1 14 7 observer Ljava/awt/image/ImageObserver;
2 14 8 image Ljava/awt/Image;
MethodParameters:
Name Flags
img
infoflags
x
y
width
height
}
SourceFile: "MultiResolutionToolkitImage.java"
NestHost: sun.awt.image.MultiResolutionToolkitImage
InnerClasses:
private final ObserverCache = sun.awt.image.MultiResolutionToolkitImage$ObserverCache of sun.awt.image.MultiResolutionToolkitImage