class android.widget.AccessibilityIterators$LineTextSegmentIterator extends android.view.AccessibilityIterators$AbstractTextSegmentIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.widget.AccessibilityIterators$LineTextSegmentIterator
  super_class: android.view.AccessibilityIterators$AbstractTextSegmentIterator
{
  private static android.widget.AccessibilityIterators$LineTextSegmentIterator sLineInstance;
    descriptor: Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected static final int DIRECTION_START;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  protected static final int DIRECTION_END;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected android.text.Layout mLayout;
    descriptor: Landroid/text/Layout;
    flags: (0x0004) ACC_PROTECTED

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
         0: .line 30
            aload 0 /* this */
            invokespecial android.view.AccessibilityIterators$AbstractTextSegmentIterator.<init>:()V
            return
        end local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;

  public static android.widget.AccessibilityIterators$LineTextSegmentIterator getInstance();
    descriptor: ()Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 39
            getstatic android.widget.AccessibilityIterators$LineTextSegmentIterator.sLineInstance:Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
            ifnonnull 2
         1: .line 40
            new android.widget.AccessibilityIterators$LineTextSegmentIterator
            dup
            invokespecial android.widget.AccessibilityIterators$LineTextSegmentIterator.<init>:()V
            putstatic android.widget.AccessibilityIterators$LineTextSegmentIterator.sLineInstance:Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
         2: .line 42
      StackMap locals:
      StackMap stack:
            getstatic android.widget.AccessibilityIterators$LineTextSegmentIterator.sLineInstance:Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void initialize(android.text.Spannable, android.text.Layout);
    descriptor: (Landroid/text/Spannable;Landroid/text/Layout;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
        start local 1 // android.text.Spannable text
        start local 2 // android.text.Layout layout
         0: .line 46
            aload 0 /* this */
            aload 1 /* text */
            invokeinterface android.text.Spannable.toString:()Ljava/lang/String;
            putfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mText:Ljava/lang/String;
         1: .line 47
            aload 0 /* this */
            aload 2 /* layout */
            putfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
         2: .line 48
            return
        end local 2 // android.text.Layout layout
        end local 1 // android.text.Spannable text
        end local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
            0    3     1    text  Landroid/text/Spannable;
            0    3     2  layout  Landroid/text/Layout;
    MethodParameters:
        Name  Flags
      text    
      layout  

  public int[] following(int);
    descriptor: (I)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
        start local 1 // int offset
         0: .line 52
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 2 /* textLegth */
        start local 2 // int textLegth
         1: .line 53
            iload 2 /* textLegth */
            ifgt 3
         2: .line 54
            aconst_null
            areturn
         3: .line 56
      StackMap locals: int
      StackMap stack:
            iload 1 /* offset */
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmplt 5
         4: .line 57
            aconst_null
            areturn
         5: .line 60
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ifge 8
         6: .line 61
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            iconst_0
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            istore 3 /* nextLine */
        start local 3 // int nextLine
         7: .line 62
            goto 13
        end local 3 // int nextLine
         8: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            iload 1 /* offset */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            istore 4 /* currentLine */
        start local 4 // int currentLine
         9: .line 64
            aload 0 /* this */
            iload 4 /* currentLine */
            iconst_m1
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getLineEdgeIndex:(II)I
            iload 1 /* offset */
            if_icmpne 12
        10: .line 65
            iload 4 /* currentLine */
            istore 3 /* nextLine */
        start local 3 // int nextLine
        11: .line 66
            goto 13
        end local 3 // int nextLine
        12: .line 67
      StackMap locals: android.widget.AccessibilityIterators$LineTextSegmentIterator int int top int
      StackMap stack:
            iload 4 /* currentLine */
            iconst_1
            iadd
            istore 3 /* nextLine */
        end local 4 // int currentLine
        start local 3 // int nextLine
        13: .line 70
      StackMap locals: android.widget.AccessibilityIterators$LineTextSegmentIterator int int int
      StackMap stack:
            iload 3 /* nextLine */
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            invokevirtual android.text.Layout.getLineCount:()I
            if_icmplt 15
        14: .line 71
            aconst_null
            areturn
        15: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* nextLine */
            iconst_m1
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getLineEdgeIndex:(II)I
            istore 4 /* start */
        start local 4 // int start
        16: .line 74
            aload 0 /* this */
            iload 3 /* nextLine */
            iconst_1
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getLineEdgeIndex:(II)I
            iconst_1
            iadd
            istore 5 /* end */
        start local 5 // int end
        17: .line 75
            aload 0 /* this */
            iload 4 /* start */
            iload 5 /* end */
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getRange:(II)[I
            areturn
        end local 5 // int end
        end local 4 // int start
        end local 3 // int nextLine
        end local 2 // int textLegth
        end local 1 // int offset
        end local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
            0   18     1       offset  I
            1   18     2    textLegth  I
            7    8     3     nextLine  I
           11   12     3     nextLine  I
           13   18     3     nextLine  I
            9   13     4  currentLine  I
           16   18     4        start  I
           17   18     5          end  I
    MethodParameters:
        Name  Flags
      offset  

  public int[] preceding(int);
    descriptor: (I)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
        start local 1 // int offset
         0: .line 80
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 2 /* textLegth */
        start local 2 // int textLegth
         1: .line 81
            iload 2 /* textLegth */
            ifgt 3
         2: .line 82
            aconst_null
            areturn
         3: .line 84
      StackMap locals: int
      StackMap stack:
            iload 1 /* offset */
            ifgt 5
         4: .line 85
            aconst_null
            areturn
         5: .line 88
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmple 8
         6: .line 89
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            istore 3 /* previousLine */
        start local 3 // int previousLine
         7: .line 90
            goto 13
        end local 3 // int previousLine
         8: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            iload 1 /* offset */
            invokevirtual android.text.Layout.getLineForOffset:(I)I
            istore 4 /* currentLine */
        start local 4 // int currentLine
         9: .line 92
            aload 0 /* this */
            iload 4 /* currentLine */
            iconst_1
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getLineEdgeIndex:(II)I
            iconst_1
            iadd
            iload 1 /* offset */
            if_icmpne 12
        10: .line 93
            iload 4 /* currentLine */
            istore 3 /* previousLine */
        start local 3 // int previousLine
        11: .line 94
            goto 13
        end local 3 // int previousLine
        12: .line 95
      StackMap locals: android.widget.AccessibilityIterators$LineTextSegmentIterator int int top int
      StackMap stack:
            iload 4 /* currentLine */
            iconst_1
            isub
            istore 3 /* previousLine */
        end local 4 // int currentLine
        start local 3 // int previousLine
        13: .line 98
      StackMap locals: android.widget.AccessibilityIterators$LineTextSegmentIterator int int int
      StackMap stack:
            iload 3 /* previousLine */
            ifge 15
        14: .line 99
            aconst_null
            areturn
        15: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* previousLine */
            iconst_m1
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getLineEdgeIndex:(II)I
            istore 4 /* start */
        start local 4 // int start
        16: .line 102
            aload 0 /* this */
            iload 3 /* previousLine */
            iconst_1
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getLineEdgeIndex:(II)I
            iconst_1
            iadd
            istore 5 /* end */
        start local 5 // int end
        17: .line 103
            aload 0 /* this */
            iload 4 /* start */
            iload 5 /* end */
            invokevirtual android.widget.AccessibilityIterators$LineTextSegmentIterator.getRange:(II)[I
            areturn
        end local 5 // int end
        end local 4 // int start
        end local 3 // int previousLine
        end local 2 // int textLegth
        end local 1 // int offset
        end local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
            0   18     1        offset  I
            1   18     2     textLegth  I
            7    8     3  previousLine  I
           11   12     3  previousLine  I
           13   18     3  previousLine  I
            9   13     4   currentLine  I
           16   18     4         start  I
           17   18     5           end  I
    MethodParameters:
        Name  Flags
      offset  

  protected int getLineEdgeIndex(int, int);
    descriptor: (II)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
        start local 1 // int lineNumber
        start local 2 // int direction
         0: .line 107
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            iload 1 /* lineNumber */
            invokevirtual android.text.Layout.getParagraphDirection:(I)I
            istore 3 /* paragraphDirection */
        start local 3 // int paragraphDirection
         1: .line 108
            iload 2 /* direction */
            iload 3 /* paragraphDirection */
            imul
            ifge 3
         2: .line 109
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            iload 1 /* lineNumber */
            invokevirtual android.text.Layout.getLineStart:(I)I
            ireturn
         3: .line 111
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AccessibilityIterators$LineTextSegmentIterator.mLayout:Landroid/text/Layout;
            iload 1 /* lineNumber */
            invokevirtual android.text.Layout.getLineEnd:(I)I
            iconst_1
            isub
            ireturn
        end local 3 // int paragraphDirection
        end local 2 // int direction
        end local 1 // int lineNumber
        end local 0 // android.widget.AccessibilityIterators$LineTextSegmentIterator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Landroid/widget/AccessibilityIterators$LineTextSegmentIterator;
            0    4     1          lineNumber  I
            0    4     2           direction  I
            1    4     3  paragraphDirection  I
    MethodParameters:
            Name  Flags
      lineNumber  
      direction   
}
SourceFile: "AccessibilityIterators.java"
NestHost: android.widget.AccessibilityIterators
InnerClasses:
  public abstract AbstractTextSegmentIterator = android.view.AccessibilityIterators$AbstractTextSegmentIterator of android.view.AccessibilityIterators
  LineTextSegmentIterator = android.widget.AccessibilityIterators$LineTextSegmentIterator of android.widget.AccessibilityIterators