class sun.lwawt.macosx.CInputMethod$3 implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.lwawt.macosx.CInputMethod$3
  super_class: java.lang.Object
{
  final sun.lwawt.macosx.CInputMethod this$0;
    descriptor: Lsun/lwawt/macosx/CInputMethod;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String[] val$retString;
    descriptor: [Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$locationIn;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$lengthIn;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.lwawt.macosx.CInputMethod, java.lang.String[], int, int);
    descriptor: (Lsun/lwawt/macosx/CInputMethod;[Ljava/lang/String;II)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // sun.lwawt.macosx.CInputMethod$3 this
         0: .line 586
            aload 0 /* this */
            aload 1
            putfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            aload 0 /* this */
            aload 2
            putfield sun.lwawt.macosx.CInputMethod$3.val$retString:[Ljava/lang/String;
            aload 0 /* this */
            iload 3
            putfield sun.lwawt.macosx.CInputMethod$3.val$locationIn:I
            aload 0 /* this */
            iload 4
            putfield sun.lwawt.macosx.CInputMethod$3.val$lengthIn:I
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.lwawt.macosx.CInputMethod$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/lwawt/macosx/CInputMethod$3;
    MethodParameters:
                Name  Flags
      this$0          final
      val$retString   final
      val$locationIn  final
      val$lengthIn    final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // sun.lwawt.macosx.CInputMethod$3 this
         0: .line 587
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.val$retString:[Ljava/lang/String;
            dup
            astore 1
            monitorenter
         1: .line 588
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.val$locationIn:I
            istore 2 /* location */
        start local 2 // int location
         2: .line 589
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.val$lengthIn:I
            istore 3 /* length */
        start local 3 // int length
         3: .line 591
            iload 2 /* location */
            iload 3 /* length */
            iadd
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fIMContext:Ljava/awt/im/spi/InputMethodContext;
            invokeinterface java.awt.im.spi.InputMethodContext.getCommittedTextLength:()I
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fCurrentTextLength:I
            iadd
            if_icmple 5
         4: .line 592
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fIMContext:Ljava/awt/im/spi/InputMethodContext;
            invokeinterface java.awt.im.spi.InputMethodContext.getCommittedTextLength:()I
            iload 2 /* location */
            isub
            istore 3 /* length */
         5: .line 595
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aconst_null
            astore 4 /* theIterator */
        start local 4 // java.text.AttributedCharacterIterator theIterator
         6: .line 597
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fCurrentText:Ljava/text/AttributedString;
            ifnonnull 9
         7: .line 598
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fIMContext:Ljava/awt/im/spi/InputMethodContext;
            iload 2 /* location */
            iload 2 /* location */
            iload 3 /* length */
            iadd
            aconst_null
            invokeinterface java.awt.im.spi.InputMethodContext.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
            astore 4 /* theIterator */
         8: .line 599
            goto 17
         9: .line 600
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fIMContext:Ljava/awt/im/spi/InputMethodContext;
            invokeinterface java.awt.im.spi.InputMethodContext.getInsertPositionOffset:()I
            istore 5 /* insertSpot */
        start local 5 // int insertSpot
        10: .line 602
            iload 2 /* location */
            iload 5 /* insertSpot */
            if_icmpge 13
        11: .line 603
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fIMContext:Ljava/awt/im/spi/InputMethodContext;
            iload 2 /* location */
            iload 2 /* location */
            iload 3 /* length */
            iadd
            aconst_null
            invokeinterface java.awt.im.spi.InputMethodContext.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
            astore 4 /* theIterator */
        12: .line 604
            goto 17
      StackMap locals: int
      StackMap stack:
        13: iload 2 /* location */
            iload 5 /* insertSpot */
            if_icmplt 16
            iload 2 /* location */
            iload 5 /* insertSpot */
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fCurrentTextLength:I
            iadd
            if_icmpge 16
        14: .line 605
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fCurrentText:Ljava/text/AttributedString;
            aconst_null
            iload 2 /* location */
            iload 5 /* insertSpot */
            isub
            iload 2 /* location */
            iload 5 /* insertSpot */
            isub
            iload 3 /* length */
            iadd
            invokevirtual java.text.AttributedString.getIterator:([Ljava/text/AttributedCharacterIterator$Attribute;II)Ljava/text/AttributedCharacterIterator;
            astore 4 /* theIterator */
        15: .line 606
            goto 17
        16: .line 607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fIMContext:Ljava/awt/im/spi/InputMethodContext;
            iload 2 /* location */
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fCurrentTextLength:I
            isub
            iload 2 /* location */
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.this$0:Lsun/lwawt/macosx/CInputMethod;
            getfield sun.lwawt.macosx.CInputMethod.fCurrentTextLength:I
            isub
            iload 3 /* length */
            iadd
            aconst_null
            invokeinterface java.awt.im.spi.InputMethodContext.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
            astore 4 /* theIterator */
        end local 5 // int insertSpot
        17: .line 612
      StackMap locals:
      StackMap stack:
            aload 4 /* theIterator */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            aload 4 /* theIterator */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            isub
            newarray 5
            astore 5 /* selectedText */
        start local 5 // char[] selectedText
        18: .line 613
            aload 4 /* theIterator */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 6 /* current */
        start local 6 // char current
        19: .line 614
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        20: .line 615
            goto 23
        21: .line 616
      StackMap locals: char[] int int
      StackMap stack:
            aload 5 /* selectedText */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iload 6 /* current */
            castore
        22: .line 617
            aload 4 /* theIterator */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 6 /* current */
        23: .line 615
      StackMap locals:
      StackMap stack:
            iload 6 /* current */
            ldc 65535
            if_icmpne 21
        24: .line 620
            aload 0 /* this */
            getfield sun.lwawt.macosx.CInputMethod$3.val$retString:[Ljava/lang/String;
            iconst_0
            new java.lang.String
            dup
            aload 5 /* selectedText */
            invokespecial java.lang.String.<init>:([C)V
            aastore
        end local 7 // int index
        end local 6 // char current
        end local 5 // char[] selectedText
        end local 4 // java.text.AttributedCharacterIterator theIterator
        end local 3 // int length
        end local 2 // int location
        25: .line 587
            aload 1
            monitorexit
        26: goto 29
      StackMap locals: sun.lwawt.macosx.CInputMethod$3 java.lang.String[]
      StackMap stack: java.lang.Throwable
        27: aload 1
            monitorexit
        28: athrow
        29: .line 621
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.lwawt.macosx.CInputMethod$3 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lsun/lwawt/macosx/CInputMethod$3;
            2   25     2      location  I
            3   25     3        length  I
            6   25     4   theIterator  Ljava/text/AttributedCharacterIterator;
           10   17     5    insertSpot  I
           18   25     5  selectedText  [C
           19   25     6       current  C
           20   25     7         index  I
      Exception table:
        from    to  target  type
           1    26      27  any
          27    28      27  any
}
SourceFile: "CInputMethod.java"
EnclosingMethod: sun.lwawt.macosx.CInputMethod.attributedSubstringFromRange:(II)Ljava/lang/String;
NestHost: sun.lwawt.macosx.CInputMethod
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  sun.lwawt.macosx.CInputMethod$3