public class sun.awt.X11.XInputMethod extends sun.awt.X11InputMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.X11.XInputMethod
  super_class: sun.awt.X11InputMethod
{
  private static final sun.util.logging.PlatformLogger log;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile long xicFocus;
    descriptor: J
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 44
            ldc "sun.awt.X11.XInputMethod"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.X11.XInputMethod.log:Lsun/util/logging/PlatformLogger;
         1: .line 74
            lconst_0
            putstatic sun.awt.X11.XInputMethod.xicFocus:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 47
            aload 0 /* this */
            invokespecial sun.awt.X11InputMethod.<init>:()V
         1: .line 48
            return
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XInputMethod;
    Exceptions:
      throws java.awt.AWTException

  public void setInputMethodContext(java.awt.im.spi.InputMethodContext);
    descriptor: (Ljava/awt/im/spi/InputMethodContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.X11.XInputMethod this
        start local 1 // java.awt.im.spi.InputMethodContext context
         0: .line 51
            aload 1 /* context */
            aload 0 /* this */
            iconst_1
            invokeinterface java.awt.im.spi.InputMethodContext.enableClientWindowNotification:(Ljava/awt/im/spi/InputMethod;Z)V
         1: .line 52
            return
        end local 1 // java.awt.im.spi.InputMethodContext context
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/awt/X11/XInputMethod;
            0    2     1  context  Ljava/awt/im/spi/InputMethodContext;
    MethodParameters:
         Name  Flags
      context  

  public void notifyClientWindowChange(java.awt.Rectangle);
    descriptor: (Ljava/awt/Rectangle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.awt.X11.XInputMethod this
        start local 1 // java.awt.Rectangle location
         0: .line 55
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XInputMethod.clientComponentWindow:Ljava/awt/Container;
            invokevirtual sun.awt.X11.XInputMethod.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.X11.XComponentPeer
            astore 2 /* peer */
        start local 2 // sun.awt.X11.XComponentPeer peer
         1: .line 56
            aload 2 /* peer */
            ifnull 3
         2: .line 57
            aload 0 /* this */
            aload 2 /* peer */
            invokevirtual sun.awt.X11.XComponentPeer.getContentWindow:()J
            invokevirtual sun.awt.X11.XInputMethod.adjustStatusWindow:(J)V
         3: .line 59
      StackMap locals: sun.awt.X11.XComponentPeer
      StackMap stack:
            return
        end local 2 // sun.awt.X11.XComponentPeer peer
        end local 1 // java.awt.Rectangle location
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/awt/X11/XInputMethod;
            0    4     1  location  Ljava/awt/Rectangle;
            1    4     2      peer  Lsun/awt/X11/XComponentPeer;
    MethodParameters:
          Name  Flags
      location  

  protected boolean openXIM();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 62
            aload 0 /* this */
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            invokevirtual sun.awt.X11.XInputMethod.openXIMNative:(J)Z
            ireturn
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XInputMethod;

  protected boolean createXIC();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 66
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XInputMethod.clientComponentWindow:Ljava/awt/Container;
            invokevirtual sun.awt.X11.XInputMethod.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.X11.XComponentPeer
            astore 1 /* peer */
        start local 1 // sun.awt.X11.XComponentPeer peer
         1: .line 67
            aload 1 /* peer */
            ifnonnull 3
         2: .line 68
            iconst_0
            ireturn
         3: .line 70
      StackMap locals: sun.awt.X11.XComponentPeer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* peer */
            invokevirtual sun.awt.X11.XComponentPeer.getContentWindow:()J
            invokevirtual sun.awt.X11.XInputMethod.createXICNative:(J)Z
            ireturn
        end local 1 // sun.awt.X11.XComponentPeer peer
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/X11/XInputMethod;
            1    4     1  peer  Lsun/awt/X11/XComponentPeer;

  protected void setXICFocus(java.awt.peer.ComponentPeer, boolean, boolean);
    descriptor: (Ljava/awt/peer/ComponentPeer;ZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.awt.X11.XInputMethod this
        start local 1 // java.awt.peer.ComponentPeer peer
        start local 2 // boolean value
        start local 3 // boolean active
         0: .line 78
            aload 1 /* peer */
            ifnonnull 2
         1: .line 79
            return
         2: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* peer */
            checkcast sun.awt.X11.XComponentPeer
            invokevirtual sun.awt.X11.XComponentPeer.getContentWindow:()J
            putstatic sun.awt.X11.XInputMethod.xicFocus:J
         3: .line 82
            aload 0 /* this */
            aload 1 /* peer */
            checkcast sun.awt.X11.XComponentPeer
            invokevirtual sun.awt.X11.XComponentPeer.getContentWindow:()J
         4: .line 83
            iload 2 /* value */
         5: .line 84
            iload 3 /* active */
         6: .line 82
            invokevirtual sun.awt.X11.XInputMethod.setXICFocusNative:(JZZ)V
         7: .line 85
            return
        end local 3 // boolean active
        end local 2 // boolean value
        end local 1 // java.awt.peer.ComponentPeer peer
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/awt/X11/XInputMethod;
            0    8     1    peer  Ljava/awt/peer/ComponentPeer;
            0    8     2   value  Z
            0    8     3  active  Z
    MethodParameters:
        Name  Flags
      peer    
      value   
      active  

  public static long getXICFocus();
    descriptor: ()J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 88
            getstatic sun.awt.X11.XInputMethod.xicFocus:J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.awt.Container getParent(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Ljava/awt/Container;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.awt.X11.XInputMethod this
        start local 1 // java.awt.Component client
         0: .line 95
            aload 1 /* client */
            invokevirtual java.awt.Component.getParent:()Ljava/awt/Container;
            areturn
        end local 1 // java.awt.Component client
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/awt/X11/XInputMethod;
            0    1     1  client  Ljava/awt/Component;
    MethodParameters:
        Name  Flags
      client  

  protected java.awt.peer.ComponentPeer getPeer(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.awt.X11.XInputMethod this
        start local 1 // java.awt.Component client
         0: .line 105
            getstatic sun.awt.X11.XInputMethod.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINE:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 2
         1: .line 106
            getstatic sun.awt.X11.XInputMethod.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Client is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* client */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;)V
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* client */
            invokestatic sun.awt.X11.XToolkit.targetToPeer:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.X11.XComponentPeer
            astore 2 /* peer */
        start local 2 // sun.awt.X11.XComponentPeer peer
         3: .line 109
            goto 6
         4: .line 110
      StackMap locals: sun.awt.X11.XComponentPeer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* client */
            invokevirtual sun.awt.X11.XInputMethod.getParent:(Ljava/awt/Component;)Ljava/awt/Container;
            astore 1 /* client */
         5: .line 111
            aload 1 /* client */
            invokestatic sun.awt.X11.XToolkit.targetToPeer:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.X11.XComponentPeer
            astore 2 /* peer */
         6: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* client */
            ifnull 7
            aload 2 /* peer */
            ifnull 4
         7: .line 113
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XInputMethod.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINE:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 9
         8: .line 114
            getstatic sun.awt.X11.XInputMethod.log:Lsun/util/logging/PlatformLogger;
            ldc "Peer is {0}, client is {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* peer */
            aastore
            dup
            iconst_1
            aload 1 /* client */
            aastore
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 117
      StackMap locals:
      StackMap stack:
            aload 2 /* peer */
            ifnull 11
        10: .line 118
            aload 2 /* peer */
            areturn
        11: .line 120
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.awt.X11.XComponentPeer peer
        end local 1 // java.awt.Component client
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lsun/awt/X11/XInputMethod;
            0   12     1  client  Ljava/awt/Component;
            3   12     2    peer  Lsun/awt/X11/XComponentPeer;
    MethodParameters:
        Name  Flags
      client  

  protected synchronized void disposeImpl();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 128
            aload 0 /* this */
            invokespecial sun.awt.X11InputMethod.disposeImpl:()V
         1: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XInputMethod.clientComponentWindow:Ljava/awt/Container;
         2: .line 130
            return
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/X11/XInputMethod;

  protected void awtLock();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 133
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 134
            return
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XInputMethod;

  protected void awtUnlock();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 137
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         1: .line 138
            return
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XInputMethod;

  long getCurrentParentWindow();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XInputMethod this
         0: .line 141
            aload 0 /* this */
            getfield sun.awt.X11.XInputMethod.clientComponentWindow:Ljava/awt/Container;
            invokevirtual java.awt.Container.getPeer:()Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.X11.XWindow
            invokevirtual sun.awt.X11.XWindow.getContentWindow:()J
            lreturn
        end local 0 // sun.awt.X11.XInputMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XInputMethod;

  private native boolean openXIMNative(long);
    descriptor: (J)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      display  

  private native boolean createXICNative(long);
    descriptor: (J)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      window  

  private native void setXICFocusNative(long, boolean, boolean);
    descriptor: (JZZ)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      window  
      value   
      active  

  private native void adjustStatusWindow(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      window  
}
SourceFile: "XInputMethod.java"
InnerClasses:
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger