public final class com.google.common.io.CharStreams
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.io.CharStreams
  super_class: java.lang.Object
{
  private static final int DEFAULT_BUF_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  static java.nio.CharBuffer createBuffer();
    descriptor: ()Ljava/nio/CharBuffer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            sipush 2048
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.io.CharStreams this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.io.CharStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/io/CharStreams;

  public static long copy(java.lang.Readable, java.lang.Appendable);
    descriptor: (Ljava/lang/Readable;Ljava/lang/Appendable;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.Readable from
        start local 1 // java.lang.Appendable to
         0: .line 73
            aload 0 /* from */
            instanceof java.io.Reader
            ifeq 4
         1: .line 75
            aload 1 /* to */
            instanceof java.lang.StringBuilder
            ifeq 3
         2: .line 76
            aload 0 /* from */
            checkcast java.io.Reader
            aload 1 /* to */
            checkcast java.lang.StringBuilder
            invokestatic com.google.common.io.CharStreams.copyReaderToBuilder:(Ljava/io/Reader;Ljava/lang/StringBuilder;)J
            lreturn
         3: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            checkcast java.io.Reader
            aload 1 /* to */
            invokestatic com.google.common.io.CharStreams.asWriter:(Ljava/lang/Appendable;)Ljava/io/Writer;
            invokestatic com.google.common.io.CharStreams.copyReaderToWriter:(Ljava/io/Reader;Ljava/io/Writer;)J
            lreturn
         4: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 82
            aload 1 /* to */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 83
            lconst_0
            lstore 2 /* total */
        start local 2 // long total
         7: .line 84
            invokestatic com.google.common.io.CharStreams.createBuffer:()Ljava/nio/CharBuffer;
            astore 4 /* buf */
        start local 4 // java.nio.CharBuffer buf
         8: .line 85
            goto 13
         9: .line 86
      StackMap locals: long java.nio.CharBuffer
      StackMap stack:
            aload 4 /* buf */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            pop
        10: .line 87
            aload 1 /* to */
            aload 4 /* buf */
            invokeinterface java.lang.Appendable.append:(Ljava/lang/CharSequence;)Ljava/lang/Appendable;
            pop
        11: .line 88
            lload 2 /* total */
            aload 4 /* buf */
            invokevirtual java.nio.CharBuffer.remaining:()I
            i2l
            ladd
            lstore 2 /* total */
        12: .line 89
            aload 4 /* buf */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        13: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            aload 4 /* buf */
            invokeinterface java.lang.Readable.read:(Ljava/nio/CharBuffer;)I
            iconst_m1
            if_icmpne 9
        14: .line 91
            lload 2 /* total */
            lreturn
        end local 4 // java.nio.CharBuffer buf
        end local 2 // long total
        end local 1 // java.lang.Appendable to
        end local 0 // java.lang.Readable from
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   from  Ljava/lang/Readable;
            0   15     1     to  Ljava/lang/Appendable;
            7   15     2  total  J
            8   15     4    buf  Ljava/nio/CharBuffer;
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
      Name  Flags
      from  
      to    

  static long copyReaderToBuilder(java.io.Reader, java.lang.StringBuilder);
    descriptor: (Ljava/io/Reader;Ljava/lang/StringBuilder;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.io.Reader from
        start local 1 // java.lang.StringBuilder to
         0: .line 115
            aload 0 /* from */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 116
            aload 1 /* to */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 117
            sipush 2048
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         3: .line 119
            lconst_0
            lstore 4 /* total */
        start local 4 // long total
         4: .line 120
            goto 7
        start local 3 // int nRead
         5: .line 121
      StackMap locals: char[] int long
      StackMap stack:
            aload 1 /* to */
            aload 2 /* buf */
            iconst_0
            iload 3 /* nRead */
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
         6: .line 122
            lload 4 /* total */
            iload 3 /* nRead */
            i2l
            ladd
            lstore 4 /* total */
        end local 3 // int nRead
         7: .line 120
      StackMap locals: java.io.Reader java.lang.StringBuilder char[] top long
      StackMap stack:
            aload 0 /* from */
            aload 2 /* buf */
            invokevirtual java.io.Reader.read:([C)I
            dup
            istore 3 /* nRead */
        start local 3 // int nRead
         8: iconst_m1
            if_icmpne 5
         9: .line 124
            lload 4 /* total */
            lreturn
        end local 4 // long total
        end local 3 // int nRead
        end local 2 // char[] buf
        end local 1 // java.lang.StringBuilder to
        end local 0 // java.io.Reader from
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   from  Ljava/io/Reader;
            0   10     1     to  Ljava/lang/StringBuilder;
            3   10     2    buf  [C
            5    7     3  nRead  I
            8   10     3  nRead  I
            4   10     4  total  J
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
      Name  Flags
      from  
      to    

  static long copyReaderToWriter(java.io.Reader, java.io.Writer);
    descriptor: (Ljava/io/Reader;Ljava/io/Writer;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.io.Reader from
        start local 1 // java.io.Writer to
         0: .line 143
            aload 0 /* from */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 144
            aload 1 /* to */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 145
            sipush 2048
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         3: .line 147
            lconst_0
            lstore 4 /* total */
        start local 4 // long total
         4: .line 148
            goto 7
        start local 3 // int nRead
         5: .line 149
      StackMap locals: char[] int long
      StackMap stack:
            aload 1 /* to */
            aload 2 /* buf */
            iconst_0
            iload 3 /* nRead */
            invokevirtual java.io.Writer.write:([CII)V
         6: .line 150
            lload 4 /* total */
            iload 3 /* nRead */
            i2l
            ladd
            lstore 4 /* total */
        end local 3 // int nRead
         7: .line 148
      StackMap locals: java.io.Reader java.io.Writer char[] top long
      StackMap stack:
            aload 0 /* from */
            aload 2 /* buf */
            invokevirtual java.io.Reader.read:([C)I
            dup
            istore 3 /* nRead */
        start local 3 // int nRead
         8: iconst_m1
            if_icmpne 5
         9: .line 152
            lload 4 /* total */
            lreturn
        end local 4 // long total
        end local 3 // int nRead
        end local 2 // char[] buf
        end local 1 // java.io.Writer to
        end local 0 // java.io.Reader from
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   from  Ljava/io/Reader;
            0   10     1     to  Ljava/io/Writer;
            3   10     2    buf  [C
            5    7     3  nRead  I
            8   10     3  nRead  I
            4   10     4  total  J
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
      Name  Flags
      from  
      to    

  public static java.lang.String toString(java.lang.Readable);
    descriptor: (Ljava/lang/Readable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Readable r
         0: .line 164
            aload 0 /* r */
            invokestatic com.google.common.io.CharStreams.toStringBuilder:(Ljava/lang/Readable;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Readable r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     r  Ljava/lang/Readable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      r     

  private static java.lang.StringBuilder toStringBuilder(java.lang.Readable);
    descriptor: (Ljava/lang/Readable;)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Readable r
         0: .line 176
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 177
            aload 0 /* r */
            instanceof java.io.Reader
            ifeq 4
         2: .line 178
            aload 0 /* r */
            checkcast java.io.Reader
            aload 1 /* sb */
            invokestatic com.google.common.io.CharStreams.copyReaderToBuilder:(Ljava/io/Reader;Ljava/lang/StringBuilder;)J
            pop2
         3: .line 179
            goto 5
         4: .line 180
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* r */
            aload 1 /* sb */
            invokestatic com.google.common.io.CharStreams.copy:(Ljava/lang/Readable;Ljava/lang/Appendable;)J
            pop2
         5: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.Readable r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     r  Ljava/lang/Readable;
            1    6     1    sb  Ljava/lang/StringBuilder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      r     

  public static java.util.List<java.lang.String> readLines(java.lang.Readable);
    descriptor: (Ljava/lang/Readable;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Readable r
         0: .line 197
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 198
            new com.google.common.io.LineReader
            dup
            aload 0 /* r */
            invokespecial com.google.common.io.LineReader.<init>:(Ljava/lang/Readable;)V
            astore 2 /* lineReader */
        start local 2 // com.google.common.io.LineReader lineReader
         2: .line 200
            goto 4
        start local 3 // java.lang.String line
         3: .line 201
      StackMap locals: java.util.List com.google.common.io.LineReader java.lang.String
      StackMap stack:
            aload 1 /* result */
            aload 3 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String line
         4: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* lineReader */
            invokevirtual com.google.common.io.LineReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
        start local 3 // java.lang.String line
         5: ifnonnull 3
         6: .line 203
            aload 1 /* result */
            areturn
        end local 3 // java.lang.String line
        end local 2 // com.google.common.io.LineReader lineReader
        end local 1 // java.util.List result
        end local 0 // java.lang.Readable r
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0           r  Ljava/lang/Readable;
            1    7     1      result  Ljava/util/List<Ljava/lang/String;>;
            2    7     2  lineReader  Lcom/google/common/io/LineReader;
            3    4     3        line  Ljava/lang/String;
            5    7     3        line  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Readable;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      r     

  public static <T> T readLines(java.lang.Readable, com.google.common.io.LineProcessor<T>);
    descriptor: (Ljava/lang/Readable;Lcom/google/common/io/LineProcessor;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Readable readable
        start local 1 // com.google.common.io.LineProcessor processor
         0: .line 217
            aload 0 /* readable */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 218
            aload 1 /* processor */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 220
            new com.google.common.io.LineReader
            dup
            aload 0 /* readable */
            invokespecial com.google.common.io.LineReader.<init>:(Ljava/lang/Readable;)V
            astore 2 /* lineReader */
        start local 2 // com.google.common.io.LineReader lineReader
         3: .line 222
            goto 6
        start local 3 // java.lang.String line
         4: .line 223
      StackMap locals: com.google.common.io.LineReader java.lang.String
      StackMap stack:
            aload 1 /* processor */
            aload 3 /* line */
            invokeinterface com.google.common.io.LineProcessor.processLine:(Ljava/lang/String;)Z
            ifne 6
         5: .line 224
            goto 8
        end local 3 // java.lang.String line
         6: .line 222
      StackMap locals:
      StackMap stack:
            aload 2 /* lineReader */
            invokevirtual com.google.common.io.LineReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
        start local 3 // java.lang.String line
         7: ifnonnull 4
         8: .line 227
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* processor */
            invokeinterface com.google.common.io.LineProcessor.getResult:()Ljava/lang/Object;
            areturn
        end local 3 // java.lang.String line
        end local 2 // com.google.common.io.LineReader lineReader
        end local 1 // com.google.common.io.LineProcessor processor
        end local 0 // java.lang.Readable readable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0    readable  Ljava/lang/Readable;
            0    9     1   processor  Lcom/google/common/io/LineProcessor<TT;>;
            3    9     2  lineReader  Lcom/google/common/io/LineReader;
            4    6     3        line  Ljava/lang/String;
            7    9     3        line  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Readable;Lcom/google/common/io/LineProcessor<TT;>;)TT;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
           Name  Flags
      readable   
      processor  

  public static long exhaust(java.lang.Readable);
    descriptor: (Ljava/lang/Readable;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.Readable readable
         0: .line 238
            lconst_0
            lstore 1 /* total */
        start local 1 // long total
         1: .line 240
            invokestatic com.google.common.io.CharStreams.createBuffer:()Ljava/nio/CharBuffer;
            astore 5 /* buf */
        start local 5 // java.nio.CharBuffer buf
         2: .line 241
            goto 5
        start local 3 // long read
         3: .line 242
      StackMap locals: long long java.nio.CharBuffer
      StackMap stack:
            lload 1 /* total */
            lload 3 /* read */
            ladd
            lstore 1 /* total */
         4: .line 243
            aload 5 /* buf */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 3 // long read
         5: .line 241
      StackMap locals: java.lang.Readable long top top java.nio.CharBuffer
      StackMap stack:
            aload 0 /* readable */
            aload 5 /* buf */
            invokeinterface java.lang.Readable.read:(Ljava/nio/CharBuffer;)I
            i2l
            dup2
            lstore 3 /* read */
        start local 3 // long read
         6: ldc -1
            lcmp
            ifne 3
         7: .line 245
            lload 1 /* total */
            lreturn
        end local 5 // java.nio.CharBuffer buf
        end local 3 // long read
        end local 1 // long total
        end local 0 // java.lang.Readable readable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  readable  Ljava/lang/Readable;
            1    8     1     total  J
            3    5     3      read  J
            6    8     3      read  J
            2    8     5       buf  Ljava/nio/CharBuffer;
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
          Name  Flags
      readable  

  public static void skipFully(java.io.Reader, long);
    descriptor: (Ljava/io/Reader;J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.io.Reader reader
        start local 1 // long n
         0: .line 258
            aload 0 /* reader */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 259
            goto 6
         2: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* reader */
            lload 1 /* n */
            invokevirtual java.io.Reader.skip:(J)J
            lstore 3 /* amt */
        start local 3 // long amt
         3: .line 261
            lload 3 /* amt */
            lconst_0
            lcmp
            ifne 5
         4: .line 262
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         5: .line 264
      StackMap locals: long
      StackMap stack:
            lload 1 /* n */
            lload 3 /* amt */
            lsub
            lstore 1 /* n */
        end local 3 // long amt
         6: .line 259
      StackMap locals:
      StackMap stack:
            lload 1 /* n */
            lconst_0
            lcmp
            ifgt 2
         7: .line 266
            return
        end local 1 // long n
        end local 0 // java.io.Reader reader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  reader  Ljava/io/Reader;
            0    8     1       n  J
            3    6     3     amt  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      reader  
      n       

  public static java.io.Writer nullWriter();
    descriptor: ()Ljava/io/Writer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 274
            getstatic com.google.common.io.CharStreams$NullWriter.INSTANCE:Lcom/google/common/io/CharStreams$NullWriter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.io.Writer asWriter(java.lang.Appendable);
    descriptor: (Ljava/lang/Appendable;)Ljava/io/Writer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Appendable target
         0: .line 342
            aload 0 /* target */
            instanceof java.io.Writer
            ifeq 2
         1: .line 343
            aload 0 /* target */
            checkcast java.io.Writer
            areturn
         2: .line 345
      StackMap locals:
      StackMap stack:
            new com.google.common.io.AppendableWriter
            dup
            aload 0 /* target */
            invokespecial com.google.common.io.AppendableWriter.<init>:(Ljava/lang/Appendable;)V
            areturn
        end local 0 // java.lang.Appendable target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  target  Ljava/lang/Appendable;
    MethodParameters:
        Name  Flags
      target  
}
SourceFile: "CharStreams.java"
NestMembers:
  com.google.common.io.CharStreams$NullWriter
InnerClasses:
  private final NullWriter = com.google.common.io.CharStreams$NullWriter of com.google.common.io.CharStreams
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.common.annotations.GwtIncompatible()