class jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel extends jdk.nio.zipfs.ByteArrayChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel
  super_class: jdk.nio.zipfs.ByteArrayChannel
{
  final jdk.nio.zipfs.ZipFileSystem$Entry e;
    descriptor: Ljdk/nio/zipfs/ZipFileSystem$Entry;
    flags: (0x0010) ACC_FINAL

  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);
    descriptor: (Ljdk/nio/zipfs/ZipFileSystem;Ljdk/nio/zipfs/ZipFileSystem$Entry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel this
        start local 2 // jdk.nio.zipfs.ZipFileSystem$Entry e
         0: .line 880
            aload 0 /* this */
            aload 1
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel.this$0:Ljdk/nio/zipfs/ZipFileSystem;
         1: .line 881
            aload 0 /* this */
            aload 2 /* e */
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.size:J
            lconst_0
            lcmp
            ifle 2
            aload 2 /* e */
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.size:J
            l2i
            goto 3
      StackMap locals:
      StackMap stack: uninitialized-this
         2: sipush 8192
      StackMap locals: uninitialized-this jdk.nio.zipfs.ZipFileSystem jdk.nio.zipfs.ZipFileSystem$Entry
      StackMap stack: uninitialized-this int
         3: iconst_0
            invokespecial jdk.nio.zipfs.ByteArrayChannel.<init>:(IZ)V
         4: .line 882
            aload 0 /* this */
            aload 2 /* e */
            putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
         5: .line 883
            aload 2 /* e */
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.mtime:J
            ldc -1
            lcmp
            ifne 7
         6: .line 884
            aload 2 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.mtime:J
         7: .line 885
      StackMap locals: jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel jdk.nio.zipfs.ZipFileSystem jdk.nio.zipfs.ZipFileSystem$Entry
      StackMap stack:
            aload 2 /* e */
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.method:I
            iconst_m1
            if_icmpne 9
         8: .line 886
            aload 2 /* e */
            aload 1
            getfield jdk.nio.zipfs.ZipFileSystem.defaultCompressionMethod:I
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.method:I
         9: .line 888
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            bipush 8
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.flag:I
        10: .line 889
            aload 1
            getfield jdk.nio.zipfs.ZipFileSystem.zc:Ljdk/nio/zipfs/ZipCoder;
            invokevirtual jdk.nio.zipfs.ZipCoder.isUTF8:()Z
            ifeq 12
        11: .line 890
            aload 2 /* e */
            dup
            getfield jdk.nio.zipfs.ZipFileSystem$Entry.flag:I
            sipush 2048
            ior
            putfield jdk.nio.zipfs.ZipFileSystem$Entry.flag:I
        12: .line 891
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nio.zipfs.ZipFileSystem$Entry e
        end local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljdk/nio/zipfs/ZipFileSystem$EntryOutputChannel;
            0   13     2     e  Ljdk/nio/zipfs/ZipFileSystem$Entry;
    MethodParameters:
        Name  Flags
      this$0  final
      e       

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel this
         0: .line 895
            aload 0 /* this */
            invokespecial jdk.nio.zipfs.ByteArrayChannel.beginWrite:()V
         1: .line 897
            aload 0 /* this */
            invokevirtual jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel.isOpen:()Z
            ifne 4
         2: .line 905
            aload 0 /* this */
            invokespecial jdk.nio.zipfs.ByteArrayChannel.endWrite:()V
         3: .line 898
            return
         4: .line 900
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1
            aconst_null
            astore 2
         5: aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel.this$0:Ljdk/nio/zipfs/ZipFileSystem;
            aload 0 /* this */
            getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
            invokevirtual jdk.nio.zipfs.ZipFileSystem.getOutputStream:(Ljdk/nio/zipfs/ZipFileSystem$Entry;)Ljava/io/OutputStream;
            astore 3 /* os */
        start local 3 // java.io.OutputStream os
         6: .line 901
            aload 3 /* os */
            aload 0 /* this */
            invokevirtual jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         7: .line 902
            aload 3 /* os */
            ifnull 13
            aload 3 /* os */
            invokevirtual java.io.OutputStream.close:()V
            goto 13
      StackMap locals: jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
         8: astore 1
            aload 3 /* os */
            ifnull 9
            aload 3 /* os */
            invokevirtual java.io.OutputStream.close:()V
        end local 3 // java.io.OutputStream os
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
        13: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial jdk.nio.zipfs.ByteArrayChannel.close:()V
        14: .line 904
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 905
            aload 0 /* this */
            invokespecial jdk.nio.zipfs.ByteArrayChannel.endWrite:()V
        17: .line 906
            aload 4
            athrow
        18: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial jdk.nio.zipfs.ByteArrayChannel.endWrite:()V
        19: .line 907
            return
        end local 0 // jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljdk/nio/zipfs/ZipFileSystem$EntryOutputChannel;
            6    9     3    os  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           6     7       8  any
           5    10      10  any
           1     2      15  any
           4    15      15  any
    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
  private EntryOutputChannel = jdk.nio.zipfs.ZipFileSystem$EntryOutputChannel of jdk.nio.zipfs.ZipFileSystem