public class android.text.SpannableStringBuilder implements java.lang.CharSequence, android.text.GetChars, android.text.Spannable, android.text.Editable, java.lang.Appendable, android.text.GraphicsOperations
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.SpannableStringBuilder
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SpannableStringBuilder"

  private static final android.text.InputFilter[] NO_FILTERS;
    descriptor: [Landroid/text/InputFilter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[][] sCachedIntBuffer;
    descriptor: [[I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "sCachedIntBuffer")

  private android.text.InputFilter[] mFilters;
    descriptor: [Landroid/text/InputFilter;
    flags: (0x0002) ACC_PRIVATE

  private char[] mText;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private int mGapStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mGapLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object[] mSpans;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private int[] mSpanStarts;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] mSpanEnds;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] mSpanMax;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] mSpanFlags;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] mSpanOrder;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int mSpanInsertCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mSpanCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.IdentityHashMap<java.lang.Object, java.lang.Integer> mIndexOfSpan;
    descriptor: Ljava/util/IdentityHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/lang/Integer;>;

  private int mLowWaterMark;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mTextWatcherDepth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1761
            iconst_0
            anewarray android.text.InputFilter
            putstatic android.text.SpannableStringBuilder.NO_FILTERS:[Landroid/text/InputFilter;
         1: .line 1764
            bipush 6
            iconst_0
            multianewarray [[I 2
            putstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
         2: .line 1803
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 43
            aload 0 /* this */
            ldc ""
            invokespecial android.text.SpannableStringBuilder.<init>:(Ljava/lang/CharSequence;)V
         1: .line 44
            return
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/SpannableStringBuilder;

  public void <init>(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.CharSequence text
         0: .line 51
            aload 0 /* this */
            aload 1 /* text */
            iconst_0
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            invokespecial android.text.SpannableStringBuilder.<init>:(Ljava/lang/CharSequence;II)V
         1: .line 52
            return
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/SpannableStringBuilder;
            0    2     1  text  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      text  

  public void <init>(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 28
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import libcore.util cannot be resolved\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;
    MethodParameters:
       Name  Flags
      text   
      start  
      end    

  public static android.text.SpannableStringBuilder valueOf(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.CharSequence source
         0: .line 108
            aload 0 /* source */
            instanceof android.text.SpannableStringBuilder
            ifeq 2
         1: .line 109
            aload 0 /* source */
            checkcast android.text.SpannableStringBuilder
            areturn
         2: .line 111
      StackMap locals:
      StackMap stack:
            new android.text.SpannableStringBuilder
            dup
            aload 0 /* source */
            invokespecial android.text.SpannableStringBuilder.<init>:(Ljava/lang/CharSequence;)V
            areturn
        end local 0 // java.lang.CharSequence source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  source  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      source  

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int where
         0: .line 119
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 120
            iload 1 /* where */
            ifge 3
         2: .line 121
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "charAt: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* where */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " < 0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 122
      StackMap locals: int
      StackMap stack:
            iload 1 /* where */
            iload 2 /* len */
            if_icmplt 5
         4: .line 123
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "charAt: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* where */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " >= length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 126
      StackMap locals:
      StackMap stack:
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 7
         6: .line 127
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            caload
            ireturn
         7: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* where */
            caload
            ireturn
        end local 2 // int len
        end local 1 // int where
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/text/SpannableStringBuilder;
            0    8     1  where  I
            1    8     2    len  I
    MethodParameters:
       Name  Flags
      where  

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 136
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            arraylength
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            ireturn
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;

  private void resizeFor(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int size
         0: .line 140
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            arraylength
            istore 2 /* oldLength */
        start local 2 // int oldLength
         1: .line 141
            iload 1 /* size */
            iconst_1
            iadd
            iload 2 /* oldLength */
            if_icmpgt 3
         2: .line 142
            return
         3: .line 145
      StackMap locals: int
      StackMap stack:
            iload 1 /* size */
            invokestatic com.android.internal.util.GrowingArrayUtils.growSize:(I)I
            invokestatic com.android.internal.util.ArrayUtils.newUnpaddedCharArray:(I)[C
            astore 3 /* newText */
        start local 3 // char[] newText
         4: .line 146
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iconst_0
            aload 3 /* newText */
            iconst_0
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 147
            aload 3 /* newText */
            arraylength
            istore 4 /* newLength */
        start local 4 // int newLength
         6: .line 148
            iload 4 /* newLength */
            iload 2 /* oldLength */
            isub
            istore 5 /* delta */
        start local 5 // int delta
         7: .line 149
            iload 2 /* oldLength */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            isub
            istore 6 /* after */
        start local 6 // int after
         8: .line 150
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 2 /* oldLength */
            iload 6 /* after */
            isub
            aload 3 /* newText */
            iload 4 /* newLength */
            iload 6 /* after */
            isub
            iload 6 /* after */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 151
            aload 0 /* this */
            aload 3 /* newText */
            putfield android.text.SpannableStringBuilder.mText:[C
        10: .line 153
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iload 5 /* delta */
            iadd
            putfield android.text.SpannableStringBuilder.mGapLength:I
        11: .line 154
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iconst_1
            if_icmpge 13
        12: .line 155
            new java.lang.Exception
            dup
            ldc "mGapLength < 1"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.Exception.printStackTrace:()V
        13: .line 157
      StackMap locals: android.text.SpannableStringBuilder int int char[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            ifeq 21
        14: .line 158
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: goto 19
        16: .line 159
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 7 /* i */
            iaload
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 17
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 7 /* i */
            dup2
            iaload
            iload 5 /* delta */
            iadd
            iastore
        17: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 7 /* i */
            iaload
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 18
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 7 /* i */
            dup2
            iaload
            iload 5 /* delta */
            iadd
            iastore
        18: .line 158
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 16
        end local 7 // int i
        20: .line 162
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.treeRoot:()I
            invokevirtual android.text.SpannableStringBuilder.calcMax:(I)I
            pop
        21: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int after
        end local 5 // int delta
        end local 4 // int newLength
        end local 3 // char[] newText
        end local 2 // int oldLength
        end local 1 // int size
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Landroid/text/SpannableStringBuilder;
            0   22     1       size  I
            1   22     2  oldLength  I
            4   22     3    newText  [C
            6   22     4  newLength  I
            7   22     5      delta  I
            8   22     6      after  I
           15   20     7          i  I
    MethodParameters:
      Name  Flags
      size  

  private void moveGapTo(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int where
         0: .line 167
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpne 2
         1: .line 168
            return
         2: .line 170
      StackMap locals:
      StackMap stack:
            iload 1 /* where */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            if_icmpne 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* atEnd */
        start local 2 // boolean atEnd
         5: .line 172
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpge 9
         6: .line 173
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            iload 1 /* where */
            isub
            istore 3 /* overlap */
        start local 3 // int overlap
         7: .line 174
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 3 /* overlap */
            isub
            iload 3 /* overlap */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 3 // int overlap
         8: .line 175
            goto 11
         9: .line 176
      StackMap locals: int
      StackMap stack:
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            isub
            istore 3 /* overlap */
        start local 3 // int overlap
        10: .line 177
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* where */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 3 /* overlap */
            isub
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            iload 3 /* overlap */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 3 // int overlap
        11: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            ifeq 37
        12: .line 182
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        13: goto 35
        14: .line 183
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 3 /* i */
            iaload
            istore 4 /* start */
        start local 4 // int start
        15: .line 184
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 3 /* i */
            iaload
            istore 5 /* end */
        start local 5 // int end
        16: .line 186
            iload 4 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 18
        17: .line 187
            iload 4 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 4 /* start */
        18: .line 188
      StackMap locals: int int
      StackMap stack:
            iload 4 /* start */
            iload 1 /* where */
            if_icmple 20
        19: .line 189
            iload 4 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 4 /* start */
            goto 24
        20: .line 190
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iload 1 /* where */
            if_icmpne 24
        21: .line 191
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 3 /* i */
            iaload
            sipush 240
            iand
            iconst_4
            ishr
            istore 6 /* flag */
        start local 6 // int flag
        22: .line 193
            iload 6 /* flag */
            iconst_2
            if_icmpeq 23
            iload 2 /* atEnd */
            ifeq 24
            iload 6 /* flag */
            iconst_3
            if_icmpne 24
        23: .line 194
      StackMap locals: int
      StackMap stack:
            iload 4 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 4 /* start */
        end local 6 // int flag
        24: .line 197
      StackMap locals:
      StackMap stack:
            iload 5 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 26
        25: .line 198
            iload 5 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 5 /* end */
        26: .line 199
      StackMap locals:
      StackMap stack:
            iload 5 /* end */
            iload 1 /* where */
            if_icmple 28
        27: .line 200
            iload 5 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 5 /* end */
            goto 32
        28: .line 201
      StackMap locals:
      StackMap stack:
            iload 5 /* end */
            iload 1 /* where */
            if_icmpne 32
        29: .line 202
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 3 /* i */
            iaload
            bipush 15
            iand
            istore 6 /* flag */
        start local 6 // int flag
        30: .line 204
            iload 6 /* flag */
            iconst_2
            if_icmpeq 31
            iload 2 /* atEnd */
            ifeq 32
            iload 6 /* flag */
            iconst_3
            if_icmpne 32
        31: .line 205
      StackMap locals: int
      StackMap stack:
            iload 5 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 5 /* end */
        end local 6 // int flag
        32: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 3 /* i */
            iload 4 /* start */
            iastore
        33: .line 209
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 3 /* i */
            iload 5 /* end */
            iastore
        end local 5 // int end
        end local 4 // int start
        34: .line 182
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 3 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 14
        end local 3 // int i
        36: .line 211
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.treeRoot:()I
            invokevirtual android.text.SpannableStringBuilder.calcMax:(I)I
            pop
        37: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* where */
            putfield android.text.SpannableStringBuilder.mGapStart:I
        38: .line 215
            return
        end local 2 // boolean atEnd
        end local 1 // int where
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   39     0     this  Landroid/text/SpannableStringBuilder;
            0   39     1    where  I
            5   39     2    atEnd  Z
            7    8     3  overlap  I
           10   11     3  overlap  I
           13   36     3        i  I
           15   34     4    start  I
           16   34     5      end  I
           22   24     6     flag  I
           30   32     6     flag  I
    MethodParameters:
       Name  Flags
      where  

  public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence, int, int);
    descriptor: (ILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int where
        start local 2 // java.lang.CharSequence tb
        start local 3 // int start
        start local 4 // int end
         0: .line 219
            aload 0 /* this */
            iload 1 /* where */
            iload 1 /* where */
            aload 2 /* tb */
            iload 3 /* start */
            iload 4 /* end */
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
        end local 4 // int end
        end local 3 // int start
        end local 2 // java.lang.CharSequence tb
        end local 1 // int where
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/SpannableStringBuilder;
            0    1     1  where  I
            0    1     2     tb  Ljava/lang/CharSequence;
            0    1     3  start  I
            0    1     4    end  I
    MethodParameters:
       Name  Flags
      where  
      tb     
      start  
      end    

  public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence);
    descriptor: (ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int where
        start local 2 // java.lang.CharSequence tb
         0: .line 224
            aload 0 /* this */
            iload 1 /* where */
            iload 1 /* where */
            aload 2 /* tb */
            iconst_0
            aload 2 /* tb */
            invokeinterface java.lang.CharSequence.length:()I
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
        end local 2 // java.lang.CharSequence tb
        end local 1 // int where
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/SpannableStringBuilder;
            0    1     1  where  I
            0    1     2     tb  Ljava/lang/CharSequence;
    MethodParameters:
       Name  Flags
      where  
      tb     

  public android.text.SpannableStringBuilder delete(int, int);
    descriptor: (II)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
         0: .line 229
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            ldc ""
            iconst_0
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            astore 3 /* ret */
        start local 3 // android.text.SpannableStringBuilder ret
         1: .line 231
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iconst_2
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            imul
            if_icmple 3
         2: .line 232
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            invokevirtual android.text.SpannableStringBuilder.resizeFor:(I)V
         3: .line 234
      StackMap locals: android.text.SpannableStringBuilder
      StackMap stack:
            aload 3 /* ret */
            areturn
        end local 3 // android.text.SpannableStringBuilder ret
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/text/SpannableStringBuilder;
            0    4     1  start  I
            0    4     2    end  I
            1    4     3    ret  Landroid/text/SpannableStringBuilder;
    MethodParameters:
       Name  Flags
      start  
      end    

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 239
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            ldc ""
            iconst_0
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            pop
         1: .line 240
            aload 0 /* this */
            iconst_0
            putfield android.text.SpannableStringBuilder.mSpanInsertCount:I
         2: .line 241
            return
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/SpannableStringBuilder;

  public void clearSpans();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 245
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         1: goto 13
         2: .line 246
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            aaload
            astore 2 /* what */
        start local 2 // java.lang.Object what
         3: .line 247
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iaload
            istore 3 /* ostart */
        start local 3 // int ostart
         4: .line 248
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 1 /* i */
            iaload
            istore 4 /* oend */
        start local 4 // int oend
         5: .line 250
            iload 3 /* ostart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 7
         6: .line 251
            iload 3 /* ostart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 3 /* ostart */
         7: .line 252
      StackMap locals: java.lang.Object int int
      StackMap stack:
            iload 4 /* oend */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 9
         8: .line 253
            iload 4 /* oend */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 4 /* oend */
         9: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            putfield android.text.SpannableStringBuilder.mSpanCount:I
        10: .line 256
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            aconst_null
            aastore
        11: .line 258
            aload 0 /* this */
            aload 2 /* what */
            iload 3 /* ostart */
            iload 4 /* oend */
            invokevirtual android.text.SpannableStringBuilder.sendSpanRemoved:(Ljava/lang/Object;II)V
        end local 4 // int oend
        end local 3 // int ostart
        end local 2 // java.lang.Object what
        12: .line 245
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 1 /* i */
            ifge 2
        end local 1 // int i
        14: .line 260
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnull 16
        15: .line 261
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            invokevirtual java.util.IdentityHashMap.clear:()V
        16: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.text.SpannableStringBuilder.mSpanInsertCount:I
        17: .line 264
            return
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Landroid/text/SpannableStringBuilder;
            1   14     1       i  I
            3   12     2    what  Ljava/lang/Object;
            4   12     3  ostart  I
            5   12     4    oend  I

  public android.text.SpannableStringBuilder append(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.CharSequence text
         0: .line 268
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 269
            aload 0 /* this */
            iload 2 /* length */
            iload 2 /* length */
            aload 1 /* text */
            iconst_0
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
        end local 2 // int length
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/text/SpannableStringBuilder;
            0    2     1    text  Ljava/lang/CharSequence;
            1    2     2  length  I
    MethodParameters:
      Name  Flags
      text  

  public android.text.SpannableStringBuilder append(java.lang.CharSequence, java.lang.Object, int);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/Object;I)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.CharSequence text
        start local 2 // java.lang.Object what
        start local 3 // int flags
         0: .line 281
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 4 /* start */
        start local 4 // int start
         1: .line 282
            aload 0 /* this */
            aload 1 /* text */
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            pop
         2: .line 283
            aload 0 /* this */
            aload 2 /* what */
            iload 4 /* start */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            iload 3 /* flags */
            invokevirtual android.text.SpannableStringBuilder.setSpan:(Ljava/lang/Object;III)V
         3: .line 284
            aload 0 /* this */
            areturn
        end local 4 // int start
        end local 3 // int flags
        end local 2 // java.lang.Object what
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/text/SpannableStringBuilder;
            0    4     1   text  Ljava/lang/CharSequence;
            0    4     2   what  Ljava/lang/Object;
            0    4     3  flags  I
            1    4     4  start  I
    MethodParameters:
       Name  Flags
      text   
      what   
      flags  

  public android.text.SpannableStringBuilder append(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.CharSequence text
        start local 2 // int start
        start local 3 // int end
         0: .line 289
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 4 /* length */
        start local 4 // int length
         1: .line 290
            aload 0 /* this */
            iload 4 /* length */
            iload 4 /* length */
            aload 1 /* text */
            iload 2 /* start */
            iload 3 /* end */
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
        end local 4 // int length
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/text/SpannableStringBuilder;
            0    2     1    text  Ljava/lang/CharSequence;
            0    2     2   start  I
            0    2     3     end  I
            1    2     4  length  I
    MethodParameters:
       Name  Flags
      text   
      start  
      end    

  public android.text.SpannableStringBuilder append(char);
    descriptor: (C)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // char text
         0: .line 295
            aload 0 /* this */
            iload 1 /* text */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            areturn
        end local 1 // char text
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;
            0    1     1  text  C
    MethodParameters:
      Name  Flags
      text  

  private boolean removeSpansForChange(int, int, boolean, int);
    descriptor: (IIZI)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // boolean textIsRemoved
        start local 4 // int i
         0: .line 300
            iload 4 /* i */
            iconst_1
            iand
            ifeq 4
         1: .line 302
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanMax:[I
            iload 4 /* i */
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
            iload 1 /* start */
            if_icmplt 4
         2: .line 303
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 3 /* textIsRemoved */
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.leftChild:(I)I
            invokevirtual android.text.SpannableStringBuilder.removeSpansForChange:(IIZI)Z
            ifeq 4
         3: .line 304
            iconst_1
            ireturn
         4: .line 307
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmpge 18
         5: .line 308
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 4 /* i */
            iaload
            bipush 33
            iand
         6: .line 309
            bipush 33
         7: .line 308
            if_icmpne 14
         8: .line 310
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            iload 1 /* start */
            if_icmplt 14
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            if_icmpge 14
         9: .line 311
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            iload 1 /* start */
            if_icmplt 14
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            if_icmpge 14
        10: .line 313
            iload 3 /* textIsRemoved */
            ifne 11
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            iload 1 /* start */
            if_icmpgt 11
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpge 14
        11: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            invokevirtual java.util.IdentityHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 315
            aload 0 /* this */
            iload 4 /* i */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.removeSpan:(II)V
        13: .line 316
            iconst_1
            ireturn
        14: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
            iload 2 /* end */
            if_icmpgt 17
            iload 4 /* i */
            iconst_1
            iand
            ifeq 17
        15: .line 319
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 3 /* textIsRemoved */
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.rightChild:(I)I
            invokevirtual android.text.SpannableStringBuilder.removeSpansForChange:(IIZI)Z
            ifeq 17
        16: .line 318
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        17: iconst_0
            ireturn
        18: .line 321
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int i
        end local 3 // boolean textIsRemoved
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Landroid/text/SpannableStringBuilder;
            0   19     1          start  I
            0   19     2            end  I
            0   19     3  textIsRemoved  Z
            0   19     4              i  I
    MethodParameters:
               Name  Flags
      start          
      end            
      textIsRemoved  
      i              

  private void change(int, int, java.lang.CharSequence, int, int);
    descriptor: (IILjava/lang/CharSequence;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=19, args_size=6
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.CharSequence cs
        start local 4 // int csStart
        start local 5 // int csEnd
         0: .line 326
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 6 /* replacedLength */
        start local 6 // int replacedLength
         1: .line 327
            iload 5 /* csEnd */
            iload 4 /* csStart */
            isub
            istore 7 /* replacementLength */
        start local 7 // int replacementLength
         2: .line 328
            iload 7 /* replacementLength */
            iload 6 /* replacedLength */
            isub
            istore 8 /* nbNewChars */
        start local 8 // int nbNewChars
         3: .line 330
            iconst_0
            istore 9 /* changed */
        start local 9 // boolean changed
         4: .line 331
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iconst_1
            isub
            istore 10 /* i */
        start local 10 // int i
         5: goto 40
         6: .line 332
      StackMap locals: android.text.SpannableStringBuilder int int java.lang.CharSequence int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 10 /* i */
            iaload
            istore 11 /* spanStart */
        start local 11 // int spanStart
         7: .line 333
            iload 11 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 9
         8: .line 334
            iload 11 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 11 /* spanStart */
         9: .line 336
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 10 /* i */
            iaload
            istore 12 /* spanEnd */
        start local 12 // int spanEnd
        10: .line 337
            iload 12 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 12
        11: .line 338
            iload 12 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 12 /* spanEnd */
        12: .line 340
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 10 /* i */
            iaload
            bipush 51
            iand
            bipush 51
            if_icmpne 33
        13: .line 341
            iload 11 /* spanStart */
            istore 13 /* ost */
        start local 13 // int ost
        14: .line 342
            iload 12 /* spanEnd */
            istore 14 /* oen */
        start local 14 // int oen
        15: .line 343
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 15 /* clen */
        start local 15 // int clen
        16: .line 345
            iload 11 /* spanStart */
            iload 1 /* start */
            if_icmple 22
            iload 11 /* spanStart */
            iload 2 /* end */
            if_icmpgt 22
        17: .line 346
            iload 2 /* end */
            istore 11 /* spanStart */
            goto 21
        18: .line 347
      StackMap locals: int int int
      StackMap stack:
            iload 11 /* spanStart */
            iload 2 /* end */
            if_icmple 20
            aload 0 /* this */
            iload 11 /* spanStart */
            iconst_1
            isub
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            bipush 10
            if_icmpne 20
        19: .line 348
            goto 22
        20: .line 346
      StackMap locals:
      StackMap stack:
            iinc 11 /* spanStart */ 1
      StackMap locals:
      StackMap stack:
        21: iload 11 /* spanStart */
            iload 15 /* clen */
            if_icmplt 18
        22: .line 351
      StackMap locals:
      StackMap stack:
            iload 12 /* spanEnd */
            iload 1 /* start */
            if_icmple 28
            iload 12 /* spanEnd */
            iload 2 /* end */
            if_icmpgt 28
        23: .line 352
            iload 2 /* end */
            istore 12 /* spanEnd */
            goto 27
        24: .line 353
      StackMap locals:
      StackMap stack:
            iload 12 /* spanEnd */
            iload 2 /* end */
            if_icmple 26
            aload 0 /* this */
            iload 12 /* spanEnd */
            iconst_1
            isub
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            bipush 10
            if_icmpne 26
        25: .line 354
            goto 28
        26: .line 352
      StackMap locals:
      StackMap stack:
            iinc 12 /* spanEnd */ 1
      StackMap locals:
      StackMap stack:
        27: iload 12 /* spanEnd */
            iload 15 /* clen */
            if_icmplt 24
        28: .line 357
      StackMap locals:
      StackMap stack:
            iload 11 /* spanStart */
            iload 13 /* ost */
            if_icmpne 29
            iload 12 /* spanEnd */
            iload 14 /* oen */
            if_icmpeq 33
        29: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 10 /* i */
            aaload
            iload 11 /* spanStart */
            iload 12 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 10 /* i */
            iaload
        30: .line 359
            iconst_1
        31: .line 358
            invokevirtual android.text.SpannableStringBuilder.setSpan:(ZLjava/lang/Object;IIIZ)V
        32: .line 360
            iconst_1
            istore 9 /* changed */
        end local 15 // int clen
        end local 14 // int oen
        end local 13 // int ost
        33: .line 364
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* flags */
        start local 13 // int flags
        34: .line 365
            iload 11 /* spanStart */
            iload 1 /* start */
            if_icmpne 35
            iload 13 /* flags */
            sipush 4096
            ior
            istore 13 /* flags */
            goto 36
        35: .line 366
      StackMap locals: int
      StackMap stack:
            iload 11 /* spanStart */
            iload 2 /* end */
            iload 8 /* nbNewChars */
            iadd
            if_icmpne 36
            iload 13 /* flags */
            sipush 8192
            ior
            istore 13 /* flags */
        36: .line 367
      StackMap locals:
      StackMap stack:
            iload 12 /* spanEnd */
            iload 1 /* start */
            if_icmpne 37
            iload 13 /* flags */
            sipush 16384
            ior
            istore 13 /* flags */
            goto 38
        37: .line 368
      StackMap locals:
      StackMap stack:
            iload 12 /* spanEnd */
            iload 2 /* end */
            iload 8 /* nbNewChars */
            iadd
            if_icmpne 38
            iload 13 /* flags */
            ldc 32768
            ior
            istore 13 /* flags */
        38: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 10 /* i */
            dup2
            iaload
            iload 13 /* flags */
            ior
            iastore
        end local 13 // int flags
        end local 12 // int spanEnd
        end local 11 // int spanStart
        39: .line 331
            iinc 10 /* i */ -1
      StackMap locals:
      StackMap stack:
        40: iload 10 /* i */
            ifge 6
        end local 10 // int i
        41: .line 371
            iload 9 /* changed */
            ifeq 43
        42: .line 372
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        43: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* end */
            invokevirtual android.text.SpannableStringBuilder.moveGapTo:(I)V
        44: .line 377
            iload 8 /* nbNewChars */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            if_icmplt 46
        45: .line 378
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            arraylength
            iload 8 /* nbNewChars */
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            invokevirtual android.text.SpannableStringBuilder.resizeFor:(I)V
        46: .line 381
      StackMap locals:
      StackMap stack:
            iload 7 /* replacementLength */
            ifne 47
            iconst_1
            goto 48
      StackMap locals:
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 10 /* textIsRemoved */
        start local 10 // boolean textIsRemoved
        49: .line 384
            iload 6 /* replacedLength */
            ifle 52
        50: .line 385
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            ifle 52
        51: .line 386
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 10 /* textIsRemoved */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.treeRoot:()I
            invokevirtual android.text.SpannableStringBuilder.removeSpansForChange:(IIZI)Z
            ifne 50
        52: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mGapStart:I
            iload 8 /* nbNewChars */
            iadd
            putfield android.text.SpannableStringBuilder.mGapStart:I
        53: .line 393
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iload 8 /* nbNewChars */
            isub
            putfield android.text.SpannableStringBuilder.mGapLength:I
        54: .line 395
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iconst_1
            if_icmpge 56
        55: .line 396
            new java.lang.Exception
            dup
            ldc "mGapLength < 1"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.Exception.printStackTrace:()V
        56: .line 398
      StackMap locals:
      StackMap stack:
            aload 3 /* cs */
            iload 4 /* csStart */
            iload 5 /* csEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            invokestatic android.text.TextUtils.getChars:(Ljava/lang/CharSequence;II[CI)V
        57: .line 400
            iload 6 /* replacedLength */
            ifle 74
        58: .line 402
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            arraylength
            if_icmpne 59
            iconst_1
            goto 60
      StackMap locals:
      StackMap stack:
        59: iconst_0
      StackMap locals:
      StackMap stack: int
        60: istore 11 /* atEnd */
        start local 11 // boolean atEnd
        61: .line 404
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        62: goto 72
        63: .line 405
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 12 /* i */
            iaload
            sipush 240
            iand
            iconst_4
            ishr
            istore 13 /* startFlag */
        start local 13 // int startFlag
        64: .line 406
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 12 /* i */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 12 /* i */
            iaload
            iload 1 /* start */
            iload 8 /* nbNewChars */
            iload 13 /* startFlag */
        65: .line 407
            iload 11 /* atEnd */
            iload 10 /* textIsRemoved */
        66: .line 406
            invokevirtual android.text.SpannableStringBuilder.updatedIntervalBound:(IIIIZZ)I
            iastore
        67: .line 409
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 12 /* i */
            iaload
            bipush 15
            iand
            istore 14 /* endFlag */
        start local 14 // int endFlag
        68: .line 410
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 12 /* i */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 12 /* i */
            iaload
            iload 1 /* start */
            iload 8 /* nbNewChars */
            iload 14 /* endFlag */
        69: .line 411
            iload 11 /* atEnd */
            iload 10 /* textIsRemoved */
        70: .line 410
            invokevirtual android.text.SpannableStringBuilder.updatedIntervalBound:(IIIIZZ)I
            iastore
        end local 14 // int endFlag
        end local 13 // int startFlag
        71: .line 404
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 12 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 63
        end local 12 // int i
        73: .line 414
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        end local 11 // boolean atEnd
        74: .line 417
      StackMap locals:
      StackMap stack:
            aload 3 /* cs */
            instanceof android.text.Spanned
            ifeq 93
        75: .line 418
            aload 3 /* cs */
            checkcast android.text.Spanned
            astore 11 /* sp */
        start local 11 // android.text.Spanned sp
        76: .line 419
            aload 11 /* sp */
            iload 4 /* csStart */
            iload 5 /* csEnd */
            ldc Ljava/lang/Object;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 12 /* spans */
        start local 12 // java.lang.Object[] spans
        77: .line 421
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        78: goto 91
        79: .line 422
      StackMap locals: android.text.Spanned java.lang.Object[] int
      StackMap stack:
            aload 11 /* sp */
            aload 12 /* spans */
            iload 13 /* i */
            aaload
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            istore 14 /* st */
        start local 14 // int st
        80: .line 423
            aload 11 /* sp */
            aload 12 /* spans */
            iload 13 /* i */
            aaload
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
            istore 15 /* en */
        start local 15 // int en
        81: .line 425
            iload 14 /* st */
            iload 4 /* csStart */
            if_icmpge 82
            iload 4 /* csStart */
            istore 14 /* st */
        82: .line 426
      StackMap locals: int int
      StackMap stack:
            iload 15 /* en */
            iload 5 /* csEnd */
            if_icmple 83
            iload 5 /* csEnd */
            istore 15 /* en */
        83: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* spans */
            iload 13 /* i */
            aaload
            invokevirtual android.text.SpannableStringBuilder.getSpanStart:(Ljava/lang/Object;)I
            ifge 90
        84: .line 430
            iload 14 /* st */
            iload 4 /* csStart */
            isub
            iload 1 /* start */
            iadd
            istore 16 /* copySpanStart */
        start local 16 // int copySpanStart
        85: .line 431
            iload 15 /* en */
            iload 4 /* csStart */
            isub
            iload 1 /* start */
            iadd
            istore 17 /* copySpanEnd */
        start local 17 // int copySpanEnd
        86: .line 432
            aload 11 /* sp */
            aload 12 /* spans */
            iload 13 /* i */
            aaload
            invokeinterface android.text.Spanned.getSpanFlags:(Ljava/lang/Object;)I
            sipush 2048
            ior
            istore 18 /* copySpanFlags */
        start local 18 // int copySpanFlags
        87: .line 434
            aload 0 /* this */
            iconst_0
            aload 12 /* spans */
            iload 13 /* i */
            aaload
            iload 16 /* copySpanStart */
            iload 17 /* copySpanEnd */
            iload 18 /* copySpanFlags */
        88: .line 435
            iconst_0
        89: .line 434
            invokevirtual android.text.SpannableStringBuilder.setSpan:(ZLjava/lang/Object;IIIZ)V
        end local 18 // int copySpanFlags
        end local 17 // int copySpanEnd
        end local 16 // int copySpanStart
        end local 15 // int en
        end local 14 // int st
        90: .line 421
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        91: iload 13 /* i */
            aload 12 /* spans */
            arraylength
            if_icmplt 79
        end local 13 // int i
        92: .line 438
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        end local 12 // java.lang.Object[] spans
        end local 11 // android.text.Spanned sp
        93: .line 440
      StackMap locals:
      StackMap stack:
            return
        end local 10 // boolean textIsRemoved
        end local 9 // boolean changed
        end local 8 // int nbNewChars
        end local 7 // int replacementLength
        end local 6 // int replacedLength
        end local 5 // int csEnd
        end local 4 // int csStart
        end local 3 // java.lang.CharSequence cs
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   94     0               this  Landroid/text/SpannableStringBuilder;
            0   94     1              start  I
            0   94     2                end  I
            0   94     3                 cs  Ljava/lang/CharSequence;
            0   94     4            csStart  I
            0   94     5              csEnd  I
            1   94     6     replacedLength  I
            2   94     7  replacementLength  I
            3   94     8         nbNewChars  I
            4   94     9            changed  Z
            5   41    10                  i  I
            7   39    11          spanStart  I
           10   39    12            spanEnd  I
           14   33    13                ost  I
           15   33    14                oen  I
           16   33    15               clen  I
           34   39    13              flags  I
           49   94    10      textIsRemoved  Z
           61   74    11              atEnd  Z
           62   73    12                  i  I
           64   71    13          startFlag  I
           68   71    14            endFlag  I
           76   93    11                 sp  Landroid/text/Spanned;
           77   93    12              spans  [Ljava/lang/Object;
           78   92    13                  i  I
           80   90    14                 st  I
           81   90    15                 en  I
           85   90    16      copySpanStart  I
           86   90    17        copySpanEnd  I
           87   90    18      copySpanFlags  I
    MethodParameters:
         Name  Flags
      start    
      end      
      cs       
      csStart  
      csEnd    

  private int updatedIntervalBound(int, int, int, int, boolean, boolean);
    descriptor: (IIIIZZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int offset
        start local 2 // int start
        start local 3 // int nbNewChars
        start local 4 // int flag
        start local 5 // boolean atEnd
        start local 6 // boolean textIsRemoved
         0: .line 444
            iload 1 /* offset */
            iload 2 /* start */
            if_icmplt 10
            iload 1 /* offset */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            if_icmpge 10
         1: .line 445
            iload 4 /* flag */
            iconst_2
            if_icmpne 4
         2: .line 450
            iload 6 /* textIsRemoved */
            ifne 3
            iload 1 /* offset */
            iload 2 /* start */
            if_icmple 10
         3: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            ireturn
         4: .line 454
      StackMap locals:
      StackMap stack:
            iload 4 /* flag */
            iconst_3
            if_icmpne 7
         5: .line 455
            iload 5 /* atEnd */
            ifeq 10
         6: .line 456
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            ireturn
         7: .line 462
      StackMap locals:
      StackMap stack:
            iload 6 /* textIsRemoved */
            ifne 8
            iload 1 /* offset */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            iload 3 /* nbNewChars */
            isub
            if_icmpge 9
         8: .line 463
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            ireturn
         9: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            ireturn
        10: .line 471
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ireturn
        end local 6 // boolean textIsRemoved
        end local 5 // boolean atEnd
        end local 4 // int flag
        end local 3 // int nbNewChars
        end local 2 // int start
        end local 1 // int offset
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Landroid/text/SpannableStringBuilder;
            0   11     1         offset  I
            0   11     2          start  I
            0   11     3     nbNewChars  I
            0   11     4           flag  I
            0   11     5          atEnd  Z
            0   11     6  textIsRemoved  Z
    MethodParameters:
               Name  Flags
      offset         
      start          
      nbNewChars     
      flag           
      atEnd          
      textIsRemoved  

  private void removeSpan(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int i
        start local 2 // int flags
         0: .line 476
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            aaload
            astore 3 /* object */
        start local 3 // java.lang.Object object
         1: .line 478
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iaload
            istore 4 /* start */
        start local 4 // int start
         2: .line 479
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 1 /* i */
            iaload
            istore 5 /* end */
        start local 5 // int end
         3: .line 481
            iload 4 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 4
            iload 4 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 4 /* start */
         4: .line 482
      StackMap locals: java.lang.Object int int
      StackMap stack:
            iload 5 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 5
            iload 5 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 5 /* end */
         5: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iload 1 /* i */
            iconst_1
            iadd
            isub
            istore 6 /* count */
        start local 6 // int count
         6: .line 485
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 486
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 487
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 1 /* i */
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 488
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 1 /* i */
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 489
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 1 /* i */
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 491
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iconst_1
            isub
            putfield android.text.SpannableStringBuilder.mSpanCount:I
        12: .line 493
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual android.text.SpannableStringBuilder.invalidateIndex:(I)V
        13: .line 494
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            aconst_null
            aastore
        14: .line 497
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        15: .line 499
            iload 2 /* flags */
            sipush 512
            iand
            ifne 17
        16: .line 500
            aload 0 /* this */
            aload 3 /* object */
            iload 4 /* start */
            iload 5 /* end */
            invokevirtual android.text.SpannableStringBuilder.sendSpanRemoved:(Ljava/lang/Object;II)V
        17: .line 502
      StackMap locals: int
      StackMap stack:
            return
        end local 6 // int count
        end local 5 // int end
        end local 4 // int start
        end local 3 // java.lang.Object object
        end local 2 // int flags
        end local 1 // int i
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Landroid/text/SpannableStringBuilder;
            0   18     1       i  I
            0   18     2   flags  I
            1   18     3  object  Ljava/lang/Object;
            2   18     4   start  I
            3   18     5     end  I
            6   18     6   count  I
    MethodParameters:
       Name  Flags
      i      
      flags  

  public android.text.SpannableStringBuilder replace(int, int, java.lang.CharSequence);
    descriptor: (IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.CharSequence tb
         0: .line 506
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            aload 3 /* tb */
            iconst_0
            aload 3 /* tb */
            invokeinterface java.lang.CharSequence.length:()I
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
        end local 3 // java.lang.CharSequence tb
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/SpannableStringBuilder;
            0    1     1  start  I
            0    1     2    end  I
            0    1     3     tb  Ljava/lang/CharSequence;
    MethodParameters:
       Name  Flags
      start  
      end    
      tb     

  public android.text.SpannableStringBuilder replace(int, int, java.lang.CharSequence, int, int);
    descriptor: (IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=17, args_size=6
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.CharSequence tb
        start local 4 // int tbstart
        start local 5 // int tbend
         0: .line 512
            aload 0 /* this */
            ldc "replace"
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 514
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mFilters:[Landroid/text/InputFilter;
            arraylength
            istore 6 /* filtercount */
        start local 6 // int filtercount
         2: .line 515
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 10
         4: .line 516
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mFilters:[Landroid/text/InputFilter;
            iload 7 /* i */
            aaload
            aload 3 /* tb */
            iload 4 /* tbstart */
            iload 5 /* tbend */
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            invokeinterface android.text.InputFilter.filter:(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
            astore 8 /* repl */
        start local 8 // java.lang.CharSequence repl
         5: .line 518
            aload 8 /* repl */
            ifnull 9
         6: .line 519
            aload 8 /* repl */
            astore 3 /* tb */
         7: .line 520
            iconst_0
            istore 4 /* tbstart */
         8: .line 521
            aload 8 /* repl */
            invokeinterface java.lang.CharSequence.length:()I
            istore 5 /* tbend */
        end local 8 // java.lang.CharSequence repl
         9: .line 515
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            iload 6 /* filtercount */
            if_icmplt 4
        end local 7 // int i
        11: .line 525
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 7 /* origLen */
        start local 7 // int origLen
        12: .line 526
            iload 5 /* tbend */
            iload 4 /* tbstart */
            isub
            istore 8 /* newLen */
        start local 8 // int newLen
        13: .line 528
            iload 7 /* origLen */
            ifne 15
            iload 8 /* newLen */
            ifne 15
            aload 3 /* tb */
            iload 4 /* tbstart */
            invokestatic android.text.SpannableStringBuilder.hasNonExclusiveExclusiveSpanAt:(Ljava/lang/CharSequence;I)Z
            ifne 15
        14: .line 531
            aload 0 /* this */
            areturn
        15: .line 534
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iload 1 /* start */
            iload 7 /* origLen */
            iadd
            ldc Landroid/text/TextWatcher;
            invokevirtual android.text.SpannableStringBuilder.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.TextWatcher[]
            astore 9 /* textWatchers */
        start local 9 // android.text.TextWatcher[] textWatchers
        16: .line 535
            aload 0 /* this */
            aload 9 /* textWatchers */
            iload 1 /* start */
            iload 7 /* origLen */
            iload 8 /* newLen */
            invokevirtual android.text.SpannableStringBuilder.sendBeforeTextChanged:([Landroid/text/TextWatcher;III)V
        17: .line 540
            iload 7 /* origLen */
            ifeq 18
            iload 8 /* newLen */
            ifeq 18
            iconst_1
            goto 19
      StackMap locals: android.text.TextWatcher[]
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 10 /* adjustSelection */
        start local 10 // boolean adjustSelection
        20: .line 541
            iconst_0
            istore 11 /* selectionStart */
        start local 11 // int selectionStart
        21: .line 542
            iconst_0
            istore 12 /* selectionEnd */
        start local 12 // int selectionEnd
        22: .line 543
            iload 10 /* adjustSelection */
            ifeq 25
        23: .line 544
            aload 0 /* this */
            invokestatic android.text.Selection.getSelectionStart:(Ljava/lang/CharSequence;)I
            istore 11 /* selectionStart */
        24: .line 545
            aload 0 /* this */
            invokestatic android.text.Selection.getSelectionEnd:(Ljava/lang/CharSequence;)I
            istore 12 /* selectionEnd */
        25: .line 548
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            aload 3 /* tb */
            iload 4 /* tbstart */
            iload 5 /* tbend */
            invokevirtual android.text.SpannableStringBuilder.change:(IILjava/lang/CharSequence;II)V
        26: .line 550
            iload 10 /* adjustSelection */
            ifeq 46
        27: .line 551
            iconst_0
            istore 13 /* changed */
        start local 13 // boolean changed
        28: .line 552
            iload 11 /* selectionStart */
            iload 1 /* start */
            if_icmple 36
            iload 11 /* selectionStart */
            iload 2 /* end */
            if_icmpge 36
        29: .line 553
            iload 11 /* selectionStart */
            iload 1 /* start */
            isub
            i2l
            lstore 14 /* diff */
        start local 14 // long diff
        30: .line 554
            lload 14 /* diff */
            iload 8 /* newLen */
            i2l
            lmul
            iload 7 /* origLen */
            i2l
            ldiv
            invokestatic java.lang.Math.toIntExact:(J)I
            istore 16 /* offset */
        start local 16 // int offset
        31: .line 555
            iload 1 /* start */
            iload 16 /* offset */
            iadd
            istore 11 /* selectionStart */
        32: .line 557
            iconst_1
            istore 13 /* changed */
        33: .line 558
            aload 0 /* this */
            iconst_0
            getstatic android.text.Selection.SELECTION_START:Ljava/lang/Object;
            iload 11 /* selectionStart */
            iload 11 /* selectionStart */
        34: .line 559
            bipush 34
            iconst_1
        35: .line 558
            invokevirtual android.text.SpannableStringBuilder.setSpan:(ZLjava/lang/Object;IIIZ)V
        end local 16 // int offset
        end local 14 // long diff
        36: .line 561
      StackMap locals: int
      StackMap stack:
            iload 12 /* selectionEnd */
            iload 1 /* start */
            if_icmple 44
            iload 12 /* selectionEnd */
            iload 2 /* end */
            if_icmpge 44
        37: .line 562
            iload 12 /* selectionEnd */
            iload 1 /* start */
            isub
            i2l
            lstore 14 /* diff */
        start local 14 // long diff
        38: .line 563
            lload 14 /* diff */
            iload 8 /* newLen */
            i2l
            lmul
            iload 7 /* origLen */
            i2l
            ldiv
            invokestatic java.lang.Math.toIntExact:(J)I
            istore 16 /* offset */
        start local 16 // int offset
        39: .line 564
            iload 1 /* start */
            iload 16 /* offset */
            iadd
            istore 12 /* selectionEnd */
        40: .line 566
            iconst_1
            istore 13 /* changed */
        41: .line 567
            aload 0 /* this */
            iconst_0
            getstatic android.text.Selection.SELECTION_END:Ljava/lang/Object;
            iload 12 /* selectionEnd */
            iload 12 /* selectionEnd */
        42: .line 568
            bipush 34
            iconst_1
        43: .line 567
            invokevirtual android.text.SpannableStringBuilder.setSpan:(ZLjava/lang/Object;IIIZ)V
        end local 16 // int offset
        end local 14 // long diff
        44: .line 570
      StackMap locals:
      StackMap stack:
            iload 13 /* changed */
            ifeq 46
        45: .line 571
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        end local 13 // boolean changed
        46: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* textWatchers */
            iload 1 /* start */
            iload 7 /* origLen */
            iload 8 /* newLen */
            invokevirtual android.text.SpannableStringBuilder.sendTextChanged:([Landroid/text/TextWatcher;III)V
        47: .line 576
            aload 0 /* this */
            aload 9 /* textWatchers */
            invokevirtual android.text.SpannableStringBuilder.sendAfterTextChanged:([Landroid/text/TextWatcher;)V
        48: .line 579
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 8 /* newLen */
            iload 7 /* origLen */
            isub
            invokevirtual android.text.SpannableStringBuilder.sendToSpanWatchers:(III)V
        49: .line 581
            aload 0 /* this */
            areturn
        end local 12 // int selectionEnd
        end local 11 // int selectionStart
        end local 10 // boolean adjustSelection
        end local 9 // android.text.TextWatcher[] textWatchers
        end local 8 // int newLen
        end local 7 // int origLen
        end local 6 // int filtercount
        end local 5 // int tbend
        end local 4 // int tbstart
        end local 3 // java.lang.CharSequence tb
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   50     0             this  Landroid/text/SpannableStringBuilder;
            0   50     1            start  I
            0   50     2              end  I
            0   50     3               tb  Ljava/lang/CharSequence;
            0   50     4          tbstart  I
            0   50     5            tbend  I
            2   50     6      filtercount  I
            3   11     7                i  I
            5    9     8             repl  Ljava/lang/CharSequence;
           12   50     7          origLen  I
           13   50     8           newLen  I
           16   50     9     textWatchers  [Landroid/text/TextWatcher;
           20   50    10  adjustSelection  Z
           21   50    11   selectionStart  I
           22   50    12     selectionEnd  I
           28   46    13          changed  Z
           30   36    14             diff  J
           31   36    16           offset  I
           38   44    14             diff  J
           39   44    16           offset  I
    MethodParameters:
         Name  Flags
      start    final
      end      final
      tb       
      tbstart  
      tbend    

  private static boolean hasNonExclusiveExclusiveSpanAt(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.lang.CharSequence text
        start local 1 // int offset
         0: .line 585
            aload 0 /* text */
            instanceof android.text.Spanned
            ifeq 11
         1: .line 586
            aload 0 /* text */
            checkcast android.text.Spanned
            astore 2 /* spanned */
        start local 2 // android.text.Spanned spanned
         2: .line 587
            aload 2 /* spanned */
            iload 1 /* offset */
            iload 1 /* offset */
            ldc Ljava/lang/Object;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 3 /* spans */
        start local 3 // java.lang.Object[] spans
         3: .line 588
            aload 3 /* spans */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: .line 589
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 590
      StackMap locals: java.lang.CharSequence int android.text.Spanned java.lang.Object[] int int
      StackMap stack:
            aload 3 /* spans */
            iload 5 /* i */
            aaload
            astore 6 /* span */
        start local 6 // java.lang.Object span
         7: .line 591
            aload 2 /* spanned */
            aload 6 /* span */
            invokeinterface android.text.Spanned.getSpanFlags:(Ljava/lang/Object;)I
            istore 7 /* flags */
        start local 7 // int flags
         8: .line 592
            iload 7 /* flags */
            bipush 33
            if_icmpeq 9
            iconst_1
            ireturn
        end local 7 // int flags
        end local 6 // java.lang.Object span
         9: .line 589
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 6
        end local 5 // int i
        end local 4 // int length
        end local 3 // java.lang.Object[] spans
        end local 2 // android.text.Spanned spanned
        11: .line 595
      StackMap locals: java.lang.CharSequence int
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int offset
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     text  Ljava/lang/CharSequence;
            0   12     1   offset  I
            2   11     2  spanned  Landroid/text/Spanned;
            3   11     3    spans  [Ljava/lang/Object;
            4   11     4   length  I
            5   11     5        i  I
            7    9     6     span  Ljava/lang/Object;
            8    9     7    flags  I
    MethodParameters:
        Name  Flags
      text    
      offset  

  private void sendToSpanWatchers(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int replaceStart
        start local 2 // int replaceEnd
        start local 3 // int nbNewChars
         0: .line 599
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 38
         2: .line 600
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 4 /* i */
            iaload
            istore 5 /* spanFlags */
        start local 5 // int spanFlags
         3: .line 603
            iload 5 /* spanFlags */
            sipush 2048
            iand
            ifeq 4
            goto 37
         4: .line 604
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            istore 6 /* spanStart */
        start local 6 // int spanStart
         5: .line 605
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            istore 7 /* spanEnd */
        start local 7 // int spanEnd
         6: .line 606
            iload 6 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 7
            iload 6 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 6 /* spanStart */
         7: .line 607
      StackMap locals: int int
      StackMap stack:
            iload 7 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 8
            iload 7 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 7 /* spanEnd */
         8: .line 609
      StackMap locals:
      StackMap stack:
            iload 2 /* replaceEnd */
            iload 3 /* nbNewChars */
            iadd
            istore 8 /* newReplaceEnd */
        start local 8 // int newReplaceEnd
         9: .line 610
            iconst_0
            istore 9 /* spanChanged */
        start local 9 // boolean spanChanged
        10: .line 612
            iload 6 /* spanStart */
            istore 10 /* previousSpanStart */
        start local 10 // int previousSpanStart
        11: .line 613
            iload 6 /* spanStart */
            iload 8 /* newReplaceEnd */
            if_icmple 16
        12: .line 614
            iload 3 /* nbNewChars */
            ifeq 22
        13: .line 615
            iload 10 /* previousSpanStart */
            iload 3 /* nbNewChars */
            isub
            istore 10 /* previousSpanStart */
        14: .line 616
            iconst_1
            istore 9 /* spanChanged */
        15: .line 618
            goto 22
      StackMap locals: int int int
      StackMap stack:
        16: iload 6 /* spanStart */
            iload 1 /* replaceStart */
            if_icmplt 22
        17: .line 620
            iload 6 /* spanStart */
            iload 1 /* replaceStart */
            if_icmpne 19
        18: .line 621
            iload 5 /* spanFlags */
            sipush 4096
            iand
            sipush 4096
            if_icmpeq 22
        19: .line 622
      StackMap locals:
      StackMap stack:
            iload 6 /* spanStart */
            iload 8 /* newReplaceEnd */
            if_icmpne 21
        20: .line 623
            iload 5 /* spanFlags */
            sipush 8192
            iand
            sipush 8192
            if_icmpeq 22
        21: .line 627
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* spanChanged */
        22: .line 631
      StackMap locals:
      StackMap stack:
            iload 7 /* spanEnd */
            istore 11 /* previousSpanEnd */
        start local 11 // int previousSpanEnd
        23: .line 632
            iload 7 /* spanEnd */
            iload 8 /* newReplaceEnd */
            if_icmple 28
        24: .line 633
            iload 3 /* nbNewChars */
            ifeq 34
        25: .line 634
            iload 11 /* previousSpanEnd */
            iload 3 /* nbNewChars */
            isub
            istore 11 /* previousSpanEnd */
        26: .line 635
            iconst_1
            istore 9 /* spanChanged */
        27: .line 637
            goto 34
      StackMap locals: int
      StackMap stack:
        28: iload 7 /* spanEnd */
            iload 1 /* replaceStart */
            if_icmplt 34
        29: .line 639
            iload 7 /* spanEnd */
            iload 1 /* replaceStart */
            if_icmpne 31
        30: .line 640
            iload 5 /* spanFlags */
            sipush 16384
            iand
            sipush 16384
            if_icmpeq 34
        31: .line 641
      StackMap locals:
      StackMap stack:
            iload 7 /* spanEnd */
            iload 8 /* newReplaceEnd */
            if_icmpne 33
        32: .line 642
            iload 5 /* spanFlags */
            ldc 32768
            iand
            ldc 32768
            if_icmpeq 34
        33: .line 644
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* spanChanged */
        34: .line 648
      StackMap locals:
      StackMap stack:
            iload 9 /* spanChanged */
            ifeq 36
        35: .line 649
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            iload 10 /* previousSpanStart */
            iload 11 /* previousSpanEnd */
            iload 6 /* spanStart */
            iload 7 /* spanEnd */
            invokevirtual android.text.SpannableStringBuilder.sendSpanChanged:(Ljava/lang/Object;IIII)V
        36: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 4 /* i */
            dup2
            iaload
            ldc -61441
            iand
            iastore
        end local 11 // int previousSpanEnd
        end local 10 // int previousSpanStart
        end local 9 // boolean spanChanged
        end local 8 // int newReplaceEnd
        end local 7 // int spanEnd
        end local 6 // int spanStart
        end local 5 // int spanFlags
        37: .line 599
      StackMap locals: android.text.SpannableStringBuilder int int int int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 2
        end local 4 // int i
        39: .line 655
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        40: goto 50
        41: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 4 /* i */
            iaload
            istore 5 /* spanFlags */
        start local 5 // int spanFlags
        42: .line 657
            iload 5 /* spanFlags */
            sipush 2048
            iand
            ifeq 49
        43: .line 658
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 4 /* i */
            dup2
            iaload
            sipush -2049
            iand
            iastore
        44: .line 659
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            istore 6 /* spanStart */
        start local 6 // int spanStart
        45: .line 660
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            istore 7 /* spanEnd */
        start local 7 // int spanEnd
        46: .line 661
            iload 6 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 47
            iload 6 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 6 /* spanStart */
        47: .line 662
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 48
            iload 7 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 7 /* spanEnd */
        48: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            iload 6 /* spanStart */
            iload 7 /* spanEnd */
            invokevirtual android.text.SpannableStringBuilder.sendSpanAdded:(Ljava/lang/Object;II)V
        end local 7 // int spanEnd
        end local 6 // int spanStart
        end local 5 // int spanFlags
        49: .line 655
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 41
        end local 4 // int i
        51: .line 666
            return
        end local 3 // int nbNewChars
        end local 2 // int replaceEnd
        end local 1 // int replaceStart
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   52     0               this  Landroid/text/SpannableStringBuilder;
            0   52     1       replaceStart  I
            0   52     2         replaceEnd  I
            0   52     3         nbNewChars  I
            1   39     4                  i  I
            3   37     5          spanFlags  I
            5   37     6          spanStart  I
            6   37     7            spanEnd  I
            9   37     8      newReplaceEnd  I
           10   37     9        spanChanged  Z
           11   37    10  previousSpanStart  I
           23   37    11    previousSpanEnd  I
           40   51     4                  i  I
           42   49     5          spanFlags  I
           45   49     6          spanStart  I
           46   49     7            spanEnd  I
    MethodParameters:
              Name  Flags
      replaceStart  
      replaceEnd    
      nbNewChars    

  public void setSpan(java.lang.Object, int, int, int);
    descriptor: (Ljava/lang/Object;III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
        start local 2 // int start
        start local 3 // int end
        start local 4 // int flags
         0: .line 674
            aload 0 /* this */
            iconst_1
            aload 1 /* what */
            iload 2 /* start */
            iload 3 /* end */
            iload 4 /* flags */
            iconst_1
            invokevirtual android.text.SpannableStringBuilder.setSpan:(ZLjava/lang/Object;IIIZ)V
         1: .line 675
            return
        end local 4 // int flags
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/text/SpannableStringBuilder;
            0    2     1   what  Ljava/lang/Object;
            0    2     2  start  I
            0    2     3    end  I
            0    2     4  flags  I
    MethodParameters:
       Name  Flags
      what   
      start  
      end    
      flags  

  private void setSpan(boolean, java.lang.Object, int, int, int, boolean);
    descriptor: (ZLjava/lang/Object;IIIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=7
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // boolean send
        start local 2 // java.lang.Object what
        start local 3 // int start
        start local 4 // int end
        start local 5 // int flags
        start local 6 // boolean enforceParagraph
         0: .line 682
            aload 0 /* this */
            ldc "setSpan"
            iload 3 /* start */
            iload 4 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 684
            iload 5 /* flags */
            sipush 240
            iand
            iconst_4
            ishr
            istore 7 /* flagsStart */
        start local 7 // int flagsStart
         2: .line 685
            aload 0 /* this */
            iload 3 /* start */
            iload 7 /* flagsStart */
            invokevirtual android.text.SpannableStringBuilder.isInvalidParagraph:(II)Z
            ifeq 8
         3: .line 686
            iload 6 /* enforceParagraph */
            ifne 5
         4: .line 688
            return
         5: .line 690
      StackMap locals: int
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "PARAGRAPH span must start at paragraph boundary ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 691
            iload 3 /* start */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " follows "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 3 /* start */
            iconst_1
            isub
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 690
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 694
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            bipush 15
            iand
            istore 8 /* flagsEnd */
        start local 8 // int flagsEnd
         9: .line 695
            aload 0 /* this */
            iload 4 /* end */
            iload 8 /* flagsEnd */
            invokevirtual android.text.SpannableStringBuilder.isInvalidParagraph:(II)Z
            ifeq 15
        10: .line 696
            iload 6 /* enforceParagraph */
            ifne 12
        11: .line 698
            return
        12: .line 700
      StackMap locals: int
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "PARAGRAPH span must end at paragraph boundary ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 701
            iload 4 /* end */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " follows "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 4 /* end */
            iconst_1
            isub
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 700
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 705
      StackMap locals:
      StackMap stack:
            iload 7 /* flagsStart */
            iconst_2
            if_icmpne 19
            iload 8 /* flagsEnd */
            iconst_1
            if_icmpne 19
            iload 3 /* start */
            iload 4 /* end */
            if_icmpne 19
        16: .line 706
            iload 1 /* send */
            ifeq 18
        17: .line 707
            ldc "SpannableStringBuilder"
            ldc "SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        18: .line 712
      StackMap locals:
      StackMap stack:
            return
        19: .line 715
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            istore 9 /* nstart */
        start local 9 // int nstart
        20: .line 716
            iload 4 /* end */
            istore 10 /* nend */
        start local 10 // int nend
        21: .line 718
            iload 3 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 24
        22: .line 719
            iload 3 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 3 /* start */
        23: .line 720
            goto 27
      StackMap locals: int int
      StackMap stack:
        24: iload 3 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpne 27
        25: .line 721
            iload 7 /* flagsStart */
            iconst_2
            if_icmpeq 26
            iload 7 /* flagsStart */
            iconst_3
            if_icmpne 27
            iload 3 /* start */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            if_icmpne 27
        26: .line 722
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 3 /* start */
        27: .line 725
      StackMap locals:
      StackMap stack:
            iload 4 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 30
        28: .line 726
            iload 4 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 4 /* end */
        29: .line 727
            goto 33
      StackMap locals:
      StackMap stack:
        30: iload 4 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpne 33
        31: .line 728
            iload 8 /* flagsEnd */
            iconst_2
            if_icmpeq 32
            iload 8 /* flagsEnd */
            iconst_3
            if_icmpne 33
            iload 4 /* end */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            if_icmpne 33
        32: .line 729
      StackMap locals:
      StackMap stack:
            iload 4 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            istore 4 /* end */
        33: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnull 50
        34: .line 733
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 2 /* what */
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* index */
        start local 11 // java.lang.Integer index
        35: .line 734
            aload 11 /* index */
            ifnull 50
        36: .line 735
            aload 11 /* index */
            invokevirtual java.lang.Integer.intValue:()I
            istore 12 /* i */
        start local 12 // int i
        37: .line 736
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 12 /* i */
            iaload
            istore 13 /* ostart */
        start local 13 // int ostart
        38: .line 737
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 12 /* i */
            iaload
            istore 14 /* oend */
        start local 14 // int oend
        39: .line 739
            iload 13 /* ostart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 41
        40: .line 740
            iload 13 /* ostart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 13 /* ostart */
        41: .line 741
      StackMap locals: android.text.SpannableStringBuilder int java.lang.Object int int int int int int int int java.lang.Integer int int int
      StackMap stack:
            iload 14 /* oend */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 43
        42: .line 742
            iload 14 /* oend */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 14 /* oend */
        43: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 12 /* i */
            iload 3 /* start */
            iastore
        44: .line 745
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 12 /* i */
            iload 4 /* end */
            iastore
        45: .line 746
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 12 /* i */
            iload 5 /* flags */
            iastore
        46: .line 748
            iload 1 /* send */
            ifeq 49
        47: .line 749
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        48: .line 750
            aload 0 /* this */
            aload 2 /* what */
            iload 13 /* ostart */
            iload 14 /* oend */
            iload 9 /* nstart */
            iload 10 /* nend */
            invokevirtual android.text.SpannableStringBuilder.sendSpanChanged:(Ljava/lang/Object;IIII)V
        49: .line 753
      StackMap locals:
      StackMap stack:
            return
        end local 14 // int oend
        end local 13 // int ostart
        end local 12 // int i
        end local 11 // java.lang.Integer index
        50: .line 757
      StackMap locals: android.text.SpannableStringBuilder int java.lang.Object int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            aload 2 /* what */
            invokestatic com.android.internal.util.GrowingArrayUtils.append:([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;
            putfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
        51: .line 758
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iload 3 /* start */
            invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
            putfield android.text.SpannableStringBuilder.mSpanStarts:[I
        52: .line 759
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iload 4 /* end */
            invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
            putfield android.text.SpannableStringBuilder.mSpanEnds:[I
        53: .line 760
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iload 5 /* flags */
            invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
            putfield android.text.SpannableStringBuilder.mSpanFlags:[I
        54: .line 761
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanInsertCount:I
            invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
            putfield android.text.SpannableStringBuilder.mSpanOrder:[I
        55: .line 762
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            invokevirtual android.text.SpannableStringBuilder.invalidateIndex:(I)V
        56: .line 763
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iconst_1
            iadd
            putfield android.text.SpannableStringBuilder.mSpanCount:I
        57: .line 764
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mSpanInsertCount:I
            iconst_1
            iadd
            putfield android.text.SpannableStringBuilder.mSpanInsertCount:I
        58: .line 768
            iconst_2
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.treeRoot:()I
            imul
            iconst_1
            iadd
            istore 11 /* sizeOfMax */
        start local 11 // int sizeOfMax
        59: .line 769
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanMax:[I
            arraylength
            iload 11 /* sizeOfMax */
            if_icmpge 61
        60: .line 770
            aload 0 /* this */
            iload 11 /* sizeOfMax */
            newarray 10
            putfield android.text.SpannableStringBuilder.mSpanMax:[I
        61: .line 773
      StackMap locals: int
      StackMap stack:
            iload 1 /* send */
            ifeq 64
        62: .line 774
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.restoreInvariants:()V
        63: .line 775
            aload 0 /* this */
            aload 2 /* what */
            iload 9 /* nstart */
            iload 10 /* nend */
            invokevirtual android.text.SpannableStringBuilder.sendSpanAdded:(Ljava/lang/Object;II)V
        64: .line 777
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int sizeOfMax
        end local 10 // int nend
        end local 9 // int nstart
        end local 8 // int flagsEnd
        end local 7 // int flagsStart
        end local 6 // boolean enforceParagraph
        end local 5 // int flags
        end local 4 // int end
        end local 3 // int start
        end local 2 // java.lang.Object what
        end local 1 // boolean send
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   65     0              this  Landroid/text/SpannableStringBuilder;
            0   65     1              send  Z
            0   65     2              what  Ljava/lang/Object;
            0   65     3             start  I
            0   65     4               end  I
            0   65     5             flags  I
            0   65     6  enforceParagraph  Z
            2   65     7        flagsStart  I
            9   65     8          flagsEnd  I
           20   65     9            nstart  I
           21   65    10              nend  I
           35   50    11             index  Ljava/lang/Integer;
           37   50    12                 i  I
           38   50    13            ostart  I
           39   50    14              oend  I
           59   65    11         sizeOfMax  I
    MethodParameters:
                  Name  Flags
      send              
      what              
      start             
      end               
      flags             
      enforceParagraph  

  private boolean isInvalidParagraph(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int index
        start local 2 // int flag
         0: .line 780
            iload 2 /* flag */
            iconst_3
            if_icmpne 1
            iload 1 /* index */
            ifeq 1
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            if_icmpeq 1
            aload 0 /* this */
            iload 1 /* index */
            iconst_1
            isub
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            bipush 10
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int flag
        end local 1 // int index
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/text/SpannableStringBuilder;
            0    2     1  index  I
            0    2     2   flag  I
    MethodParameters:
       Name  Flags
      index  
      flag   

  public void removeSpan(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
         0: .line 787
            aload 0 /* this */
            aload 1 /* what */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.removeSpan:(Ljava/lang/Object;I)V
         1: .line 788
            return
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/SpannableStringBuilder;
            0    2     1  what  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      what  

  public void removeSpan(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
        start local 2 // int flags
         0: .line 796
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnonnull 1
            return
         1: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 1 /* what */
            invokevirtual java.util.IdentityHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* i */
        start local 3 // java.lang.Integer i
         2: .line 798
            aload 3 /* i */
            ifnull 4
         3: .line 799
            aload 0 /* this */
            aload 3 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            iload 2 /* flags */
            invokevirtual android.text.SpannableStringBuilder.removeSpan:(II)V
         4: .line 801
      StackMap locals: java.lang.Integer
      StackMap stack:
            return
        end local 3 // java.lang.Integer i
        end local 2 // int flags
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/text/SpannableStringBuilder;
            0    5     1   what  Ljava/lang/Object;
            0    5     2  flags  I
            2    5     3      i  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      what   
      flags  

  private int resolveGap(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int i
         0: .line 807
            iload 1 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 1
            iload 1 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* i */
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int i
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/SpannableStringBuilder;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int getSpanStart(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
         0: .line 815
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnonnull 1
            iconst_m1
            ireturn
         1: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 1 /* what */
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* i */
        start local 2 // java.lang.Integer i
         2: .line 817
            aload 2 /* i */
            ifnonnull 3
            iconst_m1
            goto 4
      StackMap locals: java.lang.Integer
      StackMap stack:
         3: aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            aload 2 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 2 // java.lang.Integer i
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/text/SpannableStringBuilder;
            0    5     1  what  Ljava/lang/Object;
            2    5     2     i  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      what  

  public int getSpanEnd(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
         0: .line 825
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnonnull 1
            iconst_m1
            ireturn
         1: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 1 /* what */
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* i */
        start local 2 // java.lang.Integer i
         2: .line 827
            aload 2 /* i */
            ifnonnull 3
            iconst_m1
            goto 4
      StackMap locals: java.lang.Integer
      StackMap stack:
         3: aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            aload 2 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 2 // java.lang.Integer i
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/text/SpannableStringBuilder;
            0    5     1  what  Ljava/lang/Object;
            2    5     2     i  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      what  

  public int getSpanFlags(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
         0: .line 835
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 1 /* what */
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* i */
        start local 2 // java.lang.Integer i
         2: .line 837
            aload 2 /* i */
            ifnonnull 3
            iconst_0
            goto 4
      StackMap locals: java.lang.Integer
      StackMap stack:
         3: aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            aload 2 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            iaload
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 2 // java.lang.Integer i
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/text/SpannableStringBuilder;
            0    5     1  what  Ljava/lang/Object;
            2    5     2     i  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      what  

  public <T> T[] getSpans(int, int, java.lang.Class<T>);
    descriptor: (IILjava/lang/Class;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int queryStart
        start local 2 // int queryEnd
        start local 3 // java.lang.Class kind
         0: .line 847
            aload 0 /* this */
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            aload 3 /* kind */
            iconst_1
            invokevirtual android.text.SpannableStringBuilder.getSpans:(IILjava/lang/Class;Z)[Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Class kind
        end local 2 // int queryEnd
        end local 1 // int queryStart
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/text/SpannableStringBuilder;
            0    1     1  queryStart  I
            0    1     2    queryEnd  I
            0    1     3        kind  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(IILjava/lang/Class<TT;>;)[TT;
    MethodParameters:
            Name  Flags
      queryStart  
      queryEnd    
      kind        

  public <T> T[] getSpans(int, int, java.lang.Class<T>, );
    descriptor: (IILjava/lang/Class;Z)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 875
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;
    Signature: <T:Ljava/lang/Object;>(IILjava/lang/Class<TT;>;Z)[TT;
    MethodParameters:
                      Name  Flags
      queryStart            
      queryEnd              
      kind                  
      sortByInsertionOrder  

  private int countSpans(int, int, java.lang.Class, int);
    descriptor: (IILjava/lang/Class;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int queryStart
        start local 2 // int queryEnd
        start local 3 // java.lang.Class kind
        start local 4 // int i
         0: .line 888
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         1: .line 889
            iload 4 /* i */
            iconst_1
            iand
            ifeq 8
         2: .line 891
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.leftChild:(I)I
            istore 6 /* left */
        start local 6 // int left
         3: .line 892
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanMax:[I
            iload 6 /* left */
            iaload
            istore 7 /* spanMax */
        start local 7 // int spanMax
         4: .line 893
            iload 7 /* spanMax */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 6
         5: .line 894
            iload 7 /* spanMax */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 7 /* spanMax */
         6: .line 896
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* spanMax */
            iload 1 /* queryStart */
            if_icmplt 8
         7: .line 897
            aload 0 /* this */
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            aload 3 /* kind */
            iload 6 /* left */
            invokevirtual android.text.SpannableStringBuilder.countSpans:(IILjava/lang/Class;I)I
            istore 5 /* count */
        end local 7 // int spanMax
        end local 6 // int left
         8: .line 900
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmpge 23
         9: .line 901
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            istore 6 /* spanStart */
        start local 6 // int spanStart
        10: .line 902
            iload 6 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 12
        11: .line 903
            iload 6 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 6 /* spanStart */
        12: .line 905
      StackMap locals: int
      StackMap stack:
            iload 6 /* spanStart */
            iload 2 /* queryEnd */
            if_icmpgt 23
        13: .line 906
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            istore 7 /* spanEnd */
        start local 7 // int spanEnd
        14: .line 907
            iload 7 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 16
        15: .line 908
            iload 7 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 7 /* spanEnd */
        16: .line 910
      StackMap locals: int
      StackMap stack:
            iload 7 /* spanEnd */
            iload 1 /* queryStart */
            if_icmplt 21
        17: .line 911
            iload 6 /* spanStart */
            iload 7 /* spanEnd */
            if_icmpeq 19
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            if_icmpeq 19
        18: .line 912
            iload 6 /* spanStart */
            iload 2 /* queryEnd */
            if_icmpeq 21
            iload 7 /* spanEnd */
            iload 1 /* queryStart */
            if_icmpeq 21
        19: .line 913
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            aload 3 /* kind */
            if_acmpeq 20
            aload 3 /* kind */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 914
      StackMap locals:
      StackMap stack:
            iinc 5 /* count */ 1
        21: .line 916
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iconst_1
            iand
            ifeq 23
        22: .line 917
            iload 5 /* count */
            aload 0 /* this */
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            aload 3 /* kind */
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.rightChild:(I)I
            invokevirtual android.text.SpannableStringBuilder.countSpans:(IILjava/lang/Class;I)I
            iadd
            istore 5 /* count */
        end local 7 // int spanEnd
        end local 6 // int spanStart
        23: .line 921
      StackMap locals:
      StackMap stack:
            iload 5 /* count */
            ireturn
        end local 5 // int count
        end local 4 // int i
        end local 3 // java.lang.Class kind
        end local 2 // int queryEnd
        end local 1 // int queryStart
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Landroid/text/SpannableStringBuilder;
            0   24     1  queryStart  I
            0   24     2    queryEnd  I
            0   24     3        kind  Ljava/lang/Class;
            0   24     4           i  I
            1   24     5       count  I
            3    8     6        left  I
            4    8     7     spanMax  I
           10   23     6   spanStart  I
           14   23     7     spanEnd  I
    MethodParameters:
            Name  Flags
      queryStart  
      queryEnd    
      kind        
      i           

  private <T> int getSpansRec(int, int, java.lang.Class<T>, int, T[], int[], int[], int, );
    descriptor: (IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=16, args_size=10
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int queryStart
        start local 2 // int queryEnd
        start local 3 // java.lang.Class kind
        start local 4 // int i
        start local 5 // java.lang.Object[] ret
        start local 6 // int[] priority
        start local 7 // int[] insertionOrder
        start local 8 // int count
        start local 9 // boolean sort
         0: .line 943
            iload 4 /* i */
            iconst_1
            iand
            ifeq 9
         1: .line 945
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.leftChild:(I)I
            istore 10 /* left */
        start local 10 // int left
         2: .line 946
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanMax:[I
            iload 10 /* left */
            iaload
            istore 11 /* spanMax */
        start local 11 // int spanMax
         3: .line 947
            iload 11 /* spanMax */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 5
         4: .line 948
            iload 11 /* spanMax */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 11 /* spanMax */
         5: .line 950
      StackMap locals: int int
      StackMap stack:
            iload 11 /* spanMax */
            iload 1 /* queryStart */
            if_icmplt 9
         6: .line 951
            aload 0 /* this */
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            aload 3 /* kind */
            iload 10 /* left */
            aload 5 /* ret */
            aload 6 /* priority */
         7: .line 952
            aload 7 /* insertionOrder */
            iload 8 /* count */
            iload 9 /* sort */
         8: .line 951
            invokevirtual android.text.SpannableStringBuilder.getSpansRec:(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
            istore 8 /* count */
        end local 11 // int spanMax
        end local 10 // int left
         9: .line 955
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 10
            iload 8 /* count */
            ireturn
        10: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            istore 10 /* spanStart */
        start local 10 // int spanStart
        11: .line 957
            iload 10 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 13
        12: .line 958
            iload 10 /* spanStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 10 /* spanStart */
        13: .line 960
      StackMap locals: int
      StackMap stack:
            iload 10 /* spanStart */
            iload 2 /* queryEnd */
            if_icmpgt 42
        14: .line 961
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            istore 11 /* spanEnd */
        start local 11 // int spanEnd
        15: .line 962
            iload 11 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmple 17
        16: .line 963
            iload 11 /* spanEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            isub
            istore 11 /* spanEnd */
        17: .line 965
      StackMap locals: int
      StackMap stack:
            iload 11 /* spanEnd */
            iload 1 /* queryStart */
            if_icmplt 38
        18: .line 966
            iload 10 /* spanStart */
            iload 11 /* spanEnd */
            if_icmpeq 20
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            if_icmpeq 20
        19: .line 967
            iload 10 /* spanStart */
            iload 2 /* queryEnd */
            if_icmpeq 38
            iload 11 /* spanEnd */
            iload 1 /* queryStart */
            if_icmpeq 38
        20: .line 968
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            aload 3 /* kind */
            if_acmpeq 21
            aload 3 /* kind */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 38
        21: .line 969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 4 /* i */
            iaload
            ldc 16711680
            iand
            istore 12 /* spanPriority */
        start local 12 // int spanPriority
        22: .line 970
            iload 8 /* count */
            istore 13 /* target */
        start local 13 // int target
        23: .line 971
            iload 9 /* sort */
            ifeq 27
        24: .line 972
            aload 6 /* priority */
            iload 13 /* target */
            iload 12 /* spanPriority */
            iastore
        25: .line 973
            aload 7 /* insertionOrder */
            iload 13 /* target */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 4 /* i */
            iaload
            iastore
        26: .line 974
            goto 36
      StackMap locals: int int
      StackMap stack:
        27: iload 12 /* spanPriority */
            ifeq 36
        28: .line 976
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        29: .line 977
            goto 33
        30: .line 978
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* ret */
            iload 14 /* j */
            aaload
            invokevirtual android.text.SpannableStringBuilder.getSpanFlags:(Ljava/lang/Object;)I
            ldc 16711680
            iand
            istore 15 /* p */
        start local 15 // int p
        31: .line 979
            iload 12 /* spanPriority */
            iload 15 /* p */
            if_icmple 32
            goto 34
        end local 15 // int p
        32: .line 977
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        33: iload 14 /* j */
            iload 8 /* count */
            if_icmplt 30
        34: .line 981
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iload 14 /* j */
            aload 5 /* ret */
            iload 14 /* j */
            iconst_1
            iadd
            iload 8 /* count */
            iload 14 /* j */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        35: .line 982
            iload 14 /* j */
            istore 13 /* target */
        end local 14 // int j
        36: .line 984
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iload 13 /* target */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            aastore
        37: .line 985
            iinc 8 /* count */ 1
        end local 13 // int target
        end local 12 // int spanPriority
        38: .line 987
      StackMap locals:
      StackMap stack:
            iload 8 /* count */
            aload 5 /* ret */
            arraylength
            if_icmpge 42
            iload 4 /* i */
            iconst_1
            iand
            ifeq 42
        39: .line 988
            aload 0 /* this */
            iload 1 /* queryStart */
            iload 2 /* queryEnd */
            aload 3 /* kind */
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.rightChild:(I)I
            aload 5 /* ret */
            aload 6 /* priority */
        40: .line 989
            aload 7 /* insertionOrder */
            iload 8 /* count */
            iload 9 /* sort */
        41: .line 988
            invokevirtual android.text.SpannableStringBuilder.getSpansRec:(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
            istore 8 /* count */
        end local 11 // int spanEnd
        42: .line 992
      StackMap locals:
      StackMap stack:
            iload 8 /* count */
            ireturn
        end local 10 // int spanStart
        end local 9 // boolean sort
        end local 8 // int count
        end local 7 // int[] insertionOrder
        end local 6 // int[] priority
        end local 5 // java.lang.Object[] ret
        end local 4 // int i
        end local 3 // java.lang.Class kind
        end local 2 // int queryEnd
        end local 1 // int queryStart
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   43     0            this  Landroid/text/SpannableStringBuilder;
            0   43     1      queryStart  I
            0   43     2        queryEnd  I
            0   43     3            kind  Ljava/lang/Class<TT;>;
            0   43     4               i  I
            0   43     5             ret  [Ljava/lang/Object;
            0   43     6        priority  [I
            0   43     7  insertionOrder  [I
            0   43     8           count  I
            0   43     9            sort  Z
            2    9    10            left  I
            3    9    11         spanMax  I
           11   43    10       spanStart  I
           15   42    11         spanEnd  I
           22   38    12    spanPriority  I
           23   38    13          target  I
           29   36    14               j  I
           31   32    15               p  I
    Signature: <T:Ljava/lang/Object;>(IILjava/lang/Class<TT;>;I[TT;[I[IIZ)I
    MethodParameters:
                Name  Flags
      queryStart      
      queryEnd        
      kind            
      i               
      ret             
      priority        
      insertionOrder  
      count           
      sort            

  private static int[] obtain(int);
    descriptor: (I)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // int elementCount
         0: .line 1002
            aconst_null
            astore 1 /* result */
        start local 1 // int[] result
         1: .line 1003
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            dup
            astore 2
            monitorenter
         2: .line 1006
            iconst_m1
            istore 3 /* candidateIndex */
        start local 3 // int candidateIndex
         3: .line 1007
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            arraylength
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         4: goto 12
         5: .line 1008
      StackMap locals: int int[] int[][] int int
      StackMap stack:
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 4 /* i */
            aaload
            ifnull 11
         6: .line 1009
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 4 /* i */
            aaload
            arraylength
            iload 0 /* elementCount */
            if_icmplt 9
         7: .line 1010
            iload 4 /* i */
            istore 3 /* candidateIndex */
         8: .line 1011
            goto 13
         9: .line 1012
      StackMap locals:
      StackMap stack:
            iload 3 /* candidateIndex */
            iconst_m1
            if_icmpne 11
        10: .line 1013
            iload 4 /* i */
            istore 3 /* candidateIndex */
        11: .line 1007
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            ifge 5
        end local 4 // int i
        13: .line 1018
      StackMap locals:
      StackMap stack:
            iload 3 /* candidateIndex */
            iconst_m1
            if_icmpeq 16
        14: .line 1019
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 3 /* candidateIndex */
            aaload
            astore 1 /* result */
        15: .line 1020
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 3 /* candidateIndex */
            aconst_null
            aastore
        end local 3 // int candidateIndex
        16: .line 1003
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 2
            monitorexit
        19: athrow
        20: .line 1023
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            iload 0 /* elementCount */
            invokestatic android.text.SpannableStringBuilder.checkSortBuffer:([II)[I
            astore 1 /* result */
        21: .line 1024
            aload 1 /* result */
            areturn
        end local 1 // int[] result
        end local 0 // int elementCount
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0    elementCount  I
            1   22     1          result  [I
            3   16     3  candidateIndex  I
            4   13     4               i  I
      Exception table:
        from    to  target  type
           2    17      18  any
          18    19      18  any
    MethodParameters:
              Name  Flags
      elementCount  final

  private static void recycle(int[]);
    descriptor: ([I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int[] buffer
         0: .line 1033
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            dup
            astore 1
            monitorenter
         1: .line 1034
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 1035
      StackMap locals: int[][] int
      StackMap stack:
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 2 /* i */
            aaload
            ifnull 4
            aload 0 /* buffer */
            arraylength
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 2 /* i */
            aaload
            arraylength
            if_icmple 6
         4: .line 1036
      StackMap locals:
      StackMap stack:
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            iload 2 /* i */
            aload 0 /* buffer */
            aastore
         5: .line 1037
            goto 8
         6: .line 1034
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            getstatic android.text.SpannableStringBuilder.sCachedIntBuffer:[[I
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 1033
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 1041
      StackMap locals:
      StackMap stack:
            return
        end local 0 // int[] buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0  buffer  [I
            2    8     2       i  I
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    MethodParameters:
        Name  Flags
      buffer  

  private static int[] checkSortBuffer(int[], int);
    descriptor: ([II)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int[] buffer
        start local 1 // int size
         0: .line 1052
            aload 0 /* buffer */
            ifnull 1
            iload 1 /* size */
            aload 0 /* buffer */
            arraylength
            if_icmple 2
         1: .line 1053
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            invokestatic com.android.internal.util.GrowingArrayUtils.growSize:(I)I
            invokestatic com.android.internal.util.ArrayUtils.newUnpaddedIntArray:(I)[I
            areturn
         2: .line 1055
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            areturn
        end local 1 // int size
        end local 0 // int[] buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  buffer  [I
            0    3     1    size  I
    MethodParameters:
        Name  Flags
      buffer  
      size    

  private final <T> void sort(T[], int[], );
    descriptor: ([Ljava/lang/Object;[I[I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object[] array
        start local 2 // int[] priority
        start local 3 // int[] insertionOrder
         0: .line 1071
            aload 1 /* array */
            arraylength
            istore 4 /* size */
        start local 4 // int size
         1: .line 1072
            iload 4 /* size */
            iconst_2
            idiv
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 1073
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            aload 1 /* array */
            iload 4 /* size */
            aload 2 /* priority */
            aload 3 /* insertionOrder */
            invokevirtual android.text.SpannableStringBuilder.siftDown:(I[Ljava/lang/Object;I[I[I)V
         4: .line 1072
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            ifge 3
        end local 5 // int i
         6: .line 1076
            iload 4 /* size */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         7: goto 19
         8: .line 1077
      StackMap locals:
      StackMap stack:
            aload 1 /* array */
            iconst_0
            aaload
            astore 6 /* tmpSpan */
        start local 6 // java.lang.Object tmpSpan
         9: .line 1078
            aload 1 /* array */
            iconst_0
            aload 1 /* array */
            iload 5 /* i */
            aaload
            aastore
        10: .line 1079
            aload 1 /* array */
            iload 5 /* i */
            aload 6 /* tmpSpan */
            aastore
        11: .line 1081
            aload 2 /* priority */
            iconst_0
            iaload
            istore 7 /* tmpPriority */
        start local 7 // int tmpPriority
        12: .line 1082
            aload 2 /* priority */
            iconst_0
            aload 2 /* priority */
            iload 5 /* i */
            iaload
            iastore
        13: .line 1083
            aload 2 /* priority */
            iload 5 /* i */
            iload 7 /* tmpPriority */
            iastore
        14: .line 1085
            aload 3 /* insertionOrder */
            iconst_0
            iaload
            istore 8 /* tmpOrder */
        start local 8 // int tmpOrder
        15: .line 1086
            aload 3 /* insertionOrder */
            iconst_0
            aload 3 /* insertionOrder */
            iload 5 /* i */
            iaload
            iastore
        16: .line 1087
            aload 3 /* insertionOrder */
            iload 5 /* i */
            iload 8 /* tmpOrder */
            iastore
        17: .line 1089
            aload 0 /* this */
            iconst_0
            aload 1 /* array */
            iload 5 /* i */
            aload 2 /* priority */
            aload 3 /* insertionOrder */
            invokevirtual android.text.SpannableStringBuilder.siftDown:(I[Ljava/lang/Object;I[I[I)V
        end local 8 // int tmpOrder
        end local 7 // int tmpPriority
        end local 6 // java.lang.Object tmpSpan
        18: .line 1076
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            ifgt 8
        end local 5 // int i
        20: .line 1091
            return
        end local 4 // int size
        end local 3 // int[] insertionOrder
        end local 2 // int[] priority
        end local 1 // java.lang.Object[] array
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Landroid/text/SpannableStringBuilder;
            0   21     1           array  [Ljava/lang/Object;
            0   21     2        priority  [I
            0   21     3  insertionOrder  [I
            1   21     4            size  I
            2    6     5               i  I
            7   20     5               i  I
            9   18     6         tmpSpan  TT;
           12   18     7     tmpPriority  I
           15   18     8        tmpOrder  I
    Signature: <T:Ljava/lang/Object;>([TT;[I[I)V
    MethodParameters:
                Name  Flags
      array           
      priority        
      insertionOrder  

  private final <T> void siftDown(int, T[], int, int[], );
    descriptor: (I[Ljava/lang/Object;I[I[I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int index
        start local 2 // java.lang.Object[] array
        start local 3 // int size
        start local 4 // int[] priority
        start local 5 // int[] insertionOrder
         0: .line 1105
            iconst_2
            iload 1 /* index */
            imul
            iconst_1
            iadd
            istore 6 /* left */
        start local 6 // int left
         1: .line 1106
            goto 17
         2: .line 1107
      StackMap locals: int
      StackMap stack:
            iload 6 /* left */
            iload 3 /* size */
            iconst_1
            isub
            if_icmpge 4
            aload 0 /* this */
            iload 6 /* left */
            iload 6 /* left */
            iconst_1
            iadd
            aload 4 /* priority */
            aload 5 /* insertionOrder */
            invokevirtual android.text.SpannableStringBuilder.compareSpans:(II[I[I)I
            ifge 4
         3: .line 1108
            iinc 6 /* left */ 1
         4: .line 1110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            iload 6 /* left */
            aload 4 /* priority */
            aload 5 /* insertionOrder */
            invokevirtual android.text.SpannableStringBuilder.compareSpans:(II[I[I)I
            iflt 6
         5: .line 1111
            goto 18
         6: .line 1114
      StackMap locals:
      StackMap stack:
            aload 2 /* array */
            iload 1 /* index */
            aaload
            astore 7 /* tmpSpan */
        start local 7 // java.lang.Object tmpSpan
         7: .line 1115
            aload 2 /* array */
            iload 1 /* index */
            aload 2 /* array */
            iload 6 /* left */
            aaload
            aastore
         8: .line 1116
            aload 2 /* array */
            iload 6 /* left */
            aload 7 /* tmpSpan */
            aastore
         9: .line 1118
            aload 4 /* priority */
            iload 1 /* index */
            iaload
            istore 8 /* tmpPriority */
        start local 8 // int tmpPriority
        10: .line 1119
            aload 4 /* priority */
            iload 1 /* index */
            aload 4 /* priority */
            iload 6 /* left */
            iaload
            iastore
        11: .line 1120
            aload 4 /* priority */
            iload 6 /* left */
            iload 8 /* tmpPriority */
            iastore
        12: .line 1122
            aload 5 /* insertionOrder */
            iload 1 /* index */
            iaload
            istore 9 /* tmpOrder */
        start local 9 // int tmpOrder
        13: .line 1123
            aload 5 /* insertionOrder */
            iload 1 /* index */
            aload 5 /* insertionOrder */
            iload 6 /* left */
            iaload
            iastore
        14: .line 1124
            aload 5 /* insertionOrder */
            iload 6 /* left */
            iload 9 /* tmpOrder */
            iastore
        15: .line 1126
            iload 6 /* left */
            istore 1 /* index */
        16: .line 1127
            iconst_2
            iload 1 /* index */
            imul
            iconst_1
            iadd
            istore 6 /* left */
        end local 9 // int tmpOrder
        end local 8 // int tmpPriority
        end local 7 // java.lang.Object tmpSpan
        17: .line 1106
      StackMap locals:
      StackMap stack:
            iload 6 /* left */
            iload 3 /* size */
            if_icmplt 2
        18: .line 1129
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int left
        end local 5 // int[] insertionOrder
        end local 4 // int[] priority
        end local 3 // int size
        end local 2 // java.lang.Object[] array
        end local 1 // int index
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Landroid/text/SpannableStringBuilder;
            0   19     1           index  I
            0   19     2           array  [Ljava/lang/Object;
            0   19     3            size  I
            0   19     4        priority  [I
            0   19     5  insertionOrder  [I
            1   19     6            left  I
            7   17     7         tmpSpan  TT;
           10   17     8     tmpPriority  I
           13   17     9        tmpOrder  I
    Signature: <T:Ljava/lang/Object;>(I[TT;I[I[I)V
    MethodParameters:
                Name  Flags
      index           
      array           
      size            
      priority        
      insertionOrder  

  private final int compareSpans(int, int, int[], int[]);
    descriptor: (II[I[I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int left
        start local 2 // int right
        start local 3 // int[] priority
        start local 4 // int[] insertionOrder
         0: .line 1143
            aload 3 /* priority */
            iload 1 /* left */
            iaload
            istore 5 /* priority1 */
        start local 5 // int priority1
         1: .line 1144
            aload 3 /* priority */
            iload 2 /* right */
            iaload
            istore 6 /* priority2 */
        start local 6 // int priority2
         2: .line 1145
            iload 5 /* priority1 */
            iload 6 /* priority2 */
            if_icmpne 4
         3: .line 1146
            aload 4 /* insertionOrder */
            iload 1 /* left */
            iaload
            aload 4 /* insertionOrder */
            iload 2 /* right */
            iaload
            invokestatic java.lang.Integer.compare:(II)I
            ireturn
         4: .line 1150
      StackMap locals: int int
      StackMap stack:
            iload 6 /* priority2 */
            iload 5 /* priority1 */
            invokestatic java.lang.Integer.compare:(II)I
            ireturn
        end local 6 // int priority2
        end local 5 // int priority1
        end local 4 // int[] insertionOrder
        end local 3 // int[] priority
        end local 2 // int right
        end local 1 // int left
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Landroid/text/SpannableStringBuilder;
            0    5     1            left  I
            0    5     2           right  I
            0    5     3        priority  [I
            0    5     4  insertionOrder  [I
            1    5     5       priority1  I
            2    5     6       priority2  I
    MethodParameters:
                Name  Flags
      left            
      right           
      priority        
      insertionOrder  

  public int nextSpanTransition(int, int, java.lang.Class);
    descriptor: (IILjava/lang/Class;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int limit
        start local 3 // java.lang.Class kind
         0: .line 1159
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            ifne 1
            iload 2 /* limit */
            ireturn
         1: .line 1160
      StackMap locals:
      StackMap stack:
            aload 3 /* kind */
            ifnonnull 3
         2: .line 1161
            ldc Ljava/lang/Object;
            astore 3 /* kind */
         3: .line 1163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* limit */
            aload 3 /* kind */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.treeRoot:()I
            invokevirtual android.text.SpannableStringBuilder.nextSpanTransitionRec:(IILjava/lang/Class;I)I
            ireturn
        end local 3 // java.lang.Class kind
        end local 2 // int limit
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/text/SpannableStringBuilder;
            0    4     1  start  I
            0    4     2  limit  I
            0    4     3   kind  Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      start  
      limit  
      kind   

  private int nextSpanTransitionRec(int, int, java.lang.Class, int);
    descriptor: (IILjava/lang/Class;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int limit
        start local 3 // java.lang.Class kind
        start local 4 // int i
         0: .line 1167
            iload 4 /* i */
            iconst_1
            iand
            ifeq 4
         1: .line 1169
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.leftChild:(I)I
            istore 5 /* left */
        start local 5 // int left
         2: .line 1170
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanMax:[I
            iload 5 /* left */
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
            iload 1 /* start */
            if_icmple 4
         3: .line 1171
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* limit */
            aload 3 /* kind */
            iload 5 /* left */
            invokevirtual android.text.SpannableStringBuilder.nextSpanTransitionRec:(IILjava/lang/Class;I)I
            istore 2 /* limit */
        end local 5 // int left
         4: .line 1174
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmpge 13
         5: .line 1175
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 4 /* i */
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
            istore 5 /* st */
        start local 5 // int st
         6: .line 1176
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 4 /* i */
            iaload
            invokevirtual android.text.SpannableStringBuilder.resolveGap:(I)I
            istore 6 /* en */
        start local 6 // int en
         7: .line 1177
            iload 5 /* st */
            iload 1 /* start */
            if_icmple 9
            iload 5 /* st */
            iload 2 /* limit */
            if_icmpge 9
            aload 3 /* kind */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1178
            iload 5 /* st */
            istore 2 /* limit */
         9: .line 1179
      StackMap locals: int int
      StackMap stack:
            iload 6 /* en */
            iload 1 /* start */
            if_icmple 11
            iload 6 /* en */
            iload 2 /* limit */
            if_icmpge 11
            aload 3 /* kind */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1180
            iload 6 /* en */
            istore 2 /* limit */
        11: .line 1181
      StackMap locals:
      StackMap stack:
            iload 5 /* st */
            iload 2 /* limit */
            if_icmpge 13
            iload 4 /* i */
            iconst_1
            iand
            ifeq 13
        12: .line 1182
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* limit */
            aload 3 /* kind */
            iload 4 /* i */
            invokestatic android.text.SpannableStringBuilder.rightChild:(I)I
            invokevirtual android.text.SpannableStringBuilder.nextSpanTransitionRec:(IILjava/lang/Class;I)I
            istore 2 /* limit */
        end local 6 // int en
        end local 5 // int st
        13: .line 1186
      StackMap locals:
      StackMap stack:
            iload 2 /* limit */
            ireturn
        end local 4 // int i
        end local 3 // java.lang.Class kind
        end local 2 // int limit
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Landroid/text/SpannableStringBuilder;
            0   14     1  start  I
            0   14     2  limit  I
            0   14     3   kind  Ljava/lang/Class;
            0   14     4      i  I
            2    4     5   left  I
            6   13     5     st  I
            7   13     6     en  I
    MethodParameters:
       Name  Flags
      start  
      limit  
      kind   
      i      

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
         0: .line 1194
            new android.text.SpannableStringBuilder
            dup
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            invokespecial android.text.SpannableStringBuilder.<init>:(Ljava/lang/CharSequence;II)V
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/SpannableStringBuilder;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  public void getChars(int, int, char[], int);
    descriptor: (II[CI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // char[] dest
        start local 4 // int destoff
         0: .line 1202
            aload 0 /* this */
            ldc "getChars"
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 1204
            iload 2 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 4
         2: .line 1205
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            aload 3 /* dest */
            iload 4 /* destoff */
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1206
            goto 12
      StackMap locals:
      StackMap stack:
         4: iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 7
         5: .line 1207
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            aload 3 /* dest */
            iload 4 /* destoff */
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1208
            goto 12
         7: .line 1209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            aload 3 /* dest */
            iload 4 /* destoff */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            iload 1 /* start */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 1210
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
         9: .line 1211
            aload 3 /* dest */
            iload 4 /* destoff */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            iload 1 /* start */
            isub
            iadd
        10: .line 1212
            iload 2 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            isub
        11: .line 1210
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 1214
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int destoff
        end local 3 // char[] dest
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Landroid/text/SpannableStringBuilder;
            0   13     1    start  I
            0   13     2      end  I
            0   13     3     dest  [C
            0   13     4  destoff  I
    MethodParameters:
         Name  Flags
      start    
      end      
      dest     
      destoff  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 1221
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1222
            iload 1 /* len */
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         2: .line 1224
            aload 0 /* this */
            iconst_0
            iload 1 /* len */
            aload 2 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
         3: .line 1225
            new java.lang.String
            dup
            aload 2 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // char[] buf
        end local 1 // int len
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/text/SpannableStringBuilder;
            1    4     1   len  I
            2    4     2   buf  [C

  public java.lang.String substring(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
         0: .line 1234
            iload 2 /* end */
            iload 1 /* start */
            isub
            newarray 5
            astore 3 /* buf */
        start local 3 // char[] buf
         1: .line 1235
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            aload 3 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
         2: .line 1236
            new java.lang.String
            dup
            aload 3 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // char[] buf
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/text/SpannableStringBuilder;
            0    3     1  start  I
            0    3     2    end  I
            1    3     3    buf  [C
    MethodParameters:
       Name  Flags
      start  
      end    

  public int getTextWatcherDepth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 1245
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            ireturn
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;

  private void sendBeforeTextChanged(android.text.TextWatcher[], int, int, int);
    descriptor: ([Landroid/text/TextWatcher;III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // android.text.TextWatcher[] watchers
        start local 2 // int start
        start local 3 // int before
        start local 4 // int after
         0: .line 1249
            aload 1 /* watchers */
            arraylength
            istore 5 /* n */
        start local 5 // int n
         1: .line 1251
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            iconst_1
            iadd
            putfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
         2: .line 1252
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 1253
      StackMap locals: int int
      StackMap stack:
            aload 1 /* watchers */
            iload 6 /* i */
            aaload
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* before */
            iload 4 /* after */
            invokeinterface android.text.TextWatcher.beforeTextChanged:(Ljava/lang/CharSequence;III)V
         5: .line 1252
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 4
        end local 6 // int i
         7: .line 1255
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            iconst_1
            isub
            putfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
         8: .line 1256
            return
        end local 5 // int n
        end local 4 // int after
        end local 3 // int before
        end local 2 // int start
        end local 1 // android.text.TextWatcher[] watchers
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/text/SpannableStringBuilder;
            0    9     1  watchers  [Landroid/text/TextWatcher;
            0    9     2     start  I
            0    9     3    before  I
            0    9     4     after  I
            1    9     5         n  I
            3    7     6         i  I
    MethodParameters:
          Name  Flags
      watchers  
      start     
      before    
      after     

  private void sendTextChanged(android.text.TextWatcher[], int, int, int);
    descriptor: ([Landroid/text/TextWatcher;III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // android.text.TextWatcher[] watchers
        start local 2 // int start
        start local 3 // int before
        start local 4 // int after
         0: .line 1259
            aload 1 /* watchers */
            arraylength
            istore 5 /* n */
        start local 5 // int n
         1: .line 1261
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            iconst_1
            iadd
            putfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
         2: .line 1262
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 1263
      StackMap locals: int int
      StackMap stack:
            aload 1 /* watchers */
            iload 6 /* i */
            aaload
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* before */
            iload 4 /* after */
            invokeinterface android.text.TextWatcher.onTextChanged:(Ljava/lang/CharSequence;III)V
         5: .line 1262
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 4
        end local 6 // int i
         7: .line 1265
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            iconst_1
            isub
            putfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
         8: .line 1266
            return
        end local 5 // int n
        end local 4 // int after
        end local 3 // int before
        end local 2 // int start
        end local 1 // android.text.TextWatcher[] watchers
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/text/SpannableStringBuilder;
            0    9     1  watchers  [Landroid/text/TextWatcher;
            0    9     2     start  I
            0    9     3    before  I
            0    9     4     after  I
            1    9     5         n  I
            3    7     6         i  I
    MethodParameters:
          Name  Flags
      watchers  
      start     
      before    
      after     

  private void sendAfterTextChanged(android.text.TextWatcher[]);
    descriptor: ([Landroid/text/TextWatcher;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // android.text.TextWatcher[] watchers
         0: .line 1269
            aload 1 /* watchers */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 1271
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            iconst_1
            iadd
            putfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
         2: .line 1272
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1273
      StackMap locals: int int
      StackMap stack:
            aload 1 /* watchers */
            iload 3 /* i */
            aaload
            aload 0 /* this */
            invokeinterface android.text.TextWatcher.afterTextChanged:(Landroid/text/Editable;)V
         5: .line 1272
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* n */
            if_icmplt 4
        end local 3 // int i
         7: .line 1275
            aload 0 /* this */
            dup
            getfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
            iconst_1
            isub
            putfield android.text.SpannableStringBuilder.mTextWatcherDepth:I
         8: .line 1276
            return
        end local 2 // int n
        end local 1 // android.text.TextWatcher[] watchers
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/text/SpannableStringBuilder;
            0    9     1  watchers  [Landroid/text/TextWatcher;
            1    9     2         n  I
            3    7     3         i  I
    MethodParameters:
          Name  Flags
      watchers  

  private void sendSpanAdded(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
        start local 2 // int start
        start local 3 // int end
         0: .line 1279
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* end */
            ldc Landroid/text/SpanWatcher;
            invokevirtual android.text.SpannableStringBuilder.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.SpanWatcher[]
            astore 4 /* recip */
        start local 4 // android.text.SpanWatcher[] recip
         1: .line 1280
            aload 4 /* recip */
            arraylength
            istore 5 /* n */
        start local 5 // int n
         2: .line 1282
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 1283
      StackMap locals: android.text.SpanWatcher[] int int
      StackMap stack:
            aload 4 /* recip */
            iload 6 /* i */
            aaload
            aload 0 /* this */
            aload 1 /* what */
            iload 2 /* start */
            iload 3 /* end */
            invokeinterface android.text.SpanWatcher.onSpanAdded:(Landroid/text/Spannable;Ljava/lang/Object;II)V
         5: .line 1282
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 4
        end local 6 // int i
         7: .line 1285
            return
        end local 5 // int n
        end local 4 // android.text.SpanWatcher[] recip
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/text/SpannableStringBuilder;
            0    8     1   what  Ljava/lang/Object;
            0    8     2  start  I
            0    8     3    end  I
            1    8     4  recip  [Landroid/text/SpanWatcher;
            2    8     5      n  I
            3    7     6      i  I
    MethodParameters:
       Name  Flags
      what   
      start  
      end    

  private void sendSpanRemoved(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
        start local 2 // int start
        start local 3 // int end
         0: .line 1288
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* end */
            ldc Landroid/text/SpanWatcher;
            invokevirtual android.text.SpannableStringBuilder.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.SpanWatcher[]
            astore 4 /* recip */
        start local 4 // android.text.SpanWatcher[] recip
         1: .line 1289
            aload 4 /* recip */
            arraylength
            istore 5 /* n */
        start local 5 // int n
         2: .line 1291
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 1292
      StackMap locals: android.text.SpanWatcher[] int int
      StackMap stack:
            aload 4 /* recip */
            iload 6 /* i */
            aaload
            aload 0 /* this */
            aload 1 /* what */
            iload 2 /* start */
            iload 3 /* end */
            invokeinterface android.text.SpanWatcher.onSpanRemoved:(Landroid/text/Spannable;Ljava/lang/Object;II)V
         5: .line 1291
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 4
        end local 6 // int i
         7: .line 1294
            return
        end local 5 // int n
        end local 4 // android.text.SpanWatcher[] recip
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/text/SpannableStringBuilder;
            0    8     1   what  Ljava/lang/Object;
            0    8     2  start  I
            0    8     3    end  I
            1    8     4  recip  [Landroid/text/SpanWatcher;
            2    8     5      n  I
            3    7     6      i  I
    MethodParameters:
       Name  Flags
      what   
      start  
      end    

  private void sendSpanChanged(java.lang.Object, int, int, int, int);
    descriptor: (Ljava/lang/Object;IIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object what
        start local 2 // int oldStart
        start local 3 // int oldEnd
        start local 4 // int start
        start local 5 // int end
         0: .line 1299
            aload 0 /* this */
            iload 2 /* oldStart */
            iload 4 /* start */
            invokestatic java.lang.Math.min:(II)I
         1: .line 1300
            iload 3 /* oldEnd */
            iload 5 /* end */
            invokestatic java.lang.Math.max:(II)I
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            invokestatic java.lang.Math.min:(II)I
            ldc Landroid/text/SpanWatcher;
         2: .line 1299
            invokevirtual android.text.SpannableStringBuilder.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.SpanWatcher[]
            astore 6 /* spanWatchers */
        start local 6 // android.text.SpanWatcher[] spanWatchers
         3: .line 1301
            aload 6 /* spanWatchers */
            arraylength
            istore 7 /* n */
        start local 7 // int n
         4: .line 1302
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 1303
      StackMap locals: android.text.SpanWatcher[] int int
      StackMap stack:
            aload 6 /* spanWatchers */
            iload 8 /* i */
            aaload
            aload 0 /* this */
            aload 1 /* what */
            iload 2 /* oldStart */
            iload 3 /* oldEnd */
            iload 4 /* start */
            iload 5 /* end */
            invokeinterface android.text.SpanWatcher.onSpanChanged:(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
         7: .line 1302
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 7 /* n */
            if_icmplt 6
        end local 8 // int i
         9: .line 1305
            return
        end local 7 // int n
        end local 6 // android.text.SpanWatcher[] spanWatchers
        end local 5 // int end
        end local 4 // int start
        end local 3 // int oldEnd
        end local 2 // int oldStart
        end local 1 // java.lang.Object what
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Landroid/text/SpannableStringBuilder;
            0   10     1          what  Ljava/lang/Object;
            0   10     2      oldStart  I
            0   10     3        oldEnd  I
            0   10     4         start  I
            0   10     5           end  I
            3   10     6  spanWatchers  [Landroid/text/SpanWatcher;
            4   10     7             n  I
            5    9     8             i  I
    MethodParameters:
          Name  Flags
      what      
      oldStart  
      oldEnd    
      start     
      end       

  private static java.lang.String region(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int start
        start local 1 // int end
         0: .line 1308
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* start */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ... "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* end */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int end
        end local 0 // int start
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  start  I
            0    1     1    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  private void checkRange(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.String operation
        start local 2 // int start
        start local 3 // int end
         0: .line 1312
            iload 3 /* end */
            iload 2 /* start */
            if_icmpge 4
         1: .line 1313
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* operation */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1314
            iload 2 /* start */
            iload 3 /* end */
            invokestatic android.text.SpannableStringBuilder.region:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " has end before start"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1313
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 4 /* len */
        start local 4 // int len
         5: .line 1319
            iload 2 /* start */
            iload 4 /* len */
            if_icmpgt 6
            iload 3 /* end */
            iload 4 /* len */
            if_icmple 9
         6: .line 1320
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* operation */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1321
            iload 2 /* start */
            iload 3 /* end */
            invokestatic android.text.SpannableStringBuilder.region:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ends beyond length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1320
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1324
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iflt 10
            iload 3 /* end */
            ifge 13
        10: .line 1325
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* operation */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1326
            iload 2 /* start */
            iload 3 /* end */
            invokestatic android.text.SpannableStringBuilder.region:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " starts before 0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1325
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1328
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int len
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String operation
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Landroid/text/SpannableStringBuilder;
            0   14     1  operation  Ljava/lang/String;
            0   14     2      start  I
            0   14     3        end  I
            5   14     4        len  I
    MethodParameters:
           Name  Flags
      operation  final
      start      
      end        

  public void drawText(android.graphics.BaseCanvas, int, int, float, float, android.graphics.Paint);
    descriptor: (Landroid/graphics/BaseCanvas;IIFFLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // android.graphics.BaseCanvas c
        start local 2 // int start
        start local 3 // int end
        start local 4 // float x
        start local 5 // float y
        start local 6 // android.graphics.Paint p
         0: .line 1417
            aload 0 /* this */
            ldc "drawText"
            iload 2 /* start */
            iload 3 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 1419
            iload 3 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 4
         2: .line 1420
            aload 1 /* c */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 2 /* start */
            iload 3 /* end */
            iload 2 /* start */
            isub
            fload 4 /* x */
            fload 5 /* y */
            aload 6 /* p */
            invokevirtual android.graphics.BaseCanvas.drawText:([CIIFFLandroid/graphics/Paint;)V
         3: .line 1421
            goto 11
      StackMap locals:
      StackMap stack:
         4: iload 2 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 7
         5: .line 1422
            aload 1 /* c */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 2 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 3 /* end */
            iload 2 /* start */
            isub
            fload 4 /* x */
            fload 5 /* y */
            aload 6 /* p */
            invokevirtual android.graphics.BaseCanvas.drawText:([CIIFFLandroid/graphics/Paint;)V
         6: .line 1423
            goto 11
         7: .line 1424
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            iload 2 /* start */
            isub
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 7 /* buf */
        start local 7 // char[] buf
         8: .line 1426
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* end */
            aload 7 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
         9: .line 1427
            aload 1 /* c */
            aload 7 /* buf */
            iconst_0
            iload 3 /* end */
            iload 2 /* start */
            isub
            fload 4 /* x */
            fload 5 /* y */
            aload 6 /* p */
            invokevirtual android.graphics.BaseCanvas.drawText:([CIIFFLandroid/graphics/Paint;)V
        10: .line 1428
            aload 7 /* buf */
            invokestatic android.text.TextUtils.recycle:([C)V
        end local 7 // char[] buf
        11: .line 1430
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.graphics.Paint p
        end local 5 // float y
        end local 4 // float x
        end local 3 // int end
        end local 2 // int start
        end local 1 // android.graphics.BaseCanvas c
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Landroid/text/SpannableStringBuilder;
            0   12     1      c  Landroid/graphics/BaseCanvas;
            0   12     2  start  I
            0   12     3    end  I
            0   12     4      x  F
            0   12     5      y  F
            0   12     6      p  Landroid/graphics/Paint;
            8   11     7    buf  [C
    MethodParameters:
       Name  Flags
      c      
      start  
      end    
      x      
      y      
      p      

  public void drawTextRun(android.graphics.BaseCanvas, int, int, int, int, float, float, boolean, android.graphics.Paint);
    descriptor: (Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=13, args_size=10
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // android.graphics.BaseCanvas c
        start local 2 // int start
        start local 3 // int end
        start local 4 // int contextStart
        start local 5 // int contextEnd
        start local 6 // float x
        start local 7 // float y
        start local 8 // boolean isRtl
        start local 9 // android.graphics.Paint p
         0: .line 1440
            aload 0 /* this */
            ldc "drawTextRun"
            iload 2 /* start */
            iload 3 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 1442
            iload 5 /* contextEnd */
            iload 4 /* contextStart */
            isub
            istore 10 /* contextLen */
        start local 10 // int contextLen
         2: .line 1443
            iload 3 /* end */
            iload 2 /* start */
            isub
            istore 11 /* len */
        start local 11 // int len
         3: .line 1444
            iload 5 /* contextEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 6
         4: .line 1445
            aload 1 /* c */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 2 /* start */
            iload 11 /* len */
            iload 4 /* contextStart */
            iload 10 /* contextLen */
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* p */
            invokevirtual android.graphics.BaseCanvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V
         5: .line 1446
            goto 15
      StackMap locals: int int
      StackMap stack:
         6: iload 4 /* contextStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 11
         7: .line 1447
            aload 1 /* c */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 2 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 11 /* len */
            iload 4 /* contextStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
         8: .line 1448
            iload 10 /* contextLen */
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* p */
         9: .line 1447
            invokevirtual android.graphics.BaseCanvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V
        10: .line 1449
            goto 15
        11: .line 1450
      StackMap locals:
      StackMap stack:
            iload 10 /* contextLen */
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 12 /* buf */
        start local 12 // char[] buf
        12: .line 1451
            aload 0 /* this */
            iload 4 /* contextStart */
            iload 5 /* contextEnd */
            aload 12 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
        13: .line 1452
            aload 1 /* c */
            aload 12 /* buf */
            iload 2 /* start */
            iload 4 /* contextStart */
            isub
            iload 11 /* len */
            iconst_0
            iload 10 /* contextLen */
            fload 6 /* x */
            fload 7 /* y */
            iload 8 /* isRtl */
            aload 9 /* p */
            invokevirtual android.graphics.BaseCanvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V
        14: .line 1453
            aload 12 /* buf */
            invokestatic android.text.TextUtils.recycle:([C)V
        end local 12 // char[] buf
        15: .line 1455
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int len
        end local 10 // int contextLen
        end local 9 // android.graphics.Paint p
        end local 8 // boolean isRtl
        end local 7 // float y
        end local 6 // float x
        end local 5 // int contextEnd
        end local 4 // int contextStart
        end local 3 // int end
        end local 2 // int start
        end local 1 // android.graphics.BaseCanvas c
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Landroid/text/SpannableStringBuilder;
            0   16     1             c  Landroid/graphics/BaseCanvas;
            0   16     2         start  I
            0   16     3           end  I
            0   16     4  contextStart  I
            0   16     5    contextEnd  I
            0   16     6             x  F
            0   16     7             y  F
            0   16     8         isRtl  Z
            0   16     9             p  Landroid/graphics/Paint;
            2   16    10    contextLen  I
            3   16    11           len  I
           12   15    12           buf  [C
    MethodParameters:
              Name  Flags
      c             
      start         
      end           
      contextStart  
      contextEnd    
      x             
      y             
      isRtl         
      p             

  public float measureText(int, int, android.graphics.Paint);
    descriptor: (IILandroid/graphics/Paint;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // android.graphics.Paint p
         0: .line 1462
            aload 0 /* this */
            ldc "measureText"
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 1466
            iload 2 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 4
         2: .line 1467
            aload 3 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokevirtual android.graphics.Paint.measureText:([CII)F
            fstore 4 /* ret */
        start local 4 // float ret
         3: .line 1468
            goto 11
        end local 4 // float ret
      StackMap locals:
      StackMap stack:
         4: iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 7
         5: .line 1469
            aload 3 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokevirtual android.graphics.Paint.measureText:([CII)F
            fstore 4 /* ret */
        start local 4 // float ret
         6: .line 1470
            goto 11
        end local 4 // float ret
         7: .line 1471
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 5 /* buf */
        start local 5 // char[] buf
         8: .line 1473
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            aload 5 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
         9: .line 1474
            aload 3 /* p */
            aload 5 /* buf */
            iconst_0
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokevirtual android.graphics.Paint.measureText:([CII)F
            fstore 4 /* ret */
        start local 4 // float ret
        10: .line 1475
            aload 5 /* buf */
            invokestatic android.text.TextUtils.recycle:([C)V
        end local 5 // char[] buf
        11: .line 1478
      StackMap locals: float
      StackMap stack:
            fload 4 /* ret */
            freturn
        end local 4 // float ret
        end local 3 // android.graphics.Paint p
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Landroid/text/SpannableStringBuilder;
            0   12     1  start  I
            0   12     2    end  I
            0   12     3      p  Landroid/graphics/Paint;
            3    4     4    ret  F
            6    7     4    ret  F
           10   12     4    ret  F
            8   11     5    buf  [C
    MethodParameters:
       Name  Flags
      start  
      end    
      p      

  public int getTextWidths(int, int, float[], android.graphics.Paint);
    descriptor: (II[FLandroid/graphics/Paint;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // float[] widths
        start local 4 // android.graphics.Paint p
         0: .line 1486
            aload 0 /* this */
            ldc "getTextWidths"
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual android.text.SpannableStringBuilder.checkRange:(Ljava/lang/String;II)V
         1: .line 1490
            iload 2 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 4
         2: .line 1491
            aload 4 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            iload 2 /* end */
            iload 1 /* start */
            isub
            aload 3 /* widths */
            invokevirtual android.graphics.Paint.getTextWidths:([CII[F)I
            istore 5 /* ret */
        start local 5 // int ret
         3: .line 1492
            goto 11
        end local 5 // int ret
      StackMap locals:
      StackMap stack:
         4: iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 7
         5: .line 1493
            aload 4 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 2 /* end */
            iload 1 /* start */
            isub
            aload 3 /* widths */
            invokevirtual android.graphics.Paint.getTextWidths:([CII[F)I
            istore 5 /* ret */
        start local 5 // int ret
         6: .line 1494
            goto 11
        end local 5 // int ret
         7: .line 1495
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 6 /* buf */
        start local 6 // char[] buf
         8: .line 1497
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            aload 6 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
         9: .line 1498
            aload 4 /* p */
            aload 6 /* buf */
            iconst_0
            iload 2 /* end */
            iload 1 /* start */
            isub
            aload 3 /* widths */
            invokevirtual android.graphics.Paint.getTextWidths:([CII[F)I
            istore 5 /* ret */
        start local 5 // int ret
        10: .line 1499
            aload 6 /* buf */
            invokestatic android.text.TextUtils.recycle:([C)V
        end local 6 // char[] buf
        11: .line 1502
      StackMap locals: int
      StackMap stack:
            iload 5 /* ret */
            ireturn
        end local 5 // int ret
        end local 4 // android.graphics.Paint p
        end local 3 // float[] widths
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Landroid/text/SpannableStringBuilder;
            0   12     1   start  I
            0   12     2     end  I
            0   12     3  widths  [F
            0   12     4       p  Landroid/graphics/Paint;
            3    4     5     ret  I
            6    7     5     ret  I
           10   12     5     ret  I
            8   11     6     buf  [C
    MethodParameters:
        Name  Flags
      start   
      end     
      widths  
      p       

  public float getTextRunAdvances(int, int, int, int, boolean, float[], int, android.graphics.Paint);
    descriptor: (IIIIZ[FILandroid/graphics/Paint;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=13, args_size=9
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int start
        start local 2 // int end
        start local 3 // int contextStart
        start local 4 // int contextEnd
        start local 5 // boolean isRtl
        start local 6 // float[] advances
        start local 7 // int advancesPos
        start local 8 // android.graphics.Paint p
         0: .line 1514
            iload 4 /* contextEnd */
            iload 3 /* contextStart */
            isub
            istore 10 /* contextLen */
        start local 10 // int contextLen
         1: .line 1515
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 11 /* len */
        start local 11 // int len
         2: .line 1517
            iload 2 /* end */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 7
         3: .line 1518
            aload 8 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            iload 11 /* len */
            iload 3 /* contextStart */
            iload 10 /* contextLen */
         4: .line 1519
            iload 5 /* isRtl */
            aload 6 /* advances */
            iload 7 /* advancesPos */
         5: .line 1518
            invokevirtual android.graphics.Paint.getTextRunAdvances:([CIIIIZ[FI)F
            fstore 9 /* ret */
        start local 9 // float ret
         6: .line 1520
            goto 18
        end local 9 // float ret
      StackMap locals: android.text.SpannableStringBuilder int int int int int float[] int android.graphics.Paint top int int
      StackMap stack:
         7: iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 12
         8: .line 1521
            aload 8 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 11 /* len */
         9: .line 1522
            iload 3 /* contextStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 10 /* contextLen */
            iload 5 /* isRtl */
            aload 6 /* advances */
            iload 7 /* advancesPos */
        10: .line 1521
            invokevirtual android.graphics.Paint.getTextRunAdvances:([CIIIIZ[FI)F
            fstore 9 /* ret */
        start local 9 // float ret
        11: .line 1523
            goto 18
        end local 9 // float ret
        12: .line 1524
      StackMap locals:
      StackMap stack:
            iload 10 /* contextLen */
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 12 /* buf */
        start local 12 // char[] buf
        13: .line 1525
            aload 0 /* this */
            iload 3 /* contextStart */
            iload 4 /* contextEnd */
            aload 12 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
        14: .line 1526
            aload 8 /* p */
            aload 12 /* buf */
            iload 1 /* start */
            iload 3 /* contextStart */
            isub
            iload 11 /* len */
        15: .line 1527
            iconst_0
            iload 10 /* contextLen */
            iload 5 /* isRtl */
            aload 6 /* advances */
            iload 7 /* advancesPos */
        16: .line 1526
            invokevirtual android.graphics.Paint.getTextRunAdvances:([CIIIIZ[FI)F
            fstore 9 /* ret */
        start local 9 // float ret
        17: .line 1528
            aload 12 /* buf */
            invokestatic android.text.TextUtils.recycle:([C)V
        end local 12 // char[] buf
        18: .line 1531
      StackMap locals: android.text.SpannableStringBuilder int int int int int float[] int android.graphics.Paint float int int
      StackMap stack:
            fload 9 /* ret */
            freturn
        end local 11 // int len
        end local 10 // int contextLen
        end local 9 // float ret
        end local 8 // android.graphics.Paint p
        end local 7 // int advancesPos
        end local 6 // float[] advances
        end local 5 // boolean isRtl
        end local 4 // int contextEnd
        end local 3 // int contextStart
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Landroid/text/SpannableStringBuilder;
            0   19     1         start  I
            0   19     2           end  I
            0   19     3  contextStart  I
            0   19     4    contextEnd  I
            0   19     5         isRtl  Z
            0   19     6      advances  [F
            0   19     7   advancesPos  I
            0   19     8             p  Landroid/graphics/Paint;
            6    7     9           ret  F
           11   12     9           ret  F
           17   19     9           ret  F
            1   19    10    contextLen  I
            2   19    11           len  I
           13   18    12           buf  [C
    MethodParameters:
              Name  Flags
      start         
      end           
      contextStart  
      contextEnd    
      isRtl         
      advances      
      advancesPos   
      p             

  public int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
    descriptor: (IIIIILandroid/graphics/Paint;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=7
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int contextStart
        start local 2 // int contextEnd
        start local 3 // int dir
        start local 4 // int offset
        start local 5 // int cursorOpt
        start local 6 // android.graphics.Paint p
         0: .line 1565
            iload 2 /* contextEnd */
            iload 1 /* contextStart */
            isub
            istore 8 /* contextLen */
        start local 8 // int contextLen
         1: .line 1566
            iload 2 /* contextEnd */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmpgt 6
         2: .line 1567
            aload 6 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* contextStart */
            iload 8 /* contextLen */
         3: .line 1568
            iload 3 /* dir */
            iload 4 /* offset */
            iload 5 /* cursorOpt */
         4: .line 1567
            invokevirtual android.graphics.Paint.getTextRunCursor:([CIIIII)I
            istore 7 /* ret */
        start local 7 // int ret
         5: .line 1569
            goto 21
        end local 7 // int ret
      StackMap locals: android.text.SpannableStringBuilder int int int int int android.graphics.Paint top int
      StackMap stack:
         6: iload 1 /* contextStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapStart:I
            if_icmplt 13
         7: .line 1570
            aload 6 /* p */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mText:[C
            iload 1 /* contextStart */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 8 /* contextLen */
         8: .line 1571
            iload 3 /* dir */
            iload 4 /* offset */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
            iadd
            iload 5 /* cursorOpt */
         9: .line 1570
            invokevirtual android.graphics.Paint.getTextRunCursor:([CIIIII)I
        10: .line 1571
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mGapLength:I
        11: .line 1570
            isub
            istore 7 /* ret */
        start local 7 // int ret
        12: .line 1572
            goto 21
        end local 7 // int ret
        13: .line 1573
      StackMap locals:
      StackMap stack:
            iload 8 /* contextLen */
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 9 /* buf */
        start local 9 // char[] buf
        14: .line 1574
            aload 0 /* this */
            iload 1 /* contextStart */
            iload 2 /* contextEnd */
            aload 9 /* buf */
            iconst_0
            invokevirtual android.text.SpannableStringBuilder.getChars:(II[CI)V
        15: .line 1575
            aload 6 /* p */
            aload 9 /* buf */
            iconst_0
            iload 8 /* contextLen */
        16: .line 1576
            iload 3 /* dir */
            iload 4 /* offset */
            iload 1 /* contextStart */
            isub
            iload 5 /* cursorOpt */
        17: .line 1575
            invokevirtual android.graphics.Paint.getTextRunCursor:([CIIIII)I
        18: .line 1576
            iload 1 /* contextStart */
        19: .line 1575
            iadd
            istore 7 /* ret */
        start local 7 // int ret
        20: .line 1577
            aload 9 /* buf */
            invokestatic android.text.TextUtils.recycle:([C)V
        end local 9 // char[] buf
        21: .line 1580
      StackMap locals: android.text.SpannableStringBuilder int int int int int android.graphics.Paint int int
      StackMap stack:
            iload 7 /* ret */
            ireturn
        end local 8 // int contextLen
        end local 7 // int ret
        end local 6 // android.graphics.Paint p
        end local 5 // int cursorOpt
        end local 4 // int offset
        end local 3 // int dir
        end local 2 // int contextEnd
        end local 1 // int contextStart
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Landroid/text/SpannableStringBuilder;
            0   22     1  contextStart  I
            0   22     2    contextEnd  I
            0   22     3           dir  I
            0   22     4        offset  I
            0   22     5     cursorOpt  I
            0   22     6             p  Landroid/graphics/Paint;
            5    6     7           ret  I
           12   13     7           ret  I
           20   22     7           ret  I
            1   22     8    contextLen  I
           14   21     9           buf  [C
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      contextStart  
      contextEnd    
      dir           
      offset        
      cursorOpt     
      p             

  public void setFilters(android.text.InputFilter[]);
    descriptor: ([Landroid/text/InputFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // android.text.InputFilter[] filters
         0: .line 1585
            aload 1 /* filters */
            ifnonnull 2
         1: .line 1586
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 1589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filters */
            putfield android.text.SpannableStringBuilder.mFilters:[Landroid/text/InputFilter;
         3: .line 1590
            return
        end local 1 // android.text.InputFilter[] filters
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/text/SpannableStringBuilder;
            0    4     1  filters  [Landroid/text/InputFilter;
    MethodParameters:
         Name  Flags
      filters  

  public android.text.InputFilter[] getFilters();
    descriptor: ()[Landroid/text/InputFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 1594
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mFilters:[Landroid/text/InputFilter;
            areturn
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // java.lang.Object o
         0: .line 1600
            aload 1 /* o */
            instanceof android.text.Spanned
            ifeq 23
         1: .line 1601
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.toString:()Ljava/lang/String;
            aload 1 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
         2: .line 1602
            aload 1 /* o */
            checkcast android.text.Spanned
            astore 2 /* other */
        start local 2 // android.text.Spanned other
         3: .line 1604
            aload 2 /* other */
            iconst_0
            aload 2 /* other */
            invokeinterface android.text.Spanned.length:()I
            ldc Ljava/lang/Object;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 3 /* otherSpans */
        start local 3 // java.lang.Object[] otherSpans
         4: .line 1605
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            aload 3 /* otherSpans */
            arraylength
            if_icmpne 23
         5: .line 1606
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 21
         7: .line 1607
      StackMap locals: android.text.Spanned java.lang.Object[] int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            astore 5 /* thisSpan */
        start local 5 // java.lang.Object thisSpan
         8: .line 1608
            aload 3 /* otherSpans */
            iload 4 /* i */
            aaload
            astore 6 /* otherSpan */
        start local 6 // java.lang.Object otherSpan
         9: .line 1609
            aload 5 /* thisSpan */
            aload 0 /* this */
            if_acmpne 15
        10: .line 1610
            aload 2 /* other */
            aload 6 /* otherSpan */
            if_acmpne 14
        11: .line 1611
            aload 0 /* this */
            aload 5 /* thisSpan */
            invokevirtual android.text.SpannableStringBuilder.getSpanStart:(Ljava/lang/Object;)I
            aload 2 /* other */
            aload 6 /* otherSpan */
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            if_icmpne 14
        12: .line 1612
            aload 0 /* this */
            aload 5 /* thisSpan */
            invokevirtual android.text.SpannableStringBuilder.getSpanEnd:(Ljava/lang/Object;)I
            aload 2 /* other */
            aload 6 /* otherSpan */
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
            if_icmpne 14
        13: .line 1613
            aload 0 /* this */
            aload 5 /* thisSpan */
            invokevirtual android.text.SpannableStringBuilder.getSpanFlags:(Ljava/lang/Object;)I
            aload 2 /* other */
            aload 6 /* otherSpan */
            invokeinterface android.text.Spanned.getSpanFlags:(Ljava/lang/Object;)I
            if_icmpeq 20
        14: .line 1614
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
        15: .line 1616
      StackMap locals:
      StackMap stack:
            aload 5 /* thisSpan */
            aload 6 /* otherSpan */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 1617
            aload 0 /* this */
            aload 5 /* thisSpan */
            invokevirtual android.text.SpannableStringBuilder.getSpanStart:(Ljava/lang/Object;)I
            aload 2 /* other */
            aload 6 /* otherSpan */
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            if_icmpne 19
        17: .line 1618
            aload 0 /* this */
            aload 5 /* thisSpan */
            invokevirtual android.text.SpannableStringBuilder.getSpanEnd:(Ljava/lang/Object;)I
            aload 2 /* other */
            aload 6 /* otherSpan */
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
            if_icmpne 19
        18: .line 1619
            aload 0 /* this */
            aload 5 /* thisSpan */
            invokevirtual android.text.SpannableStringBuilder.getSpanFlags:(Ljava/lang/Object;)I
            aload 2 /* other */
            aload 6 /* otherSpan */
            invokeinterface android.text.Spanned.getSpanFlags:(Ljava/lang/Object;)I
            if_icmpeq 20
        19: .line 1620
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.lang.Object otherSpan
        end local 5 // java.lang.Object thisSpan
        20: .line 1606
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 7
        end local 4 // int i
        22: .line 1623
            iconst_1
            ireturn
        end local 3 // java.lang.Object[] otherSpans
        end local 2 // android.text.Spanned other
        23: .line 1626
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Landroid/text/SpannableStringBuilder;
            0   24     1           o  Ljava/lang/Object;
            3   23     2       other  Landroid/text/Spanned;
            4   23     3  otherSpans  [Ljava/lang/Object;
            6   22     4           i  I
            8   20     5    thisSpan  Ljava/lang/Object;
            9   20     6   otherSpan  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 1632
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 1633
            iload 1 /* hash */
            bipush 31
            imul
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            iadd
            istore 1 /* hash */
         2: .line 1634
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 11
         4: .line 1635
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            astore 3 /* span */
        start local 3 // java.lang.Object span
         5: .line 1636
            aload 3 /* span */
            aload 0 /* this */
            if_acmpeq 7
         6: .line 1637
            iload 1 /* hash */
            bipush 31
            imul
            aload 3 /* span */
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* hash */
         7: .line 1639
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 1 /* hash */
            bipush 31
            imul
            aload 0 /* this */
            aload 3 /* span */
            invokevirtual android.text.SpannableStringBuilder.getSpanStart:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         8: .line 1640
            iload 1 /* hash */
            bipush 31
            imul
            aload 0 /* this */
            aload 3 /* span */
            invokevirtual android.text.SpannableStringBuilder.getSpanEnd:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         9: .line 1641
            iload 1 /* hash */
            bipush 31
            imul
            aload 0 /* this */
            aload 3 /* span */
            invokevirtual android.text.SpannableStringBuilder.getSpanFlags:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
        end local 3 // java.lang.Object span
        10: .line 1634
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 4
        end local 2 // int i
        12: .line 1643
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Landroid/text/SpannableStringBuilder;
            1   13     1  hash  I
            3   12     2     i  I
            5   10     3  span  Ljava/lang/Object;

  private int treeRoot();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 1672
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            invokestatic java.lang.Integer.highestOneBit:(I)I
            iconst_1
            isub
            ireturn
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/SpannableStringBuilder;

  private static int leftChild(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int i
         0: .line 1677
            iload 0 /* i */
            iload 0 /* i */
            iconst_1
            iadd
            iload 0 /* i */
            iconst_m1
            ixor
            iand
            iconst_1
            ishr
            isub
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  private static int rightChild(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int i
         0: .line 1681
            iload 0 /* i */
            iload 0 /* i */
            iconst_1
            iadd
            iload 0 /* i */
            iconst_m1
            ixor
            iand
            iconst_1
            ishr
            iadd
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  private int calcMax(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int i
         0: .line 1693
            iconst_0
            istore 2 /* max */
        start local 2 // int max
         1: .line 1694
            iload 1 /* i */
            iconst_1
            iand
            ifeq 3
         2: .line 1696
            aload 0 /* this */
            iload 1 /* i */
            invokestatic android.text.SpannableStringBuilder.leftChild:(I)I
            invokevirtual android.text.SpannableStringBuilder.calcMax:(I)I
            istore 2 /* max */
         3: .line 1698
      StackMap locals: int
      StackMap stack:
            iload 1 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmpge 7
         4: .line 1699
            iload 2 /* max */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 1 /* i */
            iaload
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* max */
         5: .line 1700
            iload 1 /* i */
            iconst_1
            iand
            ifeq 7
         6: .line 1701
            iload 2 /* max */
            aload 0 /* this */
            iload 1 /* i */
            invokestatic android.text.SpannableStringBuilder.rightChild:(I)I
            invokevirtual android.text.SpannableStringBuilder.calcMax:(I)I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* max */
         7: .line 1704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanMax:[I
            iload 1 /* i */
            iload 2 /* max */
            iastore
         8: .line 1705
            iload 2 /* max */
            ireturn
        end local 2 // int max
        end local 1 // int i
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/text/SpannableStringBuilder;
            0    9     1     i  I
            1    9     2   max  I
    MethodParameters:
      Name  Flags
      i     

  private void restoreInvariants();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // android.text.SpannableStringBuilder this
         0: .line 1710
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            ifne 1
            return
         1: .line 1715
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: goto 25
         3: .line 1716
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iaload
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iconst_1
            isub
            iaload
            if_icmpge 24
         4: .line 1717
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            aaload
            astore 2 /* span */
        start local 2 // java.lang.Object span
         5: .line 1718
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 1 /* i */
            iaload
            istore 3 /* start */
        start local 3 // int start
         6: .line 1719
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 1 /* i */
            iaload
            istore 4 /* end */
        start local 4 // int end
         7: .line 1720
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 1 /* i */
            iaload
            istore 5 /* flags */
        start local 5 // int flags
         8: .line 1721
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 1 /* i */
            iaload
            istore 6 /* insertionOrder */
        start local 6 // int insertionOrder
         9: .line 1722
            iload 1 /* i */
            istore 7 /* j */
        start local 7 // int j
        10: .line 1724
      StackMap locals: android.text.SpannableStringBuilder int java.lang.Object int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 7 /* j */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 7 /* j */
            iconst_1
            isub
            aaload
            aastore
        11: .line 1725
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 7 /* j */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 7 /* j */
            iconst_1
            isub
            iaload
            iastore
        12: .line 1726
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 7 /* j */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 7 /* j */
            iconst_1
            isub
            iaload
            iastore
        13: .line 1727
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 7 /* j */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 7 /* j */
            iconst_1
            isub
            iaload
            iastore
        14: .line 1728
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 7 /* j */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 7 /* j */
            iconst_1
            isub
            iaload
            iastore
        15: .line 1729
            iinc 7 /* j */ -1
        16: .line 1730
            iload 7 /* j */
            ifle 18
            iload 3 /* start */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 7 /* j */
            iconst_1
            isub
            iaload
        17: .line 1723
            if_icmplt 10
        18: .line 1731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 7 /* j */
            aload 2 /* span */
            aastore
        19: .line 1732
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanStarts:[I
            iload 7 /* j */
            iload 3 /* start */
            iastore
        20: .line 1733
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanEnds:[I
            iload 7 /* j */
            iload 4 /* end */
            iastore
        21: .line 1734
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanFlags:[I
            iload 7 /* j */
            iload 5 /* flags */
            iastore
        22: .line 1735
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanOrder:[I
            iload 7 /* j */
            iload 6 /* insertionOrder */
            iastore
        23: .line 1736
            aload 0 /* this */
            iload 7 /* j */
            invokevirtual android.text.SpannableStringBuilder.invalidateIndex:(I)V
        end local 7 // int j
        end local 6 // int insertionOrder
        end local 5 // int flags
        end local 4 // int end
        end local 3 // int start
        end local 2 // java.lang.Object span
        24: .line 1715
      StackMap locals: android.text.SpannableStringBuilder int
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 1 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 3
        end local 1 // int i
        26: .line 1741
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.text.SpannableStringBuilder.treeRoot:()I
            invokevirtual android.text.SpannableStringBuilder.calcMax:(I)I
            pop
        27: .line 1744
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            ifnonnull 29
        28: .line 1745
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
        29: .line 1747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mLowWaterMark:I
            istore 1 /* i */
        start local 1 // int i
        30: goto 35
        31: .line 1748
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            aaload
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* existing */
        start local 2 // java.lang.Integer existing
        32: .line 1749
            aload 2 /* existing */
            ifnull 33
            aload 2 /* existing */
            invokevirtual java.lang.Integer.intValue:()I
            iload 1 /* i */
            if_icmpeq 34
        33: .line 1750
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mIndexOfSpan:Ljava/util/IdentityHashMap;
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpans:[Ljava/lang/Object;
            iload 1 /* i */
            aaload
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.Integer existing
        34: .line 1747
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 1 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mSpanCount:I
            if_icmplt 31
        end local 1 // int i
        36: .line 1753
            aload 0 /* this */
            ldc 2147483647
            putfield android.text.SpannableStringBuilder.mLowWaterMark:I
        37: .line 1754
            return
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Landroid/text/SpannableStringBuilder;
            2   26     1               i  I
            5   24     2            span  Ljava/lang/Object;
            6   24     3           start  I
            7   24     4             end  I
            8   24     5           flags  I
            9   24     6  insertionOrder  I
           10   24     7               j  I
           30   36     1               i  I
           32   34     2        existing  Ljava/lang/Integer;

  private void invalidateIndex(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.SpannableStringBuilder this
        start local 1 // int i
         0: .line 1758
            aload 0 /* this */
            iload 1 /* i */
            aload 0 /* this */
            getfield android.text.SpannableStringBuilder.mLowWaterMark:I
            invokestatic java.lang.Math.min:(II)I
            putfield android.text.SpannableStringBuilder.mLowWaterMark:I
         1: .line 1759
            return
        end local 1 // int i
        end local 0 // android.text.SpannableStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/SpannableStringBuilder;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public android.text.Editable delete(int, int);
    descriptor: (II)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            iload 2
            invokevirtual android.text.SpannableStringBuilder.delete:(II)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public android.text.Editable insert(int, java.lang.CharSequence);
    descriptor: (ILjava/lang/CharSequence;)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            aload 2
            invokevirtual android.text.SpannableStringBuilder.insert:(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public android.text.Editable insert(int, java.lang.CharSequence, int, int);
    descriptor: (ILjava/lang/CharSequence;II)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            iload 1
            aload 2
            iload 3
            iload 4
            invokevirtual android.text.SpannableStringBuilder.insert:(ILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public android.text.Editable replace(int, int, java.lang.CharSequence, int, int);
    descriptor: (IILjava/lang/CharSequence;II)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            iload 1
            iload 2
            aload 3
            iload 4
            iload 5
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public android.text.Editable replace(int, int, java.lang.CharSequence);
    descriptor: (IILjava/lang/CharSequence;)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            iload 1
            iload 2
            aload 3
            invokevirtual android.text.SpannableStringBuilder.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Appendable append(char);
    descriptor: (C)Ljava/lang/Appendable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual android.text.SpannableStringBuilder.append:(C)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public android.text.Editable append(char);
    descriptor: (C)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual android.text.SpannableStringBuilder.append:(C)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Appendable append(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            iload 2
            iload 3
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public android.text.Editable append(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            iload 2
            iload 3
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Appendable append(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/Appendable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public android.text.Editable append(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Landroid/text/Editable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SpannableStringBuilder.java"