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 start local 2 start local 3 0: aload 0
aload 1
putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
1: aload 0
aload 3
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: aload 0
iconst_0
putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
3: aload 2
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "Zip entry is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: jdk.nio.zipfs.ZipFileSystem$EntryOutputStream jdk.nio.zipfs.ZipFileSystem jdk.nio.zipfs.ZipFileSystem$Entry java.io.OutputStream
StackMap stack:
aload 0
aload 2
putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
6: aload 0
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: return
end local 3 end local 2 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
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: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
invokevirtual jdk.nio.zipfs.ZipFileSystem.ensureOpen:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
ifeq 4
3: new java.io.IOException
dup
ldc "Stream closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
iflt 5
iload 3
iflt 5
iload 2
aload 1
arraylength
iload 3
isub
if_icmple 6
5: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iload 3
ifne 8
7: return
8: StackMap locals:
StackMap stack:
aload 0
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: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokespecial java.util.zip.DeflaterOutputStream.write:([BII)V
10: goto 15
11: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.written:J
iload 3
i2l
ladd
putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.written:J
12: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.out:Ljava/io/OutputStream;
aload 1
iload 2
iload 3
invokevirtual java.io.OutputStream.write:([BII)V
13: goto 15
14: 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: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.crc:Ljava/util/zip/CRC32;
aload 1
iload 2
iload 3
invokevirtual java.util.zip.CRC32.update:([BII)V
16: return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.isClosed:Z
3: aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.finish:()V
5: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
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: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
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: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
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: goto 13
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
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: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
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: goto 13
12: 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: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.out:Ljava/io/OutputStream;
instanceof java.io.ByteArrayOutputStream
ifeq 15
14: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.e:Ljdk/nio/zipfs/ZipFileSystem$Entry;
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual jdk.nio.zipfs.ZipFileSystem.releaseDeflater:(Ljava/util/zip/Deflater;)V
17: return
18: StackMap locals:
StackMap stack:
aload 0
invokespecial java.util.zip.DeflaterOutputStream.close:()V
19: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual jdk.nio.zipfs.ZipFileSystem.releaseDeflater:(Ljava/util/zip/Deflater;)V
20: aload 0
getfield jdk.nio.zipfs.ZipFileSystem$EntryOutputStream.this$0:Ljdk/nio/zipfs/ZipFileSystem;
aload 0
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: return
end local 0 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