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: .line 111
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
         1: .line 110
            putstatic sun.awt.image.MultiResolutionToolkitImage$ObserverCache.INSTANCE:Ljava/util/Map;
         2: .line 111
            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 // sun.awt.image.MultiResolutionToolkitImage$ObserverCache this
        start local 1 // java.awt.image.ImageObserver obs
        start local 2 // boolean concat
        start local 3 // java.awt.Image img
         0: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            aload 0 /* this */
            iload 2 /* concat */
            putfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.concat:Z
         2: .line 119
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 3 /* img */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.imageRef:Ljava/lang/ref/WeakReference;
         3: .line 120
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* obs */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.observerRef:Ljava/lang/ref/WeakReference;
         4: .line 121
            return
        end local 3 // java.awt.Image img
        end local 2 // boolean concat
        end local 1 // java.awt.image.ImageObserver obs
        end local 0 // sun.awt.image.MultiResolutionToolkitImage$ObserverCache this
      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 // sun.awt.image.MultiResolutionToolkitImage$ObserverCache this
        start local 1 // java.awt.Image img
        start local 2 // int infoflags
        start local 3 // int x
        start local 4 // int y
        start local 5 // int width
        start local 6 // int height
         0: .line 126
            aload 0 /* this */
            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 /* observer */
        start local 7 // java.awt.image.ImageObserver observer
         1: .line 127
            aload 0 /* this */
            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 /* image */
        start local 8 // java.awt.Image image
         2: .line 129
            aload 7 /* observer */
            ifnull 3
            aload 8 /* image */
            ifnonnull 4
         3: .line 130
      StackMap locals: java.awt.image.ImageObserver java.awt.Image
      StackMap stack:
            iconst_0
            ireturn
         4: .line 133
      StackMap locals:
      StackMap stack:
            iload 2 /* infoflags */
            bipush 57
            iand
            ifeq 6
         5: .line 134
            iload 5 /* width */
            iconst_1
            iadd
            iconst_2
            idiv
            istore 5 /* width */
         6: .line 137
      StackMap locals:
      StackMap stack:
            iload 2 /* infoflags */
            bipush 58
            iand
            ifeq 8
         7: .line 138
            iload 6 /* height */
            iconst_1
            iadd
            iconst_2
            idiv
            istore 6 /* height */
         8: .line 141
      StackMap locals:
      StackMap stack:
            iload 2 /* infoflags */
            bipush 56
            iand
            ifeq 11
         9: .line 142
            iload 3 /* x */
            iconst_2
            idiv
            istore 3 /* x */
        10: .line 143
            iload 4 /* y */
            iconst_2
            idiv
            istore 4 /* y */
        11: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.MultiResolutionToolkitImage$ObserverCache.concat:Z
            ifeq 13
        12: .line 147
            iload 2 /* infoflags */
            aload 8 /* image */
            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 /* infoflags */
        13: .line 149
      StackMap locals:
      StackMap stack:
            aload 7 /* observer */
            aload 8 /* image */
            iload 2 /* infoflags */
            iload 3 /* x */
            iload 4 /* y */
            iload 5 /* width */
            iload 6 /* height */
            invokeinterface java.awt.image.ImageObserver.imageUpdate:(Ljava/awt/Image;IIIII)Z
            ireturn
        end local 8 // java.awt.Image image
        end local 7 // java.awt.image.ImageObserver observer
        end local 6 // int height
        end local 5 // int width
        end local 4 // int y
        end local 3 // int x
        end local 2 // int infoflags
        end local 1 // java.awt.Image img
        end local 0 // sun.awt.image.MultiResolutionToolkitImage$ObserverCache this
      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