public class sun.awt.datatransfer.DataTransferer$ReencodingInputStream extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.datatransfer.DataTransferer$ReencodingInputStream
  super_class: java.io.InputStream
{
  java.io.BufferedReader wrapped;
    descriptor: Ljava/io/BufferedReader;
    flags: (0x0000) 

  final char[] in;
    descriptor: [C
    flags: (0x0010) ACC_FINAL

  byte[] out;
    descriptor: [B
    flags: (0x0000) 

  java.nio.charset.CharsetEncoder encoder;
    descriptor: Ljava/nio/charset/CharsetEncoder;
    flags: (0x0000) 

  java.nio.CharBuffer inBuf;
    descriptor: Ljava/nio/CharBuffer;
    flags: (0x0000) 

  java.nio.ByteBuffer outBuf;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0000) 

  char[] eoln;
    descriptor: [C
    flags: (0x0000) 

  int numTerminators;
    descriptor: I
    flags: (0x0000) 

  boolean eos;
    descriptor: Z
    flags: (0x0000) 

  int index;
    descriptor: I
    flags: (0x0000) 

  int limit;
    descriptor: I
    flags: (0x0000) 

  final sun.awt.datatransfer.DataTransferer this$0;
    descriptor: Lsun/awt/datatransfer/DataTransferer;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(sun.awt.datatransfer.DataTransferer, java.io.InputStream, long, java.lang.String, java.awt.datatransfer.Transferable);
    descriptor: (Lsun/awt/datatransfer/DataTransferer;Ljava/io/InputStream;JLjava/lang/String;Ljava/awt/datatransfer/Transferable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
        start local 2 // java.io.InputStream bytestream
        start local 3 // long format
        start local 5 // java.lang.String targetEncoding
        start local 6 // java.awt.datatransfer.Transferable localeTransferable
         0: .line 1481
            aload 0 /* this */
            aload 1
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.this$0:Lsun/awt/datatransfer/DataTransferer;
         1: .line 1477
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         2: .line 1464
            aload 0 /* this */
            iconst_2
            newarray 5
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.in:[C
         3: .line 1482
            lload 3 /* format */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 7 /* lFormat */
        start local 7 // java.lang.Long lFormat
         4: .line 1484
            aload 1
            lload 3 /* format */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 6 /* localeTransferable */
            invokevirtual sun.awt.datatransfer.DataTransferer.getBestCharsetForTextFormat:(Ljava/lang/Long;Ljava/awt/datatransfer/Transferable;)Ljava/lang/String;
            astore 8 /* sourceEncoding */
        start local 8 // java.lang.String sourceEncoding
         5: .line 1485
            aload 0 /* this */
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 2 /* bytestream */
            aload 8 /* sourceEncoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.wrapped:Ljava/io/BufferedReader;
         6: .line 1487
            aload 5 /* targetEncoding */
            ifnonnull 8
         7: .line 1492
            new java.lang.NullPointerException
            dup
            ldc "null target encoding"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1496
      StackMap locals: sun.awt.datatransfer.DataTransferer$ReencodingInputStream sun.awt.datatransfer.DataTransferer java.io.InputStream long java.lang.String java.awt.datatransfer.Transferable java.lang.Long java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* targetEncoding */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.encoder:Ljava/nio/charset/CharsetEncoder;
         9: .line 1497
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.encoder:Ljava/nio/charset/CharsetEncoder;
            invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
            fconst_2
            fmul
            f2d
            ldc 0.5
            dadd
            d2i
            newarray 8
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.out:[B
        10: .line 1498
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.in:[C
            invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.inBuf:Ljava/nio/CharBuffer;
        11: .line 1499
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.out:[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.outBuf:Ljava/nio/ByteBuffer;
        12: .line 1500
            goto 15
        13: .line 1502
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* e */
        start local 9 // java.lang.RuntimeException e
        14: .line 1503
            new java.io.IOException
            dup
            aload 9 /* e */
            invokevirtual java.lang.RuntimeException.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.RuntimeException e
        15: .line 1506
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.datatransfer.DataTransferer.nativeEOLNs:Ljava/util/Map;
            aload 7 /* lFormat */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* sEoln */
        start local 9 // java.lang.String sEoln
        16: .line 1507
            aload 9 /* sEoln */
            ifnull 18
        17: .line 1508
            aload 0 /* this */
            aload 9 /* sEoln */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eoln:[C
        18: .line 1513
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.awt.datatransfer.DataTransferer.nativeTerminators:Ljava/util/Map;
            aload 7 /* lFormat */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 10 /* terminators */
        start local 10 // java.lang.Integer terminators
        19: .line 1514
            aload 10 /* terminators */
            ifnull 21
        20: .line 1515
            aload 0 /* this */
            aload 10 /* terminators */
            invokevirtual java.lang.Integer.intValue:()I
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.numTerminators:I
        21: .line 1517
      StackMap locals: java.lang.Integer
      StackMap stack:
            return
        end local 10 // java.lang.Integer terminators
        end local 9 // java.lang.String sEoln
        end local 8 // java.lang.String sourceEncoding
        end local 7 // java.lang.Long lFormat
        end local 6 // java.awt.datatransfer.Transferable localeTransferable
        end local 5 // java.lang.String targetEncoding
        end local 3 // long format
        end local 2 // java.io.InputStream bytestream
        end local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0                this  Lsun/awt/datatransfer/DataTransferer$ReencodingInputStream;
            0   22     2          bytestream  Ljava/io/InputStream;
            0   22     3              format  J
            0   22     5      targetEncoding  Ljava/lang/String;
            0   22     6  localeTransferable  Ljava/awt/datatransfer/Transferable;
            4   22     7             lFormat  Ljava/lang/Long;
            5   22     8      sourceEncoding  Ljava/lang/String;
           14   15     9                   e  Ljava/lang/RuntimeException;
           16   22     9               sEoln  Ljava/lang/String;
           19   22    10         terminators  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           8    12      13  Class java.nio.charset.IllegalCharsetNameException
           8    12      13  Class java.nio.charset.UnsupportedCharsetException
           8    12      13  Class java.lang.UnsupportedOperationException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      this$0              final
      bytestream          
      format              
      targetEncoding      
      localeTransferable  

  private int readChar();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
         0: .line 1520
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.wrapped:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.read:()I
            istore 1 /* c */
        start local 1 // int c
         1: .line 1522
            iload 1 /* c */
            iconst_m1
            if_icmpne 4
         2: .line 1523
            aload 0 /* this */
            iconst_1
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eos:Z
         3: .line 1524
            iconst_m1
            ireturn
         4: .line 1528
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.numTerminators:I
            ifle 7
            iload 1 /* c */
            ifne 7
         5: .line 1529
            aload 0 /* this */
            iconst_1
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eos:Z
         6: .line 1530
            iconst_m1
            ireturn
         7: .line 1531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eoln:[C
            ifnull 9
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eoln:[C
            iload 1 /* c */
            invokevirtual sun.awt.datatransfer.DataTransferer$ReencodingInputStream.matchCharArray:([CI)Z
            ifeq 9
         8: .line 1532
            bipush 10
            istore 1 /* c */
         9: .line 1535
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            ireturn
        end local 1 // int c
        end local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/awt/datatransfer/DataTransferer$ReencodingInputStream;
            1   10     1     c  I
    Exceptions:
      throws java.io.IOException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
         0: .line 1539
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eos:Z
            ifeq 2
         1: .line 1540
            iconst_m1
            ireturn
         2: .line 1543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.index:I
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.limit:I
            if_icmplt 21
         3: .line 1545
            aload 0 /* this */
            invokevirtual sun.awt.datatransfer.DataTransferer$ReencodingInputStream.readChar:()I
            istore 1 /* c */
        start local 1 // int c
         4: .line 1546
            iload 1 /* c */
            iconst_m1
            if_icmpne 6
         5: .line 1547
            iconst_m1
            ireturn
         6: .line 1550
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.in:[C
            iconst_0
            iload 1 /* c */
            i2c
            castore
         7: .line 1551
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.in:[C
            iconst_1
            iconst_0
            castore
         8: .line 1552
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.inBuf:Ljava/nio/CharBuffer;
            iconst_1
            invokevirtual java.nio.CharBuffer.limit:(I)Ljava/nio/CharBuffer;
            pop
         9: .line 1553
            iload 1 /* c */
            i2c
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 14
        10: .line 1554
            aload 0 /* this */
            invokevirtual sun.awt.datatransfer.DataTransferer$ReencodingInputStream.readChar:()I
            istore 1 /* c */
        11: .line 1555
            iload 1 /* c */
            iconst_m1
            if_icmpeq 14
        12: .line 1556
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.in:[C
            iconst_1
            iload 1 /* c */
            i2c
            castore
        13: .line 1557
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.inBuf:Ljava/nio/CharBuffer;
            iconst_2
            invokevirtual java.nio.CharBuffer.limit:(I)Ljava/nio/CharBuffer;
            pop
        14: .line 1561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.inBuf:Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.rewind:()Ljava/nio/CharBuffer;
            pop
        15: .line 1562
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.outBuf:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.out:[B
            arraylength
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
            pop
        16: .line 1563
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.encoder:Ljava/nio/charset/CharsetEncoder;
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.inBuf:Ljava/nio/CharBuffer;
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.outBuf:Ljava/nio/ByteBuffer;
            iconst_0
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            pop
        17: .line 1564
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.outBuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
        18: .line 1565
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.outBuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.limit:I
        19: .line 1567
            aload 0 /* this */
            iconst_0
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.index:I
        20: .line 1569
            aload 0 /* this */
            invokevirtual sun.awt.datatransfer.DataTransferer$ReencodingInputStream.read:()I
            ireturn
        end local 1 // int c
        21: .line 1571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.out:[B
            aload 0 /* this */
            dup
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.index:I
            dup_x1
            iconst_1
            iadd
            putfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.index:I
            baload
            sipush 255
            iand
            ireturn
        end local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lsun/awt/datatransfer/DataTransferer$ReencodingInputStream;
            4   21     1     c  I
    Exceptions:
      throws java.io.IOException

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
         0: .line 1576
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.eos:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.limit:I
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.index:I
            isub
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/datatransfer/DataTransferer$ReencodingInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
         0: .line 1580
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.wrapped:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.close:()V
         1: .line 1581
            return
        end local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/datatransfer/DataTransferer$ReencodingInputStream;
    Exceptions:
      throws java.io.IOException

  private boolean matchCharArray(char[], int);
    descriptor: ([CI)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
        start local 1 // char[] array
        start local 2 // int c
         0: .line 1593
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.wrapped:Ljava/io/BufferedReader;
            aload 1 /* array */
            arraylength
            invokevirtual java.io.BufferedReader.mark:(I)V
         1: .line 1595
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         2: .line 1596
            iload 2 /* c */
            i2c
            aload 1 /* array */
            iconst_0
            caload
            if_icmpne 9
         3: .line 1597
            iconst_1
            istore 3 /* count */
            goto 8
         4: .line 1598
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.wrapped:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.read:()I
            istore 2 /* c */
         5: .line 1599
            iload 2 /* c */
            iconst_m1
            if_icmpeq 9
            iload 2 /* c */
            i2c
            aload 1 /* array */
            iload 3 /* count */
            caload
            if_icmpeq 7
         6: .line 1600
            goto 9
         7: .line 1597
      StackMap locals:
      StackMap stack:
            iinc 3 /* count */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* count */
            aload 1 /* array */
            arraylength
            if_icmplt 4
         9: .line 1605
      StackMap locals:
      StackMap stack:
            iload 3 /* count */
            aload 1 /* array */
            arraylength
            if_icmpne 11
        10: .line 1606
            iconst_1
            ireturn
        11: .line 1608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.DataTransferer$ReencodingInputStream.wrapped:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.reset:()V
        12: .line 1609
            iconst_0
            ireturn
        end local 3 // int count
        end local 2 // int c
        end local 1 // char[] array
        end local 0 // sun.awt.datatransfer.DataTransferer$ReencodingInputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lsun/awt/datatransfer/DataTransferer$ReencodingInputStream;
            0   13     1  array  [C
            0   13     2      c  I
            2   13     3  count  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  
      c      
}
SourceFile: "DataTransferer.java"
NestHost: sun.awt.datatransfer.DataTransferer
InnerClasses:
  public ReencodingInputStream = sun.awt.datatransfer.DataTransferer$ReencodingInputStream of sun.awt.datatransfer.DataTransferer