public final class sun.awt.im.CompositionArea extends javax.swing.JPanel implements java.awt.event.InputMethodListener
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.awt.im.CompositionArea
  super_class: javax.swing.JPanel
{
  private sun.awt.im.CompositionAreaHandler handler;
    descriptor: Lsun/awt/im/CompositionAreaHandler;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.font.TextLayout composedTextLayout;
    descriptor: Ljava/awt/font/TextLayout;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.font.TextHitInfo caret;
    descriptor: Ljava/awt/font/TextHitInfo;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.JFrame compositionWindow;
    descriptor: Ljavax/swing/JFrame;
    flags: (0x0002) ACC_PRIVATE

  private static final int TEXT_ORIGIN_X;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int TEXT_ORIGIN_Y;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private static final int PASSIVE_WIDTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 480

  private static final int WIDTH_MARGIN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int HEIGHT_MARGIN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1057247068746557444

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.awt.im.CompositionArea this
         0: .line 73
            aload 0 /* this */
            invokespecial javax.swing.JPanel.<init>:()V
         1: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.CompositionArea.caret:Ljava/awt/font/TextHitInfo;
         2: .line 75
            ldc "AWT.CompositionWindowTitle"
            ldc "Input Window"
            invokestatic java.awt.Toolkit.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* windowTitle */
        start local 1 // java.lang.String windowTitle
         3: .line 76
            aload 0 /* this */
         4: .line 77
            aload 1 /* windowTitle */
            aconst_null
            iconst_1
            invokestatic sun.awt.im.InputMethodContext.createInputMethodWindow:(Ljava/lang/String;Lsun/awt/im/InputContext;Z)Ljava/awt/Window;
            checkcast javax.swing.JFrame
         5: .line 76
            putfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
         6: .line 79
            aload 0 /* this */
            iconst_1
            invokevirtual sun.awt.im.CompositionArea.setOpaque:(Z)V
         7: .line 80
            aload 0 /* this */
            invokestatic javax.swing.border.LineBorder.createGrayLineBorder:()Ljavax/swing/border/Border;
            invokevirtual sun.awt.im.CompositionArea.setBorder:(Ljavax/swing/border/Border;)V
         8: .line 81
            aload 0 /* this */
            getstatic java.awt.Color.black:Ljava/awt/Color;
            invokevirtual sun.awt.im.CompositionArea.setForeground:(Ljava/awt/Color;)V
         9: .line 82
            aload 0 /* this */
            getstatic java.awt.Color.white:Ljava/awt/Color;
            invokevirtual sun.awt.im.CompositionArea.setBackground:(Ljava/awt/Color;)V
        10: .line 86
            aload 0 /* this */
            iconst_1
            invokevirtual sun.awt.im.CompositionArea.enableInputMethods:(Z)V
        11: .line 87
            aload 0 /* this */
            ldc 8
            invokevirtual sun.awt.im.CompositionArea.enableEvents:(J)V
        12: .line 89
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getContentPane:()Ljava/awt/Container;
            aload 0 /* this */
            invokevirtual java.awt.Container.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        13: .line 90
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            new sun.awt.im.CompositionArea$FrameWindowAdapter
            dup
            aload 0 /* this */
            invokespecial sun.awt.im.CompositionArea$FrameWindowAdapter.<init>:(Lsun/awt/im/CompositionArea;)V
            invokevirtual javax.swing.JFrame.addWindowListener:(Ljava/awt/event/WindowListener;)V
        14: .line 91
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.addInputMethodListener:(Ljava/awt/event/InputMethodListener;)V
        15: .line 92
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            iconst_0
            invokevirtual javax.swing.JFrame.enableInputMethods:(Z)V
        16: .line 93
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.pack:()V
        17: .line 94
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getSize:()Ljava/awt/Dimension;
            astore 2 /* windowSize */
        start local 2 // java.awt.Dimension windowSize
        18: .line 95
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getToolkit:()Ljava/awt/Toolkit;
            invokevirtual java.awt.Toolkit.getScreenSize:()Ljava/awt/Dimension;
            astore 3 /* screenSize */
        start local 3 // java.awt.Dimension screenSize
        19: .line 96
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            aload 2 /* windowSize */
            getfield java.awt.Dimension.width:I
            isub
            bipush 20
            isub
        20: .line 97
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            aload 2 /* windowSize */
            getfield java.awt.Dimension.height:I
            isub
            bipush 100
            isub
        21: .line 96
            invokevirtual javax.swing.JFrame.setLocation:(II)V
        22: .line 98
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            iconst_0
            invokevirtual javax.swing.JFrame.setVisible:(Z)V
        23: .line 99
            return
        end local 3 // java.awt.Dimension screenSize
        end local 2 // java.awt.Dimension windowSize
        end local 1 // java.lang.String windowTitle
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lsun/awt/im/CompositionArea;
            3   24     1  windowTitle  Ljava/lang/String;
           18   24     2   windowSize  Ljava/awt/Dimension;
           19   24     3   screenSize  Ljava/awt/Dimension;

  synchronized void setHandlerInfo(sun.awt.im.CompositionAreaHandler, sun.awt.im.InputContext);
    descriptor: (Lsun/awt/im/CompositionAreaHandler;Lsun/awt/im/InputContext;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // sun.awt.im.CompositionAreaHandler handler
        start local 2 // sun.awt.im.InputContext inputContext
         0: .line 106
            aload 0 /* this */
            aload 1 /* handler */
            putfield sun.awt.im.CompositionArea.handler:Lsun/awt/im/CompositionAreaHandler;
         1: .line 107
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            checkcast sun.awt.im.InputMethodWindow
            aload 2 /* inputContext */
            invokeinterface sun.awt.im.InputMethodWindow.setInputContext:(Lsun/awt/im/InputContext;)V
         2: .line 108
            return
        end local 2 // sun.awt.im.InputContext inputContext
        end local 1 // sun.awt.im.CompositionAreaHandler handler
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/awt/im/CompositionArea;
            0    3     1       handler  Lsun/awt/im/CompositionAreaHandler;
            0    3     2  inputContext  Lsun/awt/im/InputContext;
    MethodParameters:
              Name  Flags
      handler       
      inputContext  

  public java.awt.im.InputMethodRequests getInputMethodRequests();
    descriptor: ()Ljava/awt/im/InputMethodRequests;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.im.CompositionArea this
         0: .line 114
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.handler:Lsun/awt/im/CompositionAreaHandler;
            areturn
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/im/CompositionArea;

  private java.awt.Rectangle getCaretRectangle(java.awt.font.TextHitInfo);
    descriptor: (Ljava/awt/font/TextHitInfo;)Ljava/awt/Rectangle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.awt.font.TextHitInfo caret
         0: .line 119
            iconst_0
            istore 2 /* caretLocation */
        start local 2 // int caretLocation
         1: .line 120
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.composedTextLayout:Ljava/awt/font/TextLayout;
            astore 3 /* layout */
        start local 3 // java.awt.font.TextLayout layout
         2: .line 121
            aload 3 /* layout */
            ifnull 4
         3: .line 122
            aload 3 /* layout */
            aload 1 /* caret */
            invokevirtual java.awt.font.TextLayout.getCaretInfo:(Ljava/awt/font/TextHitInfo;)[F
            iconst_0
            faload
            invokestatic java.lang.Math.round:(F)I
            istore 2 /* caretLocation */
         4: .line 124
      StackMap locals: int java.awt.font.TextLayout
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getGraphics:()Ljava/awt/Graphics;
            astore 4 /* g */
        start local 4 // java.awt.Graphics g
         5: .line 125
            aconst_null
            astore 5 /* metrics */
        start local 5 // java.awt.FontMetrics metrics
         6: .line 127
            aload 4 /* g */
            invokevirtual java.awt.Graphics.getFontMetrics:()Ljava/awt/FontMetrics;
            astore 5 /* metrics */
         7: .line 128
            goto 11
      StackMap locals: sun.awt.im.CompositionArea java.awt.font.TextHitInfo int java.awt.font.TextLayout java.awt.Graphics java.awt.FontMetrics
      StackMap stack: java.lang.Throwable
         8: astore 6
         9: .line 129
            aload 4 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
        10: .line 130
            aload 6
            athrow
        11: .line 129
      StackMap locals:
      StackMap stack:
            aload 4 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
        12: .line 131
            new java.awt.Rectangle
            dup
            iconst_5
            iload 2 /* caretLocation */
            iadd
        13: .line 132
            bipush 15
            aload 5 /* metrics */
            invokevirtual java.awt.FontMetrics.getAscent:()I
            isub
        14: .line 133
            iconst_0
            aload 5 /* metrics */
            invokevirtual java.awt.FontMetrics.getAscent:()I
            aload 5 /* metrics */
            invokevirtual java.awt.FontMetrics.getDescent:()I
            iadd
        15: .line 131
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        end local 5 // java.awt.FontMetrics metrics
        end local 4 // java.awt.Graphics g
        end local 3 // java.awt.font.TextLayout layout
        end local 2 // int caretLocation
        end local 1 // java.awt.font.TextHitInfo caret
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lsun/awt/im/CompositionArea;
            0   16     1          caret  Ljava/awt/font/TextHitInfo;
            1   16     2  caretLocation  I
            2   16     3         layout  Ljava/awt/font/TextLayout;
            5   16     4              g  Ljava/awt/Graphics;
            6   16     5        metrics  Ljava/awt/FontMetrics;
      Exception table:
        from    to  target  type
           6     8       8  any
    MethodParameters:
       Name  Flags
      caret  

  public void paint(java.awt.Graphics);
    descriptor: (Ljava/awt/Graphics;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.awt.Graphics g
         0: .line 137
            aload 0 /* this */
            aload 1 /* g */
            invokespecial javax.swing.JPanel.paint:(Ljava/awt/Graphics;)V
         1: .line 138
            aload 1 /* g */
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getForeground:()Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         2: .line 139
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.composedTextLayout:Ljava/awt/font/TextLayout;
            astore 2 /* layout */
        start local 2 // java.awt.font.TextLayout layout
         3: .line 140
            aload 2 /* layout */
            ifnull 5
         4: .line 141
            aload 2 /* layout */
            aload 1 /* g */
            checkcast java.awt.Graphics2D
            ldc 5.0
            ldc 15.0
            invokevirtual java.awt.font.TextLayout.draw:(Ljava/awt/Graphics2D;FF)V
         5: .line 143
      StackMap locals: java.awt.font.TextLayout
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.caret:Ljava/awt/font/TextHitInfo;
            ifnull 10
         6: .line 144
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.caret:Ljava/awt/font/TextHitInfo;
            invokevirtual sun.awt.im.CompositionArea.getCaretRectangle:(Ljava/awt/font/TextHitInfo;)Ljava/awt/Rectangle;
            astore 3 /* rectangle */
        start local 3 // java.awt.Rectangle rectangle
         7: .line 145
            aload 1 /* g */
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getBackground:()Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setXORMode:(Ljava/awt/Color;)V
         8: .line 146
            aload 1 /* g */
            aload 3 /* rectangle */
            getfield java.awt.Rectangle.x:I
            aload 3 /* rectangle */
            getfield java.awt.Rectangle.y:I
            iconst_1
            aload 3 /* rectangle */
            getfield java.awt.Rectangle.height:I
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         9: .line 147
            aload 1 /* g */
            invokevirtual java.awt.Graphics.setPaintMode:()V
        end local 3 // java.awt.Rectangle rectangle
        10: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.awt.font.TextLayout layout
        end local 1 // java.awt.Graphics g
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/awt/im/CompositionArea;
            0   11     1          g  Ljava/awt/Graphics;
            3   11     2     layout  Ljava/awt/font/TextLayout;
            7   10     3  rectangle  Ljava/awt/Rectangle;
    MethodParameters:
      Name  Flags
      g     

  void setCompositionAreaVisible(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // boolean visible
         0: .line 153
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            iload 1 /* visible */
            invokevirtual javax.swing.JFrame.setVisible:(Z)V
         1: .line 154
            return
        end local 1 // boolean visible
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/awt/im/CompositionArea;
            0    2     1  visible  Z
    MethodParameters:
         Name  Flags
      visible  

  boolean isCompositionAreaVisible();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.im.CompositionArea this
         0: .line 158
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.isVisible:()Z
            ireturn
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/im/CompositionArea;

  public void inputMethodTextChanged(java.awt.event.InputMethodEvent);
    descriptor: (Ljava/awt/event/InputMethodEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.awt.event.InputMethodEvent event
         0: .line 170
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.handler:Lsun/awt/im/CompositionAreaHandler;
            aload 1 /* event */
            invokevirtual sun.awt.im.CompositionAreaHandler.inputMethodTextChanged:(Ljava/awt/event/InputMethodEvent;)V
         1: .line 171
            return
        end local 1 // java.awt.event.InputMethodEvent event
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/awt/im/CompositionArea;
            0    2     1  event  Ljava/awt/event/InputMethodEvent;
    MethodParameters:
       Name  Flags
      event  

  public void caretPositionChanged(java.awt.event.InputMethodEvent);
    descriptor: (Ljava/awt/event/InputMethodEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.awt.event.InputMethodEvent event
         0: .line 174
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.handler:Lsun/awt/im/CompositionAreaHandler;
            aload 1 /* event */
            invokevirtual sun.awt.im.CompositionAreaHandler.caretPositionChanged:(Ljava/awt/event/InputMethodEvent;)V
         1: .line 175
            return
        end local 1 // java.awt.event.InputMethodEvent event
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/awt/im/CompositionArea;
            0    2     1  event  Ljava/awt/event/InputMethodEvent;
    MethodParameters:
       Name  Flags
      event  

  void setText(java.text.AttributedCharacterIterator, java.awt.font.TextHitInfo);
    descriptor: (Ljava/text/AttributedCharacterIterator;Ljava/awt/font/TextHitInfo;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.text.AttributedCharacterIterator composedText
        start local 2 // java.awt.font.TextHitInfo caret
         0: .line 182
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.CompositionArea.composedTextLayout:Ljava/awt/font/TextLayout;
         1: .line 183
            aload 1 /* composedText */
            ifnonnull 5
         2: .line 185
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            iconst_0
            invokevirtual javax.swing.JFrame.setVisible:(Z)V
         3: .line 186
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.CompositionArea.caret:Ljava/awt/font/TextHitInfo;
         4: .line 187
            goto 36
         5: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.isVisible:()Z
            ifne 7
         6: .line 192
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            iconst_1
            invokevirtual javax.swing.JFrame.setVisible:(Z)V
         7: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getGraphics:()Ljava/awt/Graphics;
            astore 3 /* g */
        start local 3 // java.awt.Graphics g
         8: .line 197
            aload 3 /* g */
            ifnonnull 10
         9: .line 198
            return
        10: .line 202
      StackMap locals: java.awt.Graphics
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.updateWindowLocation:()V
        11: .line 204
            aload 3 /* g */
            checkcast java.awt.Graphics2D
            invokevirtual java.awt.Graphics2D.getFontRenderContext:()Ljava/awt/font/FontRenderContext;
            astore 4 /* context */
        start local 4 // java.awt.font.FontRenderContext context
        12: .line 205
            aload 0 /* this */
            new java.awt.font.TextLayout
            dup
            aload 1 /* composedText */
            aload 4 /* context */
            invokespecial java.awt.font.TextLayout.<init>:(Ljava/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;)V
            putfield sun.awt.im.CompositionArea.composedTextLayout:Ljava/awt/font/TextLayout;
        13: .line 206
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.composedTextLayout:Ljava/awt/font/TextLayout;
            invokevirtual java.awt.font.TextLayout.getBounds:()Ljava/awt/geom/Rectangle2D;
            astore 5 /* bounds */
        start local 5 // java.awt.geom.Rectangle2D bounds
        14: .line 208
            aload 0 /* this */
            aload 2 /* caret */
            putfield sun.awt.im.CompositionArea.caret:Ljava/awt/font/TextHitInfo;
        15: .line 211
            aload 3 /* g */
            invokevirtual java.awt.Graphics.getFontMetrics:()Ljava/awt/FontMetrics;
            astore 6 /* metrics */
        start local 6 // java.awt.FontMetrics metrics
        16: .line 212
            aload 6 /* metrics */
            aload 3 /* g */
            invokevirtual java.awt.FontMetrics.getMaxCharBounds:(Ljava/awt/Graphics;)Ljava/awt/geom/Rectangle2D;
            astore 7 /* maxCharBoundsRec */
        start local 7 // java.awt.geom.Rectangle2D maxCharBoundsRec
        17: .line 213
            aload 7 /* maxCharBoundsRec */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            d2i
            iconst_3
            iadd
            istore 8 /* newHeight */
        start local 8 // int newHeight
        18: .line 214
            iload 8 /* newHeight */
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getInsets:()Ljava/awt/Insets;
            getfield java.awt.Insets.top:I
            iadd
        19: .line 215
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getInsets:()Ljava/awt/Insets;
            getfield java.awt.Insets.bottom:I
        20: .line 214
            iadd
            istore 9 /* newFrameHeight */
        start local 9 // int newFrameHeight
        21: .line 217
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.handler:Lsun/awt/im/CompositionAreaHandler;
            invokevirtual sun.awt.im.CompositionAreaHandler.getClientInputMethodRequests:()Ljava/awt/im/InputMethodRequests;
            astore 10 /* req */
        start local 10 // java.awt.im.InputMethodRequests req
        22: .line 218
            aload 10 /* req */
            ifnonnull 23
            sipush 480
            goto 24
      StackMap locals: sun.awt.im.CompositionArea java.text.AttributedCharacterIterator java.awt.font.TextHitInfo java.awt.Graphics java.awt.font.FontRenderContext java.awt.geom.Rectangle2D java.awt.FontMetrics java.awt.geom.Rectangle2D int int java.awt.im.InputMethodRequests
      StackMap stack:
        23: aload 5 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            d2i
            bipush 10
            iadd
      StackMap locals:
      StackMap stack: int
        24: istore 11 /* newWidth */
        start local 11 // int newWidth
        25: .line 219
            iload 11 /* newWidth */
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getInsets:()Ljava/awt/Insets;
            getfield java.awt.Insets.left:I
            iadd
        26: .line 220
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getInsets:()Ljava/awt/Insets;
            getfield java.awt.Insets.right:I
        27: .line 219
            iadd
            istore 12 /* newFrameWidth */
        start local 12 // int newFrameWidth
        28: .line 221
            aload 0 /* this */
            new java.awt.Dimension
            dup
            iload 11 /* newWidth */
            iload 8 /* newHeight */
            invokespecial java.awt.Dimension.<init>:(II)V
            invokevirtual sun.awt.im.CompositionArea.setPreferredSize:(Ljava/awt/Dimension;)V
        29: .line 222
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            new java.awt.Dimension
            dup
            iload 12 /* newFrameWidth */
            iload 9 /* newFrameHeight */
            invokespecial java.awt.Dimension.<init>:(II)V
            invokevirtual javax.swing.JFrame.setSize:(Ljava/awt/Dimension;)V
        30: .line 225
            aload 0 /* this */
            aload 3 /* g */
            invokevirtual sun.awt.im.CompositionArea.paint:(Ljava/awt/Graphics;)V
        end local 12 // int newFrameWidth
        end local 11 // int newWidth
        end local 10 // java.awt.im.InputMethodRequests req
        end local 9 // int newFrameHeight
        end local 8 // int newHeight
        end local 7 // java.awt.geom.Rectangle2D maxCharBoundsRec
        end local 6 // java.awt.FontMetrics metrics
        end local 5 // java.awt.geom.Rectangle2D bounds
        end local 4 // java.awt.font.FontRenderContext context
        31: .line 226
            goto 35
        32: .line 227
      StackMap locals: sun.awt.im.CompositionArea java.text.AttributedCharacterIterator java.awt.font.TextHitInfo java.awt.Graphics
      StackMap stack: java.lang.Throwable
            astore 13
        33: .line 228
            aload 3 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
        34: .line 229
            aload 13
            athrow
        35: .line 228
      StackMap locals:
      StackMap stack:
            aload 3 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
        end local 3 // java.awt.Graphics g
        36: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.awt.font.TextHitInfo caret
        end local 1 // java.text.AttributedCharacterIterator composedText
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   37     0              this  Lsun/awt/im/CompositionArea;
            0   37     1      composedText  Ljava/text/AttributedCharacterIterator;
            0   37     2             caret  Ljava/awt/font/TextHitInfo;
            8   36     3                 g  Ljava/awt/Graphics;
           12   31     4           context  Ljava/awt/font/FontRenderContext;
           14   31     5            bounds  Ljava/awt/geom/Rectangle2D;
           16   31     6           metrics  Ljava/awt/FontMetrics;
           17   31     7  maxCharBoundsRec  Ljava/awt/geom/Rectangle2D;
           18   31     8         newHeight  I
           21   31     9    newFrameHeight  I
           22   31    10               req  Ljava/awt/im/InputMethodRequests;
           25   31    11          newWidth  I
           28   31    12     newFrameWidth  I
      Exception table:
        from    to  target  type
          10    32      32  any
    MethodParameters:
              Name  Flags
      composedText  
      caret         

  void setCaret(java.awt.font.TextHitInfo);
    descriptor: (Ljava/awt/font/TextHitInfo;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.awt.font.TextHitInfo caret
         0: .line 238
            aload 0 /* this */
            aload 1 /* caret */
            putfield sun.awt.im.CompositionArea.caret:Ljava/awt/font/TextHitInfo;
         1: .line 239
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.isVisible:()Z
            ifeq 9
         2: .line 240
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getGraphics:()Ljava/awt/Graphics;
            astore 2 /* g */
        start local 2 // java.awt.Graphics g
         3: .line 242
            aload 0 /* this */
            aload 2 /* g */
            invokevirtual sun.awt.im.CompositionArea.paint:(Ljava/awt/Graphics;)V
         4: .line 243
            goto 8
      StackMap locals: sun.awt.im.CompositionArea java.awt.font.TextHitInfo java.awt.Graphics
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 244
            aload 2 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
         7: .line 245
            aload 3
            athrow
         8: .line 244
      StackMap locals:
      StackMap stack:
            aload 2 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
        end local 2 // java.awt.Graphics g
         9: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.font.TextHitInfo caret
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/awt/im/CompositionArea;
            0   10     1  caret  Ljava/awt/font/TextHitInfo;
            3    9     2      g  Ljava/awt/Graphics;
      Exception table:
        from    to  target  type
           3     5       5  any
    MethodParameters:
       Name  Flags
      caret  

  void updateWindowLocation();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.awt.im.CompositionArea this
         0: .line 255
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.handler:Lsun/awt/im/CompositionAreaHandler;
            invokevirtual sun.awt.im.CompositionAreaHandler.getClientInputMethodRequests:()Ljava/awt/im/InputMethodRequests;
            astore 1 /* req */
        start local 1 // java.awt.im.InputMethodRequests req
         1: .line 256
            aload 1 /* req */
            ifnonnull 3
         2: .line 258
            return
         3: .line 261
      StackMap locals: java.awt.im.InputMethodRequests
      StackMap stack:
            new java.awt.Point
            dup
            invokespecial java.awt.Point.<init>:()V
            astore 2 /* windowLocation */
        start local 2 // java.awt.Point windowLocation
         4: .line 263
            aload 1 /* req */
            aconst_null
            invokeinterface java.awt.im.InputMethodRequests.getTextLocation:(Ljava/awt/font/TextHitInfo;)Ljava/awt/Rectangle;
            astore 3 /* caretRect */
        start local 3 // java.awt.Rectangle caretRect
         5: .line 264
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            invokevirtual java.awt.Toolkit.getScreenSize:()Ljava/awt/Dimension;
            astore 4 /* screenSize */
        start local 4 // java.awt.Dimension screenSize
         6: .line 265
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.getSize:()Ljava/awt/Dimension;
            astore 5 /* windowSize */
        start local 5 // java.awt.Dimension windowSize
         7: .line 268
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.x:I
            aload 5 /* windowSize */
            getfield java.awt.Dimension.width:I
            iadd
            aload 4 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmple 10
         8: .line 269
            aload 2 /* windowLocation */
            aload 4 /* screenSize */
            getfield java.awt.Dimension.width:I
            aload 5 /* windowSize */
            getfield java.awt.Dimension.width:I
            isub
            putfield java.awt.Point.x:I
         9: .line 270
            goto 11
        10: .line 271
      StackMap locals: sun.awt.im.CompositionArea java.awt.im.InputMethodRequests java.awt.Point java.awt.Rectangle java.awt.Dimension java.awt.Dimension
      StackMap stack:
            aload 2 /* windowLocation */
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.x:I
            putfield java.awt.Point.x:I
        11: .line 274
      StackMap locals:
      StackMap stack:
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.y:I
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.height:I
            iadd
            iconst_2
            iadd
            aload 5 /* windowSize */
            getfield java.awt.Dimension.height:I
            iadd
            aload 4 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmple 14
        12: .line 275
            aload 2 /* windowLocation */
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.y:I
            iconst_2
            isub
            aload 5 /* windowSize */
            getfield java.awt.Dimension.height:I
            isub
            putfield java.awt.Point.y:I
        13: .line 276
            goto 15
        14: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* windowLocation */
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.y:I
            aload 3 /* caretRect */
            getfield java.awt.Rectangle.height:I
            iadd
            iconst_2
            iadd
            putfield java.awt.Point.y:I
        15: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            aload 2 /* windowLocation */
            invokevirtual javax.swing.JFrame.setLocation:(Ljava/awt/Point;)V
        16: .line 281
            return
        end local 5 // java.awt.Dimension windowSize
        end local 4 // java.awt.Dimension screenSize
        end local 3 // java.awt.Rectangle caretRect
        end local 2 // java.awt.Point windowLocation
        end local 1 // java.awt.im.InputMethodRequests req
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lsun/awt/im/CompositionArea;
            1   17     1             req  Ljava/awt/im/InputMethodRequests;
            4   17     2  windowLocation  Ljava/awt/Point;
            5   17     3       caretRect  Ljava/awt/Rectangle;
            6   17     4      screenSize  Ljava/awt/Dimension;
            7   17     5      windowSize  Ljava/awt/Dimension;

  java.awt.Rectangle getTextLocation(java.awt.font.TextHitInfo);
    descriptor: (Ljava/awt/font/TextHitInfo;)Ljava/awt/Rectangle;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // java.awt.font.TextHitInfo offset
         0: .line 285
            aload 0 /* this */
            aload 1 /* offset */
            invokevirtual sun.awt.im.CompositionArea.getCaretRectangle:(Ljava/awt/font/TextHitInfo;)Ljava/awt/Rectangle;
            astore 2 /* rectangle */
        start local 2 // java.awt.Rectangle rectangle
         1: .line 286
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getLocationOnScreen:()Ljava/awt/Point;
            astore 3 /* location */
        start local 3 // java.awt.Point location
         2: .line 287
            aload 2 /* rectangle */
            aload 3 /* location */
            getfield java.awt.Point.x:I
            aload 3 /* location */
            getfield java.awt.Point.y:I
            invokevirtual java.awt.Rectangle.translate:(II)V
         3: .line 288
            aload 2 /* rectangle */
            areturn
        end local 3 // java.awt.Point location
        end local 2 // java.awt.Rectangle rectangle
        end local 1 // java.awt.font.TextHitInfo offset
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/awt/im/CompositionArea;
            0    4     1     offset  Ljava/awt/font/TextHitInfo;
            1    4     2  rectangle  Ljava/awt/Rectangle;
            2    4     3   location  Ljava/awt/Point;
    MethodParameters:
        Name  Flags
      offset  

  java.awt.font.TextHitInfo getLocationOffset(int, int);
    descriptor: (II)Ljava/awt/font/TextHitInfo;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // int x
        start local 2 // int y
         0: .line 292
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.composedTextLayout:Ljava/awt/font/TextLayout;
            astore 3 /* layout */
        start local 3 // java.awt.font.TextLayout layout
         1: .line 293
            aload 3 /* layout */
            ifnonnull 3
         2: .line 294
            aconst_null
            areturn
         3: .line 296
      StackMap locals: java.awt.font.TextLayout
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.CompositionArea.getLocationOnScreen:()Ljava/awt/Point;
            astore 4 /* location */
        start local 4 // java.awt.Point location
         4: .line 297
            iload 1 /* x */
            aload 4 /* location */
            getfield java.awt.Point.x:I
            iconst_5
            iadd
            isub
            istore 1 /* x */
         5: .line 298
            iload 2 /* y */
            aload 4 /* location */
            getfield java.awt.Point.y:I
            bipush 15
            iadd
            isub
            istore 2 /* y */
         6: .line 299
            aload 3 /* layout */
            invokevirtual java.awt.font.TextLayout.getBounds:()Ljava/awt/geom/Rectangle2D;
            iload 1 /* x */
            i2d
            iload 2 /* y */
            i2d
            invokevirtual java.awt.geom.Rectangle2D.contains:(DD)Z
            ifeq 8
         7: .line 300
            aload 3 /* layout */
            iload 1 /* x */
            i2f
            iload 2 /* y */
            i2f
            invokevirtual java.awt.font.TextLayout.hitTestChar:(FF)Ljava/awt/font/TextHitInfo;
            areturn
         8: .line 302
      StackMap locals: java.awt.Point
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.awt.Point location
        end local 3 // java.awt.font.TextLayout layout
        end local 2 // int y
        end local 1 // int x
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/awt/im/CompositionArea;
            0    9     1         x  I
            0    9     2         y  I
            1    9     3    layout  Ljava/awt/font/TextLayout;
            4    9     4  location  Ljava/awt/Point;
    MethodParameters:
      Name  Flags
      x     
      y     

  void setCompositionAreaUndecorated(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.CompositionArea this
        start local 1 // boolean setUndecorated
         0: .line 309
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.isDisplayable:()Z
            ifeq 2
         1: .line 310
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.removeNotify:()V
         2: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            iload 1 /* setUndecorated */
            invokevirtual javax.swing.JFrame.setUndecorated:(Z)V
         3: .line 313
            aload 0 /* this */
            getfield sun.awt.im.CompositionArea.compositionWindow:Ljavax/swing/JFrame;
            invokevirtual javax.swing.JFrame.pack:()V
         4: .line 314
            return
        end local 1 // boolean setUndecorated
        end local 0 // sun.awt.im.CompositionArea this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/awt/im/CompositionArea;
            0    5     1  setUndecorated  Z
    MethodParameters:
                Name  Flags
      setUndecorated  
}
SourceFile: "CompositionArea.java"
NestMembers:
  sun.awt.im.CompositionArea$FrameWindowAdapter
InnerClasses:
  FrameWindowAdapter = sun.awt.im.CompositionArea$FrameWindowAdapter of sun.awt.im.CompositionArea