class jdk.nio.zipfs.ZipFileSystem$EntryOutputStream extends java.util.zip.DeflaterOutputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nio.zipfs.ZipFileSystem$EntryOutputStream
  super_class: java.util.zip.DeflaterOutputStream
{
  private java.util.zip.CRC32 crc;
    descriptor: Ljava/util/zip/CRC32;
    flags: (0x0002) ACC_PRIVATE

  private jdk.nio.zipfs.ZipFileSystem$Entry e;
    descriptor: Ljdk/nio/zipfs/ZipFileSystem$Entry;
    flags: (0x0002) ACC_PRIVATE

  private long written;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  final jdk.nio.zipfs.ZipFileSystem this$0;
    descriptor: Ljdk/nio/zipfs/ZipFileSystem;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(jdk.nio.zipfs.ZipFileSystem, jdk.nio.zipfs.ZipFileSystem$Entry, java.io.OutputStream);
    descriptor: (Ljdk/nio/zipfs/ZipFileSystem;Ljdk/nio/zipfs/ZipFileSystem$Entry;Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputStream this
        start local 2 // jdk.nio.zipfs.ZipFileSystem$Entry e
        start local 3 // java.io.OutputStream os
         0: .line 1572
            aload 0 /* this */
            aload 1
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
         1: .line 1573
            aload 0 /* this */
            aload 3 /* os */
            aload 1
            invokevirtual jdk.nio.zipfs.ZipFileSystem.getDeflater:()Ljava/util/zip/Deflater;
            invokespecial java.util.zip.DeflaterOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/zip/Deflater;)V
         2: .line 1568
            aload 0 /* this */
            iconst_0
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
         3: .line 1574
            aload 2 /* e */
            ifnonnull 5
         4: .line 1575
            new java.lang.NullPointerException
            dup
            ldc "Zip entry is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1576
      StackMap locals: jdk.nio.zipfs.ZipFileSystem$EntryOutputStream jdk.nio.zipfs.ZipFileSystem jdk.nio.zipfs.ZipFileSystem$Entry java.io.OutputStream
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
         6: .line 1577
            aload 0 /* this */
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.crc:Ljava/util/zip/CRC32;
         7: .line 1578
            return
        end local 3 // java.io.OutputStream os
        end local 2 // jdk.nio.zipfs.ZipFileSystem$Entry e
        end local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/nio/zipfs/ZipFileSystem$EntryOutputStream;
            0    8     2     e  Ljdk/nio/zipfs/ZipFileSystem$Entry;
            0    8     3    os  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      this$0  final
      e       
      os      

  public synchronized void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 1584
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.type:I
            iconst_3
            if_icmpeq 2
         1: .line 1585
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
            invokevirtual jdk.nio.zipfs.ZipFileSystem.ensureOpen:()V
         2: .line 1586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
            ifeq 4
         3: .line 1587
            new java.io.IOException
            dup
            ldc "Stream closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1589
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iflt 5
            iload 3 /* len */
            iflt 5
            iload 2 /* off */
            aload 1 /* b */
            arraylength
            iload 3 /* len */
            isub
            if_icmple 6
         5: .line 1590
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         6: .line 1591
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifne 8
         7: .line 1592
            return
         8: .line 1594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.method:I
            lookupswitch { // 2
                    0: 11
                    8: 9
              default: 14
          }
         9: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokespecial java.util.zip.DeflaterOutputStream.write:([BII)V
        10: .line 1597
            goto 15
        11: .line 1599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.written:J
            iload 3 /* len */
            i2l
            ladd
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.written:J
        12: .line 1600
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.out:Ljava/io/OutputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
        13: .line 1601
            goto 15
        14: .line 1603
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
            ldc "invalid compression method"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 1605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.crc:Ljava/util/zip/CRC32;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        16: .line 1606
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljdk/nio/zipfs/ZipFileSystem$EntryOutputStream;
            0   17     1     b  [B
            0   17     2   off  I
            0   17     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputStream this
         0: .line 1610
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
            ifeq 2
         1: .line 1611
            return
         2: .line 1613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
         3: .line 1615
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.method:I
            lookupswitch { // 2
                    0: 9
                    8: 4
              default: 12
          }
         4: .line 1617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.finish:()V
         5: .line 1618
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesRead:()J
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.size:J
         6: .line 1619
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesWritten:()J
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.csize:J
         7: .line 1620
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.crc:J
         8: .line 1621
            goto 13
         9: .line 1624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.written:J
            dup2_x1
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.csize:J
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.size:J
        10: .line 1625
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.crc:J
        11: .line 1626
            goto 13
        12: .line 1628
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
            ldc "invalid compression method"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.out:Ljava/io/OutputStream;
            instanceof java.io.ByteArrayOutputStream
            ifeq 15
        14: .line 1632
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.out:Ljava/io/OutputStream;
            checkcast java.io.ByteArrayOutputStream
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.bytes:[B
        15: .line 1634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.type:I
            iconst_3
            if_icmpne 18
        16: .line 1635
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual jdk.nio.zipfs.ZipFileSystem.releaseDeflater:(Ljava/util/zip/Deflater;)V
        17: .line 1636
            return
        18: .line 1638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.util.zip.DeflaterOutputStream.close:()V
        19: .line 1639
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual jdk.nio.zipfs.ZipFileSystem.releaseDeflater:(Ljava/util/zip/Deflater;)V
        20: .line 1640
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            invokevirtual jdk.nio.zipfs.ZipFileSystem.update:(Ljdk/nio/zipfs/ZipFileSystem$Entry;)V
        21: .line 1641
            return
        end local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljdk/nio/zipfs/ZipFileSystem$EntryOutputStream;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "ZipFileSystem.java"
NestHost: jdk.nio.zipfs.ZipFileSystem
InnerClasses:
  Entry = jdk.nio.zipfs.ZipFileSystem$Entry of jdk.nio.zipfs.ZipFileSystem
  EntryOutputStream = jdk.nio.zipfs.ZipFileSystem$EntryOutputStream of jdk.nio.zipfs.ZipFileSystem