public final class sun.awt.CGraphicsEnvironment extends sun.java2d.SunGraphicsEnvironment
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.awt.CGraphicsEnvironment
  super_class: sun.java2d.SunGraphicsEnvironment
{
  private final java.util.Map<java.lang.Integer, sun.awt.CGraphicsDevice> devices;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lsun/awt/CGraphicsDevice;>;

  private int mainDisplayID;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final long displayReconfigContext;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static java.lang.String[] sLogicalFonts;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 61
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            pop
         1: .line 63
            new sun.java2d.MacosxSurfaceManagerFactory
            dup
            invokespecial sun.java2d.MacosxSurfaceManagerFactory.<init>:()V
            invokestatic sun.java2d.SurfaceManagerFactory.setInstance:(Lsun/java2d/SurfaceManagerFactory;)V
         2: .line 203
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "Serif"
            aastore
            dup
            iconst_1
            ldc "SansSerif"
            aastore
            dup
            iconst_2
            ldc "Monospaced"
            aastore
            dup
            iconst_3
            ldc "Dialog"
            aastore
            dup
            iconst_4
            ldc "DialogInput"
            aastore
            putstatic sun.awt.CGraphicsEnvironment.sLogicalFonts:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native int[] getDisplayIDs();
    descriptor: ()[I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native int getMainDisplayID();
    descriptor: ()I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public static void init();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private native long registerDisplayReconfiguration();
    descriptor: ()J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native void deregisterDisplayReconfiguration(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      context  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 93
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment.<init>:()V
         1: .line 81
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
         2: .line 94
            invokestatic sun.awt.CGraphicsEnvironment.isHeadless:()Z
            ifeq 5
         3: .line 95
            aload 0 /* this */
            lconst_0
            putfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
         4: .line 96
            return
         5: .line 100
      StackMap locals: sun.awt.CGraphicsEnvironment
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.initDevices:()V
         6: .line 103
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.registerDisplayReconfiguration:()J
            putfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
         7: .line 104
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
            lconst_0
            lcmp
            ifne 9
         8: .line 105
            new java.lang.RuntimeException
            dup
            ldc "Could not register CoreGraphics display reconfiguration callback"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 107
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/awt/CGraphicsEnvironment;

  void _displayReconfiguration(int, boolean);
    descriptor: (IZ)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // sun.awt.CGraphicsEnvironment this
        start local 1 // int displayId
        start local 2 // boolean removed
         0: .line 116
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 117
            iload 2 /* removed */
            ifeq 5
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 1 /* displayId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 5
         2: .line 118
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 1 /* displayId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.CGraphicsDevice
            astore 4 /* gd */
        start local 4 // sun.awt.CGraphicsDevice gd
         3: .line 119
            aload 4 /* gd */
            invokestatic sun.awt.CGraphicsEnvironment.getMainDisplayID:()I
            invokevirtual sun.awt.CGraphicsDevice.invalidate:(I)V
         4: .line 120
            aload 4 /* gd */
            invokevirtual sun.awt.CGraphicsDevice.displayChanged:()V
        end local 4 // sun.awt.CGraphicsDevice gd
         5: .line 116
      StackMap locals: sun.awt.CGraphicsEnvironment
      StackMap stack:
            aload 3
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.initDevices:()V
        10: .line 124
            return
        end local 2 // boolean removed
        end local 1 // int displayId
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/awt/CGraphicsEnvironment;
            0   11     1  displayId  I
            0   11     2    removed  Z
            3    5     4         gd  Lsun/awt/CGraphicsDevice;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
           Name  Flags
      displayId  final
      removed    final

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 130
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 131
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 132
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
            invokevirtual sun.awt.CGraphicsEnvironment.deregisterDisplayReconfiguration:(J)V
         4: .line 133
            aload 1
            athrow
         5: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
            invokevirtual sun.awt.CGraphicsEnvironment.deregisterDisplayReconfiguration:(J)V
         6: .line 134
            return
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/CGraphicsEnvironment;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  private void initDevices();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 140
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 141
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 2 /* old */
        start local 2 // java.util.Map old
         2: .line 142
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 144
            aload 0 /* this */
            invokestatic sun.awt.CGraphicsEnvironment.getMainDisplayID:()I
            putfield sun.awt.CGraphicsEnvironment.mainDisplayID:I
         4: .line 151
            aload 2 /* old */
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.mainDisplayID:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 152
            aload 2 /* old */
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.mainDisplayID:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new sun.awt.CGraphicsDevice
            dup
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.mainDisplayID:I
            invokespecial sun.awt.CGraphicsDevice.<init>:(I)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 155
      StackMap locals: sun.awt.CGraphicsEnvironment java.util.Map
      StackMap stack:
            invokestatic sun.awt.CGraphicsEnvironment.getDisplayIDs:()[I
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map top int int int[]
      StackMap stack:
         7: aload 6
            iload 4
            iaload
            istore 3 /* id */
        start local 3 // int id
         8: .line 156
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 3 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* old */
            iload 3 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 9
            aload 2 /* old */
            iload 3 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.CGraphicsDevice
            goto 10
         9: .line 157
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map int int int int[]
      StackMap stack: java.util.Map java.lang.Integer
            new sun.awt.CGraphicsDevice
            dup
            iload 3 /* id */
            invokespecial sun.awt.CGraphicsDevice.<init>:(I)V
        10: .line 156
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map int int int int[]
      StackMap stack: java.util.Map java.lang.Integer sun.awt.CGraphicsDevice
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // int id
        11: .line 155
            iinc 4 1
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map top int int int[]
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 7
        end local 2 // java.util.Map old
        13: .line 140
            aload 1
            monitorexit
        14: goto 17
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment
      StackMap stack: java.lang.Throwable
        15: aload 1
            monitorexit
        16: athrow
        17: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.displayChanged:()V
        18: .line 161
            return
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lsun/awt/CGraphicsEnvironment;
            2   13     2   old  Ljava/util/Map<Ljava/lang/Integer;Lsun/awt/CGraphicsDevice;>;
            8   11     3    id  I
      Exception table:
        from    to  target  type
           1    14      15  any
          15    16      15  any

  public synchronized java.awt.GraphicsDevice getDefaultScreenDevice();
    descriptor: ()Ljava/awt/GraphicsDevice;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 165
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.mainDisplayID:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.CGraphicsDevice
            astore 1 /* d */
        start local 1 // sun.awt.CGraphicsDevice d
         1: .line 166
            aload 1 /* d */
            ifnonnull 6
         2: .line 169
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.initDevices:()V
         3: .line 171
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.mainDisplayID:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.CGraphicsDevice
            astore 1 /* d */
         4: .line 172
            aload 1 /* d */
            ifnonnull 6
         5: .line 173
            new java.awt.AWTError
            dup
            ldc "no screen devices"
            invokespecial java.awt.AWTError.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 176
      StackMap locals: sun.awt.CGraphicsDevice
      StackMap stack:
            aload 1 /* d */
            areturn
        end local 1 // sun.awt.CGraphicsDevice d
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/CGraphicsEnvironment;
            1    7     1     d  Lsun/awt/CGraphicsDevice;
    Exceptions:
      throws java.awt.HeadlessException

  public synchronized java.awt.GraphicsDevice[] getScreenDevices();
    descriptor: ()[Ljava/awt/GraphicsDevice;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 181
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            anewarray sun.awt.CGraphicsDevice
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.awt.GraphicsDevice[]
            areturn
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/CGraphicsEnvironment;
    Exceptions:
      throws java.awt.HeadlessException

  public synchronized java.awt.GraphicsDevice getScreenDevice(int);
    descriptor: (I)Ljava/awt/GraphicsDevice;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.CGraphicsEnvironment this
        start local 1 // int displayID
         0: .line 185
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 1 /* displayID */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.GraphicsDevice
            areturn
        end local 1 // int displayID
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/awt/CGraphicsEnvironment;
            0    1     1  displayID  I
    MethodParameters:
           Name  Flags
      displayID  

  protected synchronized int getNumScreens();
    descriptor: ()I
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 190
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ireturn
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/CGraphicsEnvironment;

  protected java.awt.GraphicsDevice makeScreenDevice(int);
    descriptor: (I)Ljava/awt/GraphicsDevice;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.CGraphicsEnvironment this
        start local 1 // int screennum
         0: .line 195
            new java.lang.UnsupportedOperationException
            dup
            ldc "This method is unused and should not be called in this implementation"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int screennum
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/awt/CGraphicsEnvironment;
            0    1     1  screennum  I
    MethodParameters:
           Name  Flags
      screennum  

  public boolean isDisplayLocal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 200
            iconst_1
            ireturn
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/CGraphicsEnvironment;

  public java.awt.Font[] getAllFonts();
    descriptor: ()[Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 209
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment.getAllFonts:()[Ljava/awt/Font;
            astore 2 /* superFonts */
        start local 2 // java.awt.Font[] superFonts
         1: .line 211
            getstatic sun.awt.CGraphicsEnvironment.sLogicalFonts:[Ljava/lang/String;
            arraylength
            istore 3 /* numLogical */
        start local 3 // int numLogical
         2: .line 212
            aload 2 /* superFonts */
            arraylength
            istore 4 /* numOtherFonts */
        start local 4 // int numOtherFonts
         3: .line 214
            iload 4 /* numOtherFonts */
            iload 3 /* numLogical */
            iadd
            anewarray java.awt.Font
            astore 1 /* newFonts */
        start local 1 // java.awt.Font[] newFonts
         4: .line 215
            aload 2 /* superFonts */
            iconst_0
            aload 1 /* newFonts */
            iload 3 /* numLogical */
            iload 4 /* numOtherFonts */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 217
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 219
      StackMap locals: sun.awt.CGraphicsEnvironment java.awt.Font[] java.awt.Font[] int int int
      StackMap stack:
            aload 1 /* newFonts */
            iload 5 /* i */
            new java.awt.Font
            dup
            getstatic sun.awt.CGraphicsEnvironment.sLogicalFonts:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            iconst_0
            iconst_1
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            aastore
         8: .line 217
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* numLogical */
            if_icmplt 7
        end local 5 // int i
        10: .line 221
            aload 1 /* newFonts */
            areturn
        end local 4 // int numOtherFonts
        end local 3 // int numLogical
        end local 2 // java.awt.Font[] superFonts
        end local 1 // java.awt.Font[] newFonts
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lsun/awt/CGraphicsEnvironment;
            4   11     1       newFonts  [Ljava/awt/Font;
            1   11     2     superFonts  [Ljava/awt/Font;
            2   11     3     numLogical  I
            3   11     4  numOtherFonts  I
            6   10     5              i  I
}
SourceFile: "CGraphicsEnvironment.java"