public final class android.view.inputmethod.CursorAnchorInfo implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.view.inputmethod.CursorAnchorInfo
  super_class: java.lang.Object
{
  private final int mHashCode;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mSelectionStart;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mSelectionEnd;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mComposingTextStart;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.CharSequence mComposingText;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mInsertionMarkerFlags;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float mInsertionMarkerHorizontal;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float mInsertionMarkerTop;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float mInsertionMarkerBaseline;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float mInsertionMarkerBottom;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.view.inputmethod.SparseRectFArray mCharacterBoundsArray;
    descriptor: Landroid/view/inputmethod/SparseRectFArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] mMatrixValues;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final int FLAG_HAS_VISIBLE_REGION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int FLAG_HAS_INVISIBLE_REGION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int FLAG_IS_RTL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final android.os.Parcelable$Creator<android.view.inputmethod.CursorAnchorInfo> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/view/inputmethod/CursorAnchorInfo;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 563
            new android.view.inputmethod.CursorAnchorInfo$1
            dup
            invokespecial android.view.inputmethod.CursorAnchorInfo$1.<init>:()V
         1: .line 562
            putstatic android.view.inputmethod.CursorAnchorInfo.CREATOR:Landroid/os/Parcelable$Creator;
         2: .line 573
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
        start local 1 // android.os.Parcel source
         0: .line 131
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 132
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.view.inputmethod.CursorAnchorInfo.mHashCode:I
         2: .line 133
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
         3: .line 134
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
         4: .line 135
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
         5: .line 136
            aload 0 /* this */
            getstatic android.text.TextUtils.CHAR_SEQUENCE_CREATOR:Landroid/os/Parcelable$Creator;
            aload 1 /* source */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast java.lang.CharSequence
            putfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
         6: .line 137
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
         7: .line 138
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readFloat:()F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
         8: .line 139
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readFloat:()F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
         9: .line 140
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readFloat:()F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
        10: .line 141
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.readFloat:()F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
        11: .line 142
            aload 0 /* this */
            aload 1 /* source */
            ldc Landroid/view/inputmethod/SparseRectFArray;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual android.os.Parcel.readParcelable:(Ljava/lang/ClassLoader;)Landroid/os/Parcelable;
            checkcast android.view.inputmethod.SparseRectFArray
            putfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
        12: .line 143
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual android.os.Parcel.createFloatArray:()[F
            putfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
        13: .line 144
            return
        end local 1 // android.os.Parcel source
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Landroid/view/inputmethod/CursorAnchorInfo;
            0   14     1  source  Landroid/os/Parcel;
    MethodParameters:
        Name  Flags
      source  final

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 154
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mHashCode:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         1: .line 155
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 156
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         3: .line 157
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         4: .line 158
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
            aload 1 /* dest */
            iload 2 /* flags */
            invokestatic android.text.TextUtils.writeToParcel:(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V
         5: .line 159
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         6: .line 160
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         7: .line 161
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         8: .line 162
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         9: .line 163
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
        10: .line 164
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            iload 2 /* flags */
            invokevirtual android.os.Parcel.writeParcelable:(Landroid/os/Parcelable;I)V
        11: .line 165
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            invokevirtual android.os.Parcel.writeFloatArray:([F)V
        12: .line 166
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Landroid/view/inputmethod/CursorAnchorInfo;
            0   13     1   dest  Landroid/os/Parcel;
            0   13     2  flags  I
    MethodParameters:
       Name  Flags
      dest   
      flags  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 170
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mHashCode:I
            ireturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  private static boolean areSameFloatImpl(float, float);
    descriptor: (FF)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float a
        start local 1 // float b
         0: .line 178
            fload 0 /* a */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifeq 2
            fload 1 /* b */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifeq 2
         1: .line 179
            iconst_1
            ireturn
         2: .line 181
      StackMap locals:
      StackMap stack:
            fload 0 /* a */
            fload 1 /* b */
            fcmpl
            ifne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // float b
        end local 0 // float a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     a  F
            0    4     1     b  F
    MethodParameters:
      Name  Flags
      a     final
      b     final

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
        start local 1 // java.lang.Object obj
         0: .line 186
            aload 1 /* obj */
            ifnonnull 2
         1: .line 187
            iconst_0
            ireturn
         2: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 4
         3: .line 190
            iconst_1
            ireturn
         4: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof android.view.inputmethod.CursorAnchorInfo
            ifne 6
         5: .line 193
            iconst_0
            ireturn
         6: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast android.view.inputmethod.CursorAnchorInfo
            astore 2 /* that */
        start local 2 // android.view.inputmethod.CursorAnchorInfo that
         7: .line 196
            aload 0 /* this */
            invokevirtual android.view.inputmethod.CursorAnchorInfo.hashCode:()I
            aload 2 /* that */
            invokevirtual android.view.inputmethod.CursorAnchorInfo.hashCode:()I
            if_icmpeq 9
         8: .line 197
            iconst_0
            ireturn
         9: .line 202
      StackMap locals: android.view.inputmethod.CursorAnchorInfo
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
            if_icmpne 10
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
            if_icmpeq 11
        10: .line 203
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
            if_icmpne 16
        12: .line 207
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
            invokestatic android.view.inputmethod.CursorAnchorInfo.areSameFloatImpl:(FF)Z
            ifeq 16
        13: .line 208
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
            invokestatic android.view.inputmethod.CursorAnchorInfo.areSameFloatImpl:(FF)Z
            ifeq 16
        14: .line 209
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
            invokestatic android.view.inputmethod.CursorAnchorInfo.areSameFloatImpl:(FF)Z
            ifeq 16
        15: .line 210
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
            invokestatic android.view.inputmethod.CursorAnchorInfo.areSameFloatImpl:(FF)Z
            ifne 17
        16: .line 211
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        17: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 19
        18: .line 215
            iconst_0
            ireturn
        19: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
            if_icmpne 21
        20: .line 221
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 22
        21: .line 222
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            arraylength
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            arraylength
            if_icmpeq 24
        23: .line 228
            iconst_0
            ireturn
        24: .line 230
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        25: goto 29
        26: .line 231
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            iload 3 /* i */
            faload
            aload 2 /* that */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            iload 3 /* i */
            faload
            fcmpl
            ifeq 28
        27: .line 232
            iconst_0
            ireturn
        28: .line 230
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 3 /* i */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            arraylength
            if_icmplt 26
        end local 3 // int i
        30: .line 235
            iconst_1
            ireturn
        end local 2 // android.view.inputmethod.CursorAnchorInfo that
        end local 1 // java.lang.Object obj
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Landroid/view/inputmethod/CursorAnchorInfo;
            0   31     1   obj  Ljava/lang/Object;
            7   31     2  that  Landroid/view/inputmethod/CursorAnchorInfo;
           25   30     3     i  I
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 240
            new java.lang.StringBuilder
            dup
            ldc "CursorAnchorInfo{mHashCode="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mHashCode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         1: .line 241
            ldc " mSelection="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 242
            ldc " mComposingTextStart="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 243
            ldc " mComposingText="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 244
            ldc " mInsertionMarkerFlags="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 245
            ldc " mInsertionMarkerHorizontal="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
         6: .line 246
            ldc " mInsertionMarkerTop="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
         7: .line 247
            ldc " mInsertionMarkerBaseline="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
         8: .line 248
            ldc " mInsertionMarkerBottom="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
         9: .line 249
            ldc " mCharacterBoundsArray="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 250
            ldc " mMatrix="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            invokestatic java.util.Arrays.toString:([F)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 251
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 240
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  private void <init>(android.view.inputmethod.CursorAnchorInfo$Builder);
    descriptor: (Landroid/view/inputmethod/CursorAnchorInfo$Builder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
        start local 1 // android.view.inputmethod.CursorAnchorInfo$Builder builder
         0: .line 415
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 416
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mSelectionStart:I
            putfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
         2: .line 417
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mSelectionEnd:I
            putfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
         3: .line 418
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mComposingTextStart:I
            putfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
         4: .line 419
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mComposingText:Ljava/lang/CharSequence;
            putfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
         5: .line 420
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mInsertionMarkerFlags:I
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
         6: .line 421
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mInsertionMarkerHorizontal:F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
         7: .line 422
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mInsertionMarkerTop:F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
         8: .line 423
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mInsertionMarkerBaseline:F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
         9: .line 424
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mInsertionMarkerBottom:F
            putfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
        10: .line 425
            aload 0 /* this */
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mCharacterBoundsArrayBuilder:Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;
            ifnull 12
        11: .line 426
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mCharacterBoundsArrayBuilder:Landroid/view/inputmethod/SparseRectFArray$SparseRectFArrayBuilder;
            invokevirtual android.view.inputmethod.SparseRectFArray$SparseRectFArrayBuilder.build:()Landroid/view/inputmethod/SparseRectFArray;
            goto 13
      StackMap locals: android.view.inputmethod.CursorAnchorInfo android.view.inputmethod.CursorAnchorInfo$Builder
      StackMap stack: android.view.inputmethod.CursorAnchorInfo
        12: aconst_null
        13: .line 425
      StackMap locals: android.view.inputmethod.CursorAnchorInfo android.view.inputmethod.CursorAnchorInfo$Builder
      StackMap stack: android.view.inputmethod.CursorAnchorInfo android.view.inputmethod.SparseRectFArray
            putfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
        14: .line 427
            aload 0 /* this */
            bipush 9
            newarray 6
            putfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
        15: .line 428
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mMatrixInitialized:Z
            ifeq 18
        16: .line 429
            aload 1 /* builder */
            getfield android.view.inputmethod.CursorAnchorInfo$Builder.mMatrixValues:[F
            iconst_0
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            iconst_0
            bipush 9
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 430
            goto 19
        18: .line 431
      StackMap locals:
      StackMap stack:
            getstatic android.graphics.Matrix.IDENTITY_MATRIX:Landroid/graphics/Matrix;
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            invokevirtual android.graphics.Matrix.getValues:([F)V
        19: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            istore 2 /* hash */
        start local 2 // int hash
        20: .line 436
            iload 2 /* hash */
            bipush 31
            imul
            istore 2 /* hash */
        21: .line 437
            iload 2 /* hash */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            invokestatic java.util.Arrays.hashCode:([F)I
            iadd
            istore 2 /* hash */
        22: .line 438
            aload 0 /* this */
            iload 2 /* hash */
            putfield android.view.inputmethod.CursorAnchorInfo.mHashCode:I
        23: .line 439
            return
        end local 2 // int hash
        end local 1 // android.view.inputmethod.CursorAnchorInfo$Builder builder
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Landroid/view/inputmethod/CursorAnchorInfo;
            0   24     1  builder  Landroid/view/inputmethod/CursorAnchorInfo$Builder;
           20   24     2     hash  I
    MethodParameters:
         Name  Flags
      builder  final

  public int getSelectionStart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 446
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionStart:I
            ireturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public int getSelectionEnd();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 454
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mSelectionEnd:I
            ireturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public int getComposingTextStart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 462
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingTextStart:I
            ireturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public java.lang.CharSequence getComposingText();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 470
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mComposingText:Ljava/lang/CharSequence;
            areturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public int getInsertionMarkerFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 478
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerFlags:I
            ireturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public float getInsertionMarkerHorizontal();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 490
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerHorizontal:F
            freturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public float getInsertionMarkerTop();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 500
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerTop:F
            freturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public float getInsertionMarkerBaseline();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 510
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBaseline:F
            freturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public float getInsertionMarkerBottom();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 520
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mInsertionMarkerBottom:F
            freturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;

  public android.graphics.RectF getCharacterBounds(int);
    descriptor: (I)Landroid/graphics/RectF;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
        start local 1 // int index
         0: .line 530
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            ifnonnull 2
         1: .line 531
            aconst_null
            areturn
         2: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            iload 1 /* index */
            invokevirtual android.view.inputmethod.SparseRectFArray.get:(I)Landroid/graphics/RectF;
            areturn
        end local 1 // int index
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/view/inputmethod/CursorAnchorInfo;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public int getCharacterBoundsFlags(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
        start local 1 // int index
         0: .line 542
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            ifnonnull 2
         1: .line 543
            iconst_0
            ireturn
         2: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mCharacterBoundsArray:Landroid/view/inputmethod/SparseRectFArray;
            iload 1 /* index */
            iconst_0
            invokevirtual android.view.inputmethod.SparseRectFArray.getFlags:(II)I
            ireturn
        end local 1 // int index
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/view/inputmethod/CursorAnchorInfo;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public android.graphics.Matrix getMatrix();
    descriptor: ()Landroid/graphics/Matrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 554
            new android.graphics.Matrix
            dup
            invokespecial android.graphics.Matrix.<init>:()V
            astore 1 /* matrix */
        start local 1 // android.graphics.Matrix matrix
         1: .line 555
            aload 1 /* matrix */
            aload 0 /* this */
            getfield android.view.inputmethod.CursorAnchorInfo.mMatrixValues:[F
            invokevirtual android.graphics.Matrix.setValues:([F)V
         2: .line 556
            aload 1 /* matrix */
            areturn
        end local 1 // android.graphics.Matrix matrix
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/view/inputmethod/CursorAnchorInfo;
            1    3     1  matrix  Landroid/graphics/Matrix;

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.view.inputmethod.CursorAnchorInfo this
         0: .line 577
            iconst_0
            ireturn
        end local 0 // android.view.inputmethod.CursorAnchorInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/view/inputmethod/CursorAnchorInfo;
}
SourceFile: "CursorAnchorInfo.java"
NestMembers:
  android.view.inputmethod.CursorAnchorInfo$1  android.view.inputmethod.CursorAnchorInfo$Builder
InnerClasses:
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
  android.view.inputmethod.CursorAnchorInfo$1
  public final Builder = android.view.inputmethod.CursorAnchorInfo$Builder of android.view.inputmethod.CursorAnchorInfo
  public final SparseRectFArrayBuilder = android.view.inputmethod.SparseRectFArray$SparseRectFArrayBuilder of android.view.inputmethod.SparseRectFArray