public class sun.awt.X11.XlibUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.X11.XlibUtil
  super_class: java.lang.Object
{
  static java.lang.Boolean isShapingSupported;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 375
            aconst_null
            putstatic sun.awt.X11.XlibUtil.isShapingSupported:Ljava/lang/Boolean;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XlibUtil this
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            return
        end local 0 // sun.awt.X11.XlibUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XlibUtil;

  public static long getRootWindow(int);
    descriptor: (I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // int screenNumber
         0: .line 60
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 64
            invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
         2: .line 63
            checkcast sun.awt.X11GraphicsEnvironment
            astore 1 /* x11ge */
        start local 1 // sun.awt.X11GraphicsEnvironment x11ge
         3: .line 65
            aload 1 /* x11ge */
            invokevirtual sun.awt.X11GraphicsEnvironment.runningXinerama:()Z
            ifeq 7
         4: .line 68
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            lconst_0
            invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
            lstore 3
         5: .line 77
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         6: .line 68
            lload 3
            lreturn
         7: .line 72
      StackMap locals: sun.awt.X11GraphicsEnvironment
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            iload 0 /* screenNumber */
            i2l
            invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
            lstore 3
         8: .line 77
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         9: .line 72
            lload 3
            lreturn
        end local 1 // sun.awt.X11GraphicsEnvironment x11ge
        10: .line 76
      StackMap locals: int
      StackMap stack: java.lang.Throwable
            astore 2
        11: .line 77
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        12: .line 78
            aload 2
            athrow
        end local 0 // int screenNumber
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0  screenNumber  I
            3   10     1         x11ge  Lsun/awt/X11GraphicsEnvironment;
      Exception table:
        from    to  target  type
           1     5      10  any
           7     8      10  any
    MethodParameters:
              Name  Flags
      screenNumber  

  static boolean isRoot(long, long);
    descriptor: (JJ)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // long rootCandidate
        start local 2 // long screenNumber
         0: .line 88
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 91
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
         2: .line 92
            lload 2 /* screenNumber */
         3: .line 91
            invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
            lstore 4 /* root */
        start local 4 // long root
         4: .line 93
            goto 8
        end local 4 // long root
         5: .line 95
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         6: .line 96
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         7: .line 97
            aload 6
            athrow
        start local 4 // long root
         8: .line 96
      StackMap locals: long
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         9: .line 99
            lload 4 /* root */
            lload 0 /* rootCandidate */
            lcmp
            ifne 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        end local 4 // long root
        end local 2 // long screenNumber
        end local 0 // long rootCandidate
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0  rootCandidate  J
            0   11     2   screenNumber  J
            4    5     4           root  J
            8   11     4           root  J
      Exception table:
        from    to  target  type
           1     5       5  any
    MethodParameters:
               Name  Flags
      rootCandidate  
      screenNumber   

  static java.awt.Rectangle getWindowGeometry(long);
    descriptor: (J)Ljava/awt/Rectangle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=18, locals=11, args_size=1
        start local 0 // long window
         0: .line 107
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 110
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
         2: .line 111
            lload 0 /* window */
         3: .line 112
            getstatic sun.awt.X11.XlibWrapper.larg1:J
         4: .line 113
            getstatic sun.awt.X11.XlibWrapper.larg2:J
         5: .line 114
            getstatic sun.awt.X11.XlibWrapper.larg3:J
         6: .line 115
            getstatic sun.awt.X11.XlibWrapper.larg4:J
         7: .line 116
            getstatic sun.awt.X11.XlibWrapper.larg5:J
         8: .line 117
            getstatic sun.awt.X11.XlibWrapper.larg6:J
         9: .line 118
            getstatic sun.awt.X11.XlibWrapper.larg7:J
        10: .line 110
            invokestatic sun.awt.X11.XlibWrapper.XGetGeometry:(JJJJJJJJJ)I
            istore 2 /* res */
        start local 2 // int res
        11: .line 119
            iload 2 /* res */
            ifne 14
        12: .line 133
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        13: .line 121
            aconst_null
            areturn
        14: .line 124
      StackMap locals: int
      StackMap stack:
            getstatic sun.awt.X11.XlibWrapper.larg2:J
            invokestatic sun.awt.X11.Native.getInt:(J)I
            istore 3 /* x */
        start local 3 // int x
        15: .line 125
            getstatic sun.awt.X11.XlibWrapper.larg3:J
            invokestatic sun.awt.X11.Native.getInt:(J)I
            istore 4 /* y */
        start local 4 // int y
        16: .line 126
            getstatic sun.awt.X11.XlibWrapper.larg4:J
            invokestatic sun.awt.X11.Native.getUInt:(J)J
            lstore 5 /* width */
        start local 5 // long width
        17: .line 127
            getstatic sun.awt.X11.XlibWrapper.larg5:J
            invokestatic sun.awt.X11.Native.getUInt:(J)J
            lstore 7 /* height */
        start local 7 // long height
        18: .line 129
            new java.awt.Rectangle
            dup
            iload 3 /* x */
            iload 4 /* y */
            lload 5 /* width */
            l2i
            lload 7 /* height */
            l2i
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 10
        19: .line 133
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        20: .line 129
            aload 10
            areturn
        end local 7 // long height
        end local 5 // long width
        end local 4 // int y
        end local 3 // int x
        end local 2 // int res
        21: .line 132
      StackMap locals: long
      StackMap stack: java.lang.Throwable
            astore 9
        22: .line 133
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        23: .line 134
            aload 9
            athrow
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0  window  J
           11   21     2     res  I
           15   21     3       x  I
           16   21     4       y  I
           17   21     5   width  J
           18   21     7  height  J
      Exception table:
        from    to  target  type
           1    12      21  any
          14    19      21  any
    MethodParameters:
        Name  Flags
      window  

  static java.awt.Point translateCoordinates(long, long, java.awt.Point);
    descriptor: (JJLjava/awt/Point;)Ljava/awt/Point;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // long src
        start local 2 // long dst
        start local 4 // java.awt.Point p
         0: .line 143
            aconst_null
            astore 5 /* translated */
        start local 5 // java.awt.Point translated
         1: .line 145
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         2: .line 149
            new sun.awt.X11.XTranslateCoordinates
            dup
            lload 0 /* src */
            lload 2 /* dst */
            aload 4 /* p */
            getfield java.awt.Point.x:I
            aload 4 /* p */
            getfield java.awt.Point.y:I
            invokespecial sun.awt.X11.XTranslateCoordinates.<init>:(JJII)V
         3: .line 148
            astore 6 /* xtc */
        start local 6 // sun.awt.X11.XTranslateCoordinates xtc
         4: .line 152
            aload 6 /* xtc */
            invokestatic sun.awt.X11.XErrorHandler$IgnoreBadWindowHandler.getInstance:()Lsun/awt/X11/XErrorHandler$IgnoreBadWindowHandler;
            invokevirtual sun.awt.X11.XTranslateCoordinates.execute:(Lsun/awt/X11/XErrorHandler;)I
            istore 7 /* status */
        start local 7 // int status
         5: .line 153
            iload 7 /* status */
            ifeq 13
         6: .line 154
            getstatic sun.awt.X11.XErrorHandlerUtil.saved_error:Lsun/awt/X11/XErrorEvent;
            ifnull 8
         7: .line 155
            getstatic sun.awt.X11.XErrorHandlerUtil.saved_error:Lsun/awt/X11/XErrorEvent;
            invokevirtual sun.awt.X11.XErrorEvent.get_error_code:()B
            ifne 13
         8: .line 157
      StackMap locals: java.awt.Point sun.awt.X11.XTranslateCoordinates int
      StackMap stack:
            new java.awt.Point
            dup
            aload 6 /* xtc */
            invokevirtual sun.awt.X11.XTranslateCoordinates.get_dest_x:()I
            aload 6 /* xtc */
            invokevirtual sun.awt.X11.XTranslateCoordinates.get_dest_y:()I
            invokespecial java.awt.Point.<init>:(II)V
            astore 5 /* translated */
        end local 7 // int status
         9: .line 159
            goto 13
        10: .line 161
      StackMap locals: long long java.awt.Point java.awt.Point sun.awt.X11.XTranslateCoordinates
      StackMap stack: java.lang.Throwable
            astore 8
        11: .line 162
            aload 6 /* xtc */
            invokevirtual sun.awt.X11.XTranslateCoordinates.dispose:()V
        12: .line 163
            aload 8
            athrow
        13: .line 162
      StackMap locals:
      StackMap stack:
            aload 6 /* xtc */
            invokevirtual sun.awt.X11.XTranslateCoordinates.dispose:()V
        end local 6 // sun.awt.X11.XTranslateCoordinates xtc
        14: .line 164
            goto 18
        15: .line 166
      StackMap locals: long long java.awt.Point java.awt.Point
      StackMap stack: java.lang.Throwable
            astore 9
        16: .line 167
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        17: .line 168
            aload 9
            athrow
        18: .line 167
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        19: .line 170
            aload 5 /* translated */
            areturn
        end local 5 // java.awt.Point translated
        end local 4 // java.awt.Point p
        end local 2 // long dst
        end local 0 // long src
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0         src  J
            0   20     2         dst  J
            0   20     4           p  Ljava/awt/Point;
            1   20     5  translated  Ljava/awt/Point;
            4   14     6         xtc  Lsun/awt/X11/XTranslateCoordinates;
            5    9     7      status  I
      Exception table:
        from    to  target  type
           4    10      10  any
           2    15      15  any
    MethodParameters:
      Name  Flags
      src   
      dst   
      p     

  static java.awt.Rectangle translateCoordinates(long, long, java.awt.Rectangle);
    descriptor: (JJLjava/awt/Rectangle;)Ljava/awt/Rectangle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // long src
        start local 2 // long dst
        start local 4 // java.awt.Rectangle r
         0: .line 179
            lload 0 /* src */
            lload 2 /* dst */
            aload 4 /* r */
            invokevirtual java.awt.Rectangle.getLocation:()Ljava/awt/Point;
            invokestatic sun.awt.X11.XlibUtil.translateCoordinates:(JJLjava/awt/Point;)Ljava/awt/Point;
            astore 5 /* translatedLoc */
        start local 5 // java.awt.Point translatedLoc
         1: .line 180
            aload 5 /* translatedLoc */
            ifnonnull 3
         2: .line 182
            aconst_null
            areturn
         3: .line 186
      StackMap locals: java.awt.Point
      StackMap stack:
            new java.awt.Rectangle
            dup
            aload 5 /* translatedLoc */
            aload 4 /* r */
            invokevirtual java.awt.Rectangle.getSize:()Ljava/awt/Dimension;
            invokespecial java.awt.Rectangle.<init>:(Ljava/awt/Point;Ljava/awt/Dimension;)V
            areturn
        end local 5 // java.awt.Point translatedLoc
        end local 4 // java.awt.Rectangle r
        end local 2 // long dst
        end local 0 // long src
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0            src  J
            0    4     2            dst  J
            0    4     4              r  Ljava/awt/Rectangle;
            1    4     5  translatedLoc  Ljava/awt/Point;
    MethodParameters:
      Name  Flags
      src   
      dst   
      r     

  static long getParentWindow(long);
    descriptor: (J)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // long window
         0: .line 195
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 198
            lload 0 /* window */
            invokestatic sun.awt.X11.XToolkit.windowToXWindow:(J)Lsun/awt/X11/XBaseWindow;
            astore 2 /* bw */
        start local 2 // sun.awt.X11.XBaseWindow bw
         2: .line 199
            aload 2 /* bw */
            ifnull 8
         3: .line 201
            aload 2 /* bw */
            invokevirtual sun.awt.X11.XBaseWindow.getParentWindow:()Lsun/awt/X11/XBaseWindow;
            astore 3 /* pbw */
        start local 3 // sun.awt.X11.XBaseWindow pbw
         4: .line 202
            aload 3 /* pbw */
            ifnull 8
         5: .line 204
            aload 3 /* pbw */
            invokevirtual sun.awt.X11.XBaseWindow.getWindow:()J
            lstore 8
         6: .line 227
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         7: .line 204
            lload 8
            lreturn
        end local 3 // sun.awt.X11.XBaseWindow pbw
         8: .line 208
      StackMap locals: sun.awt.X11.XBaseWindow
      StackMap stack:
            new sun.awt.X11.XQueryTree
            dup
            lload 0 /* window */
            invokespecial sun.awt.X11.XQueryTree.<init>:(J)V
            astore 3 /* qt */
        start local 3 // sun.awt.X11.XQueryTree qt
         9: .line 211
            aload 3 /* qt */
            invokevirtual sun.awt.X11.XQueryTree.execute:()I
            ifne 13
        10: .line 222
            aload 3 /* qt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        11: .line 227
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        12: .line 213
            lconst_0
            lreturn
        13: .line 217
      StackMap locals: sun.awt.X11.XQueryTree
      StackMap stack:
            aload 3 /* qt */
            invokevirtual sun.awt.X11.XQueryTree.get_parent:()J
            lstore 5
        14: .line 222
            aload 3 /* qt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        15: .line 227
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        16: .line 217
            lload 5
            lreturn
        17: .line 221
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        18: .line 222
            aload 3 /* qt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        19: .line 223
            aload 4
            athrow
        end local 3 // sun.awt.X11.XQueryTree qt
        end local 2 // sun.awt.X11.XBaseWindow bw
        20: .line 226
      StackMap locals: long
      StackMap stack: java.lang.Throwable
            astore 7
        21: .line 227
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        22: .line 228
            aload 7
            athrow
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0  window  J
            2   20     2      bw  Lsun/awt/X11/XBaseWindow;
            4    8     3     pbw  Lsun/awt/X11/XBaseWindow;
            9   20     3      qt  Lsun/awt/X11/XQueryTree;
      Exception table:
        from    to  target  type
           9    10      17  any
          13    14      17  any
           1     6      20  any
           8    11      20  any
          13    15      20  any
          17    20      20  any
    MethodParameters:
        Name  Flags
      window  

  static java.util.Set<java.lang.Long> getChildWindows(long);
    descriptor: (J)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // long window
         0: .line 236
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 239
            lload 0 /* window */
            invokestatic sun.awt.X11.XToolkit.windowToXWindow:(J)Lsun/awt/X11/XBaseWindow;
            astore 2 /* bw */
        start local 2 // sun.awt.X11.XBaseWindow bw
         2: .line 240
            aload 2 /* bw */
            ifnull 6
         3: .line 242
            aload 2 /* bw */
            invokevirtual sun.awt.X11.XBaseWindow.getChildren:()Ljava/util/Set;
            astore 13
         4: .line 278
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         5: .line 242
            aload 13
            areturn
         6: .line 245
      StackMap locals: sun.awt.X11.XBaseWindow
      StackMap stack:
            new sun.awt.X11.XQueryTree
            dup
            lload 0 /* window */
            invokespecial sun.awt.X11.XQueryTree.<init>:(J)V
            astore 3 /* xqt */
        start local 3 // sun.awt.X11.XQueryTree xqt
         7: .line 248
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.execute:()I
            istore 4 /* status */
        start local 4 // int status
         8: .line 249
            iload 4 /* status */
            ifne 13
         9: .line 251
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 11
        10: .line 273
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        11: .line 278
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        12: .line 251
            aload 11
            areturn
        13: .line 254
      StackMap locals: sun.awt.X11.XQueryTree int
      StackMap stack:
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.get_children:()J
            lstore 5 /* children */
        start local 5 // long children
        14: .line 256
            lload 5 /* children */
            lconst_0
            lcmp
            ifne 19
        15: .line 258
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 11
        16: .line 273
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        17: .line 278
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        18: .line 258
            aload 11
            areturn
        19: .line 261
      StackMap locals: long
      StackMap stack:
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.get_nchildren:()I
            istore 7 /* childrenCount */
        start local 7 // int childrenCount
        20: .line 263
            new java.util.HashSet
            dup
            iload 7 /* childrenCount */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 8 /* childrenSet */
        start local 8 // java.util.Set childrenSet
        21: .line 264
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        22: goto 25
        23: .line 266
      StackMap locals: int java.util.Set int
      StackMap stack:
            aload 8 /* childrenSet */
            lload 5 /* children */
            iload 9 /* i */
            invokestatic sun.awt.X11.Native.getWindow:(JI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 264
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 9 /* i */
            iload 7 /* childrenCount */
            if_icmplt 23
        end local 9 // int i
        26: .line 269
            aload 8 /* childrenSet */
            astore 11
        27: .line 273
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        28: .line 278
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        29: .line 269
            aload 11
            areturn
        end local 8 // java.util.Set childrenSet
        end local 7 // int childrenCount
        end local 5 // long children
        end local 4 // int status
        30: .line 272
      StackMap locals: long sun.awt.X11.XBaseWindow sun.awt.X11.XQueryTree
      StackMap stack: java.lang.Throwable
            astore 10
        31: .line 273
            aload 3 /* xqt */
            invokevirtual sun.awt.X11.XQueryTree.dispose:()V
        32: .line 274
            aload 10
            athrow
        end local 3 // sun.awt.X11.XQueryTree xqt
        end local 2 // sun.awt.X11.XBaseWindow bw
        33: .line 277
      StackMap locals: long
      StackMap stack: java.lang.Throwable
            astore 12
        34: .line 278
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        35: .line 279
            aload 12
            athrow
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0         window  J
            2   33     2             bw  Lsun/awt/X11/XBaseWindow;
            7   33     3            xqt  Lsun/awt/X11/XQueryTree;
            8   30     4         status  I
           14   30     5       children  J
           20   30     7  childrenCount  I
           21   30     8    childrenSet  Ljava/util/Set<Ljava/lang/Long;>;
           22   26     9              i  I
      Exception table:
        from    to  target  type
           7    10      30  any
          13    16      30  any
          19    27      30  any
           1     4      33  any
           6    11      33  any
          13    17      33  any
          19    28      33  any
          30    33      33  any
    Signature: (J)Ljava/util/Set<Ljava/lang/Long;>;
    MethodParameters:
        Name  Flags
      window  

  static boolean isXAWTToplevelWindow(long);
    descriptor: (J)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long window
         0: .line 288
            lload 0 /* window */
            invokestatic sun.awt.X11.XToolkit.windowToXWindow:(J)Lsun/awt/X11/XBaseWindow;
            instanceof sun.awt.X11.XWindowPeer
            ireturn
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  window  J
    MethodParameters:
        Name  Flags
      window  

  static boolean isToplevelWindow(long);
    descriptor: (J)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=11, locals=5, args_size=1
        start local 0 // long window
         0: .line 296
            lload 0 /* window */
            invokestatic sun.awt.X11.XToolkit.windowToXWindow:(J)Lsun/awt/X11/XBaseWindow;
            instanceof sun.awt.X11.XDecoratedPeer
            ifeq 2
         1: .line 298
            iconst_1
            ireturn
         2: .line 301
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         3: .line 305
            new sun.awt.X11.WindowPropertyGetter
            dup
            lload 0 /* window */
            getstatic sun.awt.X11.XWM.XA_WM_STATE:Lsun/awt/X11/XAtom;
            lconst_0
            lconst_1
            iconst_0
         4: .line 306
            getstatic sun.awt.X11.XWM.XA_WM_STATE:Lsun/awt/X11/XAtom;
         5: .line 305
            invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZLsun/awt/X11/XAtom;)V
         6: .line 304
            astore 2 /* wpg */
        start local 2 // sun.awt.X11.WindowPropertyGetter wpg
         7: .line 309
            aload 2 /* wpg */
            invokestatic sun.awt.X11.XErrorHandler$IgnoreBadWindowHandler.getInstance:()Lsun/awt/X11/XErrorHandler$IgnoreBadWindowHandler;
            invokevirtual sun.awt.X11.WindowPropertyGetter.execute:(Lsun/awt/X11/XErrorHandler;)I
            pop
         8: .line 310
            aload 2 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
            getstatic sun.awt.X11.XWM.XA_WM_STATE:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lcmp
            ifne 15
         9: .line 317
            aload 2 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        10: .line 324
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        11: .line 312
            iconst_1
            ireturn
        12: .line 316
      StackMap locals: long sun.awt.X11.WindowPropertyGetter
      StackMap stack: java.lang.Throwable
            astore 3
        13: .line 317
            aload 2 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        14: .line 318
            aload 3
            athrow
        15: .line 317
      StackMap locals:
      StackMap stack:
            aload 2 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        16: .line 324
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        17: .line 320
            iconst_0
            ireturn
        end local 2 // sun.awt.X11.WindowPropertyGetter wpg
        18: .line 323
      StackMap locals: long
      StackMap stack: java.lang.Throwable
            astore 4
        19: .line 324
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        20: .line 325
            aload 4
            athrow
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0  window  J
            7   18     2     wpg  Lsun/awt/X11/WindowPropertyGetter;
      Exception table:
        from    to  target  type
           7     9      12  any
           3    10      18  any
          12    16      18  any
    MethodParameters:
        Name  Flags
      window  

  static boolean isTrueToplevelWindow(long);
    descriptor: (J)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long window
         0: .line 334
            lload 0 /* window */
            invokestatic sun.awt.X11.XToolkit.windowToXWindow:(J)Lsun/awt/X11/XBaseWindow;
            instanceof sun.awt.X11.XEmbeddedFramePeer
            ifeq 2
         1: .line 336
            iconst_0
            ireturn
         2: .line 339
      StackMap locals:
      StackMap stack:
            lload 0 /* window */
            invokestatic sun.awt.X11.XlibUtil.isToplevelWindow:(J)Z
            ireturn
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  window  J
    MethodParameters:
        Name  Flags
      window  

  static int getWindowMapState(long);
    descriptor: (J)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // long window
         0: .line 344
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 345
            new sun.awt.X11.XWindowAttributes
            dup
            invokespecial sun.awt.X11.XWindowAttributes.<init>:()V
            astore 2 /* wattr */
        start local 2 // sun.awt.X11.XWindowAttributes wattr
         2: .line 348
            invokestatic sun.awt.X11.XErrorHandler$IgnoreBadWindowHandler.getInstance:()Lsun/awt/X11/XErrorHandler$IgnoreBadWindowHandler;
            invokestatic sun.awt.X11.XErrorHandlerUtil.WITH_XERROR_HANDLER:(Lsun/awt/X11/XErrorHandler;)V
         3: .line 349
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
         4: .line 350
            lload 0 /* window */
            aload 2 /* wattr */
            getfield sun.awt.X11.XWindowAttributes.pData:J
         5: .line 349
            invokestatic sun.awt.X11.XlibWrapper.XGetWindowAttributes:(JJJ)I
            istore 3 /* status */
        start local 3 // int status
         6: .line 351
            invokestatic sun.awt.X11.XErrorHandlerUtil.RESTORE_XERROR_HANDLER:()V
         7: .line 352
            iload 3 /* status */
            ifeq 18
         8: .line 353
            getstatic sun.awt.X11.XErrorHandlerUtil.saved_error:Lsun/awt/X11/XErrorEvent;
            ifnull 10
         9: .line 354
            getstatic sun.awt.X11.XErrorHandlerUtil.saved_error:Lsun/awt/X11/XErrorEvent;
            invokevirtual sun.awt.X11.XErrorEvent.get_error_code:()B
            ifne 18
        10: .line 356
      StackMap locals: sun.awt.X11.XWindowAttributes int
      StackMap stack:
            aload 2 /* wattr */
            invokevirtual sun.awt.X11.XWindowAttributes.get_map_state:()I
            istore 5
        11: .line 361
            aload 2 /* wattr */
            invokevirtual sun.awt.X11.XWindowAttributes.dispose:()V
        12: .line 362
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        13: .line 356
            iload 5
            ireturn
        end local 3 // int status
        14: .line 360
      StackMap locals: long sun.awt.X11.XWindowAttributes
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 361
            aload 2 /* wattr */
            invokevirtual sun.awt.X11.XWindowAttributes.dispose:()V
        16: .line 362
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        17: .line 363
            aload 4
            athrow
        18: .line 361
      StackMap locals:
      StackMap stack:
            aload 2 /* wattr */
            invokevirtual sun.awt.X11.XWindowAttributes.dispose:()V
        19: .line 362
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        20: .line 365
            iconst_0
            ireturn
        end local 2 // sun.awt.X11.XWindowAttributes wattr
        end local 0 // long window
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0  window  J
            2   21     2   wattr  Lsun/awt/X11/XWindowAttributes;
            6   14     3  status  I
      Exception table:
        from    to  target  type
           2    11      14  any
    MethodParameters:
        Name  Flags
      window  

  static synchronized boolean isShapingSupported();
    descriptor: ()Z
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=1, args_size=0
         0: .line 383
            getstatic sun.awt.X11.XlibUtil.isShapingSupported:Ljava/lang/Boolean;
            ifnonnull 12
         1: .line 384
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         2: .line 388
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
         3: .line 389
            getstatic sun.awt.X11.XlibWrapper.larg1:J
         4: .line 390
            getstatic sun.awt.X11.XlibWrapper.larg2:J
         5: .line 387
            invokestatic sun.awt.X11.XlibWrapper.XShapeQueryExtension:(JJJ)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         6: .line 386
            putstatic sun.awt.X11.XlibUtil.isShapingSupported:Ljava/lang/Boolean;
         7: .line 391
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 0
         9: .line 392
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        10: .line 393
            aload 0
            athrow
        11: .line 392
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        12: .line 396
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XlibUtil.isShapingSupported:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     8       8  any
}
SourceFile: "XlibUtil.java"
InnerClasses:
  public IgnoreBadWindowHandler = sun.awt.X11.XErrorHandler$IgnoreBadWindowHandler of sun.awt.X11.XErrorHandler