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 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 63
            new sun.security.action.LoadLibraryAction
            dup
            ldc "awt"
            invokespecial sun.security.action.LoadLibraryAction.<init>:(Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 64
            new sun.awt.CGraphicsEnvironment$1
            dup
            invokespecial sun.awt.CGraphicsEnvironment$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         2: .line 73
            new sun.java2d.MacosxSurfaceManagerFactory
            dup
            invokespecial sun.java2d.MacosxSurfaceManagerFactory.<init>:()V
            invokestatic sun.java2d.SurfaceManagerFactory.setInstance:(Lsun/java2d/SurfaceManagerFactory;)V
         3: .line 206
            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 void initCocoa();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  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 60
            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 99
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment.<init>:()V
         1: .line 91
            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 100
            invokestatic sun.awt.CGraphicsEnvironment.isHeadless:()Z
            ifeq 5
         3: .line 101
            aload 0 /* this */
            lconst_0
            putfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
         4: .line 102
            return
         5: .line 106
      StackMap locals: sun.awt.CGraphicsEnvironment
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.initDevices:()V
         6: .line 109
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.registerDisplayReconfiguration:()J
            putfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
         7: .line 110
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
            lconst_0
            lcmp
            ifne 9
         8: .line 111
            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 113
      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 122
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 123
            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 124
            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 125
            aload 4 /* gd */
            invokestatic sun.awt.CGraphicsEnvironment.getMainDisplayID:()I
            invokevirtual sun.awt.CGraphicsDevice.invalidate:(I)V
         4: .line 126
            aload 4 /* gd */
            invokevirtual sun.awt.CGraphicsDevice.displayChanged:()V
        end local 4 // sun.awt.CGraphicsDevice gd
         5: .line 122
      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 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.initDevices:()V
        10: .line 130
            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 135
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 136
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 137
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.displayReconfigContext:J
            invokevirtual sun.awt.CGraphicsEnvironment.deregisterDisplayReconfiguration:(J)V
         4: .line 138
            aload 1
            athrow
         5: .line 137
      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 139
            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=8, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 145
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 146
            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 147
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 149
            invokestatic sun.awt.CGraphicsEnvironment.getMainDisplayID:()I
            istore 3 /* mainID */
        start local 3 // int mainID
         4: .line 156
            aload 2 /* old */
            iload 3 /* mainID */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 157
            aload 2 /* old */
            iload 3 /* mainID */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new sun.awt.CGraphicsDevice
            dup
            iload 3 /* mainID */
            invokespecial sun.awt.CGraphicsDevice.<init>:(I)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 160
      StackMap locals: sun.awt.CGraphicsEnvironment java.util.Map int
      StackMap stack:
            invokestatic sun.awt.CGraphicsEnvironment.getDisplayIDs:()[I
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 12
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map int top int int int[]
      StackMap stack:
         7: aload 7
            iload 5
            iaload
            istore 4 /* id */
        start local 4 // int id
         8: .line 161
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 4 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* old */
            iload 4 /* 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 4 /* 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 162
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map int int int int int[]
      StackMap stack: java.util.Map java.lang.Integer
            new sun.awt.CGraphicsDevice
            dup
            iload 4 /* id */
            invokespecial sun.awt.CGraphicsDevice.<init>:(I)V
        10: .line 161
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map int 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 4 // int id
        11: .line 160
            iinc 5 1
      StackMap locals: sun.awt.CGraphicsEnvironment sun.awt.CGraphicsEnvironment java.util.Map int top int int int[]
      StackMap stack:
        12: iload 5
            iload 6
            if_icmplt 7
        end local 3 // int mainID
        end local 2 // java.util.Map old
        13: .line 145
            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 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.displayChanged:()V
        18: .line 166
            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;>;
            4   13     3  mainID  I
            8   11     4      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=2, locals=3, args_size=1
        start local 0 // sun.awt.CGraphicsEnvironment this
         0: .line 170
            invokestatic sun.awt.CGraphicsEnvironment.getMainDisplayID:()I
            istore 1 /* mainDisplayID */
        start local 1 // int mainDisplayID
         1: .line 171
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 1 /* mainDisplayID */
            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 2 /* d */
        start local 2 // sun.awt.CGraphicsDevice d
         2: .line 172
            aload 2 /* d */
            ifnonnull 5
         3: .line 175
            aload 0 /* this */
            invokevirtual sun.awt.CGraphicsEnvironment.initDevices:()V
         4: .line 177
            aload 0 /* this */
            getfield sun.awt.CGraphicsEnvironment.devices:Ljava/util/Map;
            iload 1 /* mainDisplayID */
            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 2 /* d */
         5: .line 179
      StackMap locals: int sun.awt.CGraphicsDevice
      StackMap stack:
            aload 2 /* d */
            areturn
        end local 2 // sun.awt.CGraphicsDevice d
        end local 1 // int mainDisplayID
        end local 0 // sun.awt.CGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lsun/awt/CGraphicsEnvironment;
            1    6     1  mainDisplayID  I
            2    6     2              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 184
            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 188
            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 193
            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 198
            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 203
            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 212
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment.getAllFonts:()[Ljava/awt/Font;
            astore 2 /* superFonts */
        start local 2 // java.awt.Font[] superFonts
         1: .line 214
            getstatic sun.awt.CGraphicsEnvironment.sLogicalFonts:[Ljava/lang/String;
            arraylength
            istore 3 /* numLogical */
        start local 3 // int numLogical
         2: .line 215
            aload 2 /* superFonts */
            arraylength
            istore 4 /* numOtherFonts */
        start local 4 // int numOtherFonts
         3: .line 217
            iload 4 /* numOtherFonts */
            iload 3 /* numLogical */
            iadd
            anewarray java.awt.Font
            astore 1 /* newFonts */
        start local 1 // java.awt.Font[] newFonts
         4: .line 218
            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 220
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 222
      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 220
            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 224
            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"
NestMembers:
  sun.awt.CGraphicsEnvironment$1
InnerClasses:
  sun.awt.CGraphicsEnvironment$1