class org.hsqldb.jdbc.JDBCClobClient$2 extends java.io.OutputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.jdbc.JDBCClobClient$2
  super_class: java.io.OutputStream
{
  private long m_position;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.nio.charset.Charset m_charset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.charset.CharsetDecoder m_decoder;
    descriptor: Ljava/nio/charset/CharsetDecoder;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.CharBuffer m_charBuffer;
    descriptor: Ljava/nio/CharBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer m_byteBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private final byte[] oneByte;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  final org.hsqldb.jdbc.JDBCClobClient this$0;
    descriptor: Lorg/hsqldb/jdbc/JDBCClobClient;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.hsqldb.jdbc.JDBCClobClient, long);
    descriptor: (Lorg/hsqldb/jdbc/JDBCClobClient;J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
         0: .line 391
            aload 0 /* this */
            aload 1
            putfield org.hsqldb.jdbc.JDBCClobClient$2.this$0:Lorg/hsqldb/jdbc/JDBCClobClient;
            aload 0 /* this */
            invokespecial java.io.OutputStream.<init>:()V
         1: .line 393
            aload 0 /* this */
            lload 2
            lconst_1
            lsub
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_position:J
         2: .line 394
            aload 0 /* this */
            ldc "US-ASCII"
            invokestatic org.hsqldb.jdbc.JDBCClobClient.charsetForName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_charset:Ljava/nio/charset/Charset;
         3: .line 395
            aload 0 /* this */
         4: .line 396
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_charset:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
         5: .line 397
            getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
         6: .line 396
            invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
         7: .line 398
            getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
         8: .line 397
            invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_decoder:Ljava/nio/charset/CharsetDecoder;
         9: .line 399
            aload 0 /* this */
            ldc 65536
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
        10: .line 400
            aload 0 /* this */
            sipush 1024
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_byteBuffer:Ljava/nio/ByteBuffer;
        11: .line 401
            aload 0 /* this */
            iconst_1
            newarray 8
            putfield org.hsqldb.jdbc.JDBCClobClient$2.oneByte:[B
        12: .line 391
            return
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      this$0   final
      val$pos  final

  public void write(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
        start local 1 // int b
         0: .line 406
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.oneByte:[B
            dup
            astore 2
            monitorenter
         1: .line 407
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.oneByte:[B
            iconst_0
            iload 1 /* b */
            i2b
            bastore
         2: .line 409
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.oneByte:[B
            iconst_0
            iconst_1
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.write:([BII)V
         3: .line 406
            aload 2
            monitorexit
         4: goto 7
      StackMap locals: org.hsqldb.jdbc.JDBCClobClient$2 int byte[]
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 411
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int b
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
            0    8     1     b  I
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  public void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 415
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.checkClosed:()V
         1: .line 417
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_byteBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            iload 3 /* len */
            if_icmpge 3
         2: .line 418
            iload 3 /* len */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            goto 4
         3: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_byteBuffer:Ljava/nio/ByteBuffer;
         4: .line 417
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
            astore 4 /* bb */
        start local 4 // java.nio.ByteBuffer bb
         5: .line 421
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.remaining:()I
            iload 3 /* len */
            if_icmpge 7
         6: .line 422
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.flush0:()V
         7: .line 425
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.capacity:()I
            iload 3 /* len */
            if_icmpge 9
         8: .line 426
            iload 3 /* len */
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            goto 10
         9: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
        10: .line 425
      StackMap locals:
      StackMap stack: java.nio.CharBuffer
            astore 5 /* cb */
        start local 5 // java.nio.CharBuffer cb
        11: .line 429
            aload 4 /* bb */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        12: .line 430
            aload 4 /* bb */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        13: .line 431
            aload 4 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        14: .line 432
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_decoder:Ljava/nio/charset/CharsetDecoder;
            aload 4 /* bb */
            aload 5 /* cb */
            iconst_0
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
            pop
        15: .line 434
            aload 5 /* cb */
            invokevirtual java.nio.CharBuffer.remaining:()I
            ifne 17
        16: .line 435
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.flush:()V
        17: .line 437
      StackMap locals: java.nio.CharBuffer
      StackMap stack:
            return
        end local 5 // java.nio.CharBuffer cb
        end local 4 // java.nio.ByteBuffer bb
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
            0   18     1     b  [B
            0   18     2   off  I
            0   18     3   len  I
            5   18     4    bb  Ljava/nio/ByteBuffer;
           11   18     5    cb  Ljava/nio/CharBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
         0: .line 440
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.checkClosed:()V
         1: .line 441
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.flush0:()V
         2: .line 442
            return
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
         0: .line 446
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_closed:Z
            ifne 15
         1: .line 448
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.flush0:()V
         2: .line 449
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 450
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_closed:Z
         5: .line 451
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_byteBuffer:Ljava/nio/ByteBuffer;
         6: .line 452
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
         7: .line 453
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_charset:Ljava/nio/charset/Charset;
         8: .line 454
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_decoder:Ljava/nio/charset/CharsetDecoder;
         9: .line 455
            aload 1
            athrow
        10: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_closed:Z
        11: .line 451
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_byteBuffer:Ljava/nio/ByteBuffer;
        12: .line 452
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
        13: .line 453
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_charset:Ljava/nio/charset/Charset;
        14: .line 454
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_decoder:Ljava/nio/charset/CharsetDecoder;
        15: .line 457
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws java.io.IOException

  private void checkClosed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
         0: .line 461
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.this$0:Lorg/hsqldb/jdbc/JDBCClobClient;
            invokevirtual org.hsqldb.jdbc.JDBCClobClient.isClosed:()Z
            ifeq 4
         1: .line 463
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCClobClient$2.close:()V
         2: .line 464
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_closed:Z
            ifeq 6
         5: .line 468
            new java.io.IOException
            dup
            ldc "The stream is closed."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 470
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException

  private void flush0();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
         0: .line 474
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_charBuffer:Ljava/nio/CharBuffer;
            astore 1 /* cb */
        start local 1 // java.nio.CharBuffer cb
         1: .line 476
            aload 1 /* cb */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            pop
         2: .line 478
            aload 1 /* cb */
            invokevirtual java.nio.CharBuffer.length:()I
            newarray 5
            astore 2 /* chars */
        start local 2 // char[] chars
         3: .line 480
            aload 1 /* cb */
            aload 2 /* chars */
            invokevirtual java.nio.CharBuffer.get:([C)Ljava/nio/CharBuffer;
            pop
         4: .line 481
            aload 1 /* cb */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
         5: .line 484
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.this$0:Lorg/hsqldb/jdbc/JDBCClobClient;
            getfield org.hsqldb.jdbc.JDBCClobClient.clob:Lorg/hsqldb/types/ClobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.this$0:Lorg/hsqldb/jdbc/JDBCClobClient;
            getfield org.hsqldb.jdbc.JDBCClobClient.session:Lorg/hsqldb/SessionInterface;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_position:J
            aload 2 /* chars */
            iconst_0
            aload 2 /* chars */
            arraylength
            invokevirtual org.hsqldb.types.ClobDataID.setChars:(Lorg/hsqldb/SessionInterface;J[CII)V
         6: .line 485
            goto 9
      StackMap locals: org.hsqldb.jdbc.JDBCClobClient$2 java.nio.CharBuffer char[]
      StackMap stack: java.lang.Exception
         7: astore 3 /* e */
        start local 3 // java.lang.Exception e
         8: .line 486
            new java.io.IOException
            dup
            aload 3 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Exception e
         9: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hsqldb.jdbc.JDBCClobClient$2.m_position:J
            aload 2 /* chars */
            arraylength
            i2l
            ladd
            putfield org.hsqldb.jdbc.JDBCClobClient$2.m_position:J
        10: .line 490
            return
        end local 2 // char[] chars
        end local 1 // java.nio.CharBuffer cb
        end local 0 // org.hsqldb.jdbc.JDBCClobClient$2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/hsqldb/jdbc/JDBCClobClient$2;
            1   11     1     cb  Ljava/nio/CharBuffer;
            3   11     2  chars  [C
            8    9     3      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
}
SourceFile: "JDBCClobClient.java"
EnclosingMethod: org.hsqldb.jdbc.JDBCClobClient.setAsciiStream:(J)Ljava/io/OutputStream;
NestHost: org.hsqldb.jdbc.JDBCClobClient
InnerClasses:
  org.hsqldb.jdbc.JDBCClobClient$2