abstract class com.google.common.io.LineBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.google.common.io.LineBuffer
  super_class: java.lang.Object
{
  private java.lang.StringBuilder line;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0002) ACC_PRIVATE

  private boolean sawReturn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.io.LineBuffer this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
         2: .line 33
            return
        end local 0 // com.google.common.io.LineBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/io/LineBuffer;

  protected void add(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.google.common.io.LineBuffer this
        start local 1 // char[] cbuf
        start local 2 // int off
        start local 3 // int len
         0: .line 50
            iload 2 /* off */
            istore 4 /* pos */
        start local 4 // int pos
         1: .line 51
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.sawReturn:Z
            ifeq 6
            iload 3 /* len */
            ifle 6
         2: .line 53
            aload 0 /* this */
            aload 1 /* cbuf */
            iload 4 /* pos */
            caload
            bipush 10
            if_icmpne 3
            iconst_1
            goto 4
      StackMap locals: com.google.common.io.LineBuffer char[] int int int
      StackMap stack: com.google.common.io.LineBuffer
         3: iconst_0
      StackMap locals: com.google.common.io.LineBuffer char[] int int int
      StackMap stack: com.google.common.io.LineBuffer int
         4: invokevirtual com.google.common.io.LineBuffer.finishLine:(Z)Z
            ifeq 6
         5: .line 54
            iinc 4 /* pos */ 1
         6: .line 58
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            istore 5 /* start */
        start local 5 // int start
         7: .line 59
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 6 /* end */
        start local 6 // int end
         8: goto 23
         9: .line 60
      StackMap locals: int int
      StackMap stack:
            aload 1 /* cbuf */
            iload 4 /* pos */
            caload
            tableswitch { // 10 - 13
                   10: 19
                   11: 22
                   12: 22
                   13: 10
              default: 22
          }
        10: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
            aload 1 /* cbuf */
            iload 5 /* start */
            iload 4 /* pos */
            iload 5 /* start */
            isub
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
        11: .line 63
            aload 0 /* this */
            iconst_1
            putfield com.google.common.io.LineBuffer.sawReturn:Z
        12: .line 64
            iload 4 /* pos */
            iconst_1
            iadd
            iload 6 /* end */
            if_icmpge 17
        13: .line 65
            aload 0 /* this */
            aload 1 /* cbuf */
            iload 4 /* pos */
            iconst_1
            iadd
            caload
            bipush 10
            if_icmpne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: com.google.common.io.LineBuffer
        14: iconst_0
      StackMap locals: com.google.common.io.LineBuffer char[] int int int int int
      StackMap stack: com.google.common.io.LineBuffer int
        15: invokevirtual com.google.common.io.LineBuffer.finishLine:(Z)Z
            ifeq 17
        16: .line 66
            iinc 4 /* pos */ 1
        17: .line 69
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iconst_1
            iadd
            istore 5 /* start */
        18: .line 70
            goto 22
        19: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
            aload 1 /* cbuf */
            iload 5 /* start */
            iload 4 /* pos */
            iload 5 /* start */
            isub
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
        20: .line 74
            aload 0 /* this */
            iconst_1
            invokevirtual com.google.common.io.LineBuffer.finishLine:(Z)Z
            pop
        21: .line 75
            iload 4 /* pos */
            iconst_1
            iadd
            istore 5 /* start */
        22: .line 59
      StackMap locals:
      StackMap stack:
            iinc 4 /* pos */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* pos */
            iload 6 /* end */
            if_icmplt 9
        end local 6 // int end
        24: .line 82
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
            aload 1 /* cbuf */
            iload 5 /* start */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            iload 5 /* start */
            isub
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
        25: .line 83
            return
        end local 5 // int start
        end local 4 // int pos
        end local 3 // int len
        end local 2 // int off
        end local 1 // char[] cbuf
        end local 0 // com.google.common.io.LineBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0   this  Lcom/google/common/io/LineBuffer;
            0   26     1   cbuf  [C
            0   26     2    off  I
            0   26     3    len  I
            1   26     4    pos  I
            7   26     5  start  I
            8   24     6    end  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cbuf  
      off   
      len   

  private boolean finishLine(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.io.LineBuffer this
        start local 1 // boolean sawNewline
         0: .line 88
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.sawReturn:Z
            ifeq 2
            iload 1 /* sawNewline */
            ifeq 1
            ldc "\r\n"
            goto 4
      StackMap locals:
      StackMap stack:
         1: ldc "\r"
            goto 4
      StackMap locals:
      StackMap stack:
         2: iload 1 /* sawNewline */
            ifeq 3
            ldc "\n"
            goto 4
      StackMap locals:
      StackMap stack:
         3: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 2 /* separator */
        start local 2 // java.lang.String separator
         5: .line 89
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* separator */
            invokevirtual com.google.common.io.LineBuffer.handleLine:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 90
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
         7: .line 91
            aload 0 /* this */
            iconst_0
            putfield com.google.common.io.LineBuffer.sawReturn:Z
         8: .line 92
            iload 1 /* sawNewline */
            ireturn
        end local 2 // java.lang.String separator
        end local 1 // boolean sawNewline
        end local 0 // com.google.common.io.LineBuffer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/google/common/io/LineBuffer;
            0    9     1  sawNewline  Z
            5    9     2   separator  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
            Name  Flags
      sawNewline  

  protected void finish();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.io.LineBuffer this
         0: .line 102
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.sawReturn:Z
            ifne 1
            aload 0 /* this */
            getfield com.google.common.io.LineBuffer.line:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 2
         1: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.google.common.io.LineBuffer.finishLine:(Z)Z
            pop
         2: .line 105
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.io.LineBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/io/LineBuffer;
    Exceptions:
      throws java.io.IOException

  protected abstract void handleLine(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      line  
      end   
}
SourceFile: "LineBuffer.java"
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()