public class java.util.zip.GZIPInputStream extends java.util.zip.InflaterInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.zip.GZIPInputStream
super_class: java.util.zip.InflaterInputStream
{
protected java.util.zip.CRC32 crc;
descriptor: Ljava/util/zip/CRC32;
flags: (0x0004) ACC_PROTECTED
protected boolean eos;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static final int GZIP_MAGIC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 35615
private static final int FTEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FHCRC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int FNAME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private byte[] tmpbuf;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.GZIPInputStream.closed:Z
ifeq 2
1: new java.io.IOException
dup
ldc "Stream closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/zip/GZIPInputStream;
Exceptions:
throws java.io.IOException
public void <init>(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
new java.util.zip.Inflater
dup
iconst_1
invokespecial java.util.zip.Inflater.<init>:(Z)V
iload 2
invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V
1: aload 0
new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
putfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
2: aload 0
iconst_0
putfield java.util.zip.GZIPInputStream.closed:Z
3: aload 0
sipush 128
newarray 8
putfield java.util.zip.GZIPInputStream.tmpbuf:[B
4: aload 0
iconst_1
putfield java.util.zip.GZIPInputStream.usesDefaultInflater:Z
5: aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readHeader:(Ljava/io/InputStream;)I
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/zip/GZIPInputStream;
0 7 1 in Ljava/io/InputStream;
0 7 2 size I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
size
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
sipush 512
invokespecial java.util.zip.GZIPInputStream.<init>:(Ljava/io/InputStream;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/GZIPInputStream;
0 2 1 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.util.zip.GZIPInputStream.ensureOpen:()V
1: aload 0
getfield java.util.zip.GZIPInputStream.eos:Z
ifeq 3
2: iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokespecial java.util.zip.InflaterInputStream.read:([BII)I
istore 4
start local 4 4: iload 4
iconst_m1
if_icmpne 8
5: aload 0
invokevirtual java.util.zip.GZIPInputStream.readTrailer:()Z
ifeq 7
6: aload 0
iconst_1
putfield java.util.zip.GZIPInputStream.eos:Z
goto 9
7: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual java.util.zip.GZIPInputStream.read:([BII)I
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
aload 1
iload 2
iload 4
invokevirtual java.util.zip.CRC32.update:([BII)V
9: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/zip/GZIPInputStream;
0 10 1 buf [B
0 10 2 off I
0 10 3 len I
4 10 4 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.GZIPInputStream.closed:Z
ifne 4
1: aload 0
invokespecial java.util.zip.InflaterInputStream.close:()V
2: aload 0
iconst_1
putfield java.util.zip.GZIPInputStream.eos:Z
3: aload 0
iconst_1
putfield java.util.zip.GZIPInputStream.closed:Z
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/zip/GZIPInputStream;
Exceptions:
throws java.io.IOException
private int (java.io.InputStream);
descriptor: (Ljava/io/InputStream;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.util.zip.CheckedInputStream
dup
aload 1
aload 0
getfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
invokespecial java.util.zip.CheckedInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V
astore 2
start local 2 1: aload 0
getfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
invokevirtual java.util.zip.CRC32.reset:()V
2: aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUShort:(Ljava/io/InputStream;)I
ldc 35615
if_icmpeq 4
3: new java.util.zip.ZipException
dup
ldc "Not in GZIP format"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.zip.CheckedInputStream
StackMap stack:
aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUByte:(Ljava/io/InputStream;)I
bipush 8
if_icmpeq 6
5: new java.util.zip.ZipException
dup
ldc "Unsupported compression method"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUByte:(Ljava/io/InputStream;)I
istore 3
start local 3 7: aload 0
aload 2
bipush 6
invokevirtual java.util.zip.GZIPInputStream.skipBytes:(Ljava/io/InputStream;I)V
8: bipush 10
istore 4
start local 4 9: iload 3
iconst_4
iand
iconst_4
if_icmpne 13
10: aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUShort:(Ljava/io/InputStream;)I
istore 5
start local 5 11: aload 0
aload 2
iload 5
invokevirtual java.util.zip.GZIPInputStream.skipBytes:(Ljava/io/InputStream;I)V
12: iload 4
iload 5
iconst_2
iadd
iadd
istore 4
end local 5 13: StackMap locals: int int
StackMap stack:
iload 3
bipush 8
iand
bipush 8
if_icmpne 16
14: StackMap locals:
StackMap stack:
iinc 4 1
15: aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUByte:(Ljava/io/InputStream;)I
ifne 14
16: StackMap locals:
StackMap stack:
iload 3
bipush 16
iand
bipush 16
if_icmpne 19
17: StackMap locals:
StackMap stack:
iinc 4 1
18: aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUByte:(Ljava/io/InputStream;)I
ifne 17
19: StackMap locals:
StackMap stack:
iload 3
iconst_2
iand
iconst_2
if_icmpne 24
20: aload 0
getfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
invokevirtual java.util.zip.CRC32.getValue:()J
l2i
ldc 65535
iand
istore 5
start local 5 21: aload 0
aload 2
invokevirtual java.util.zip.GZIPInputStream.readUShort:(Ljava/io/InputStream;)I
iload 5
if_icmpeq 23
22: new java.util.zip.ZipException
dup
ldc "Corrupt GZIP header"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: int
StackMap stack:
iinc 4 2
end local 5 24: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
invokevirtual java.util.zip.CRC32.reset:()V
25: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/util/zip/GZIPInputStream;
0 26 1 this_in Ljava/io/InputStream;
1 26 2 in Ljava/util/zip/CheckedInputStream;
7 26 3 flg I
9 26 4 n I
11 13 5 m I
21 24 5 v I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
this_in
private boolean readTrailer();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.zip.GZIPInputStream.in:Ljava/io/InputStream;
astore 1
start local 1 1: aload 0
getfield java.util.zip.GZIPInputStream.inf:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.getRemaining:()I
istore 2
start local 2 2: iload 2
ifle 7
3: new java.io.SequenceInputStream
dup
4: new java.io.ByteArrayInputStream
dup
aload 0
getfield java.util.zip.GZIPInputStream.buf:[B
aload 0
getfield java.util.zip.GZIPInputStream.len:I
iload 2
isub
iload 2
invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
5: new java.util.zip.GZIPInputStream$1
dup
aload 0
aload 1
invokespecial java.util.zip.GZIPInputStream$1.<init>:(Ljava/util/zip/GZIPInputStream;Ljava/io/InputStream;)V
6: invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
astore 1
7: StackMap locals: java.io.InputStream int
StackMap stack:
aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readUInt:(Ljava/io/InputStream;)J
aload 0
getfield java.util.zip.GZIPInputStream.crc:Ljava/util/zip/CRC32;
invokevirtual java.util.zip.CRC32.getValue:()J
lcmp
ifne 9
8: aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readUInt:(Ljava/io/InputStream;)J
aload 0
getfield java.util.zip.GZIPInputStream.inf:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.getBytesWritten:()J
ldc 4294967295
land
lcmp
ifeq 10
9: StackMap locals:
StackMap stack:
new java.util.zip.ZipException
dup
ldc "Corrupt GZIP trailer"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.GZIPInputStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
ifgt 11
iload 2
bipush 26
if_icmple 20
11: StackMap locals:
StackMap stack:
bipush 8
istore 3
start local 3 12: iload 3
aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readHeader:(Ljava/io/InputStream;)I
iadd
istore 3
13: goto 16
StackMap locals: java.util.zip.GZIPInputStream java.io.InputStream int int
StackMap stack: java.io.IOException
14: pop
15: iconst_1
ireturn
16: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.GZIPInputStream.inf:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.reset:()V
17: iload 2
iload 3
if_icmple 19
18: aload 0
getfield java.util.zip.GZIPInputStream.inf:Ljava/util/zip/Inflater;
aload 0
getfield java.util.zip.GZIPInputStream.buf:[B
aload 0
getfield java.util.zip.GZIPInputStream.len:I
iload 2
isub
iload 3
iadd
iload 2
iload 3
isub
invokevirtual java.util.zip.Inflater.setInput:([BII)V
19: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 20: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljava/util/zip/GZIPInputStream;
1 21 1 in Ljava/io/InputStream;
2 21 2 n I
12 20 3 m I
Exception table:
from to target type
12 13 14 Class java.io.IOException
Exceptions:
throws java.io.IOException
private long readUInt(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readUShort:(Ljava/io/InputStream;)I
i2l
lstore 2
start local 2 1: aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readUShort:(Ljava/io/InputStream;)I
i2l
bipush 16
lshl
lload 2
lor
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/GZIPInputStream;
0 2 1 in Ljava/io/InputStream;
1 2 2 s J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
private int readUShort(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readUByte:(Ljava/io/InputStream;)I
istore 2
start local 2 1: aload 0
aload 1
invokevirtual java.util.zip.GZIPInputStream.readUByte:(Ljava/io/InputStream;)I
bipush 8
ishl
iload 2
ior
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/GZIPInputStream;
0 2 1 in Ljava/io/InputStream;
1 2 2 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
private int readUByte(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
iload 2
iconst_m1
if_icmplt 4
iload 2
sipush 255
if_icmple 7
4: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
aload 0
getfield java.util.zip.GZIPInputStream.in:Ljava/io/InputStream;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc ".read() returned value out of range -1..255: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/zip/GZIPInputStream;
0 8 1 in Ljava/io/InputStream;
1 8 2 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
private void skipBytes(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: goto 7
1: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.util.zip.GZIPInputStream.tmpbuf:[B
iconst_0
iload 2
aload 0
getfield java.util.zip.GZIPInputStream.tmpbuf:[B
arraylength
if_icmpge 2
iload 2
goto 3
StackMap locals: java.util.zip.GZIPInputStream java.io.InputStream int
StackMap stack: java.io.InputStream byte[] int
2: aload 0
getfield java.util.zip.GZIPInputStream.tmpbuf:[B
arraylength
StackMap locals: java.util.zip.GZIPInputStream java.io.InputStream int
StackMap stack: java.io.InputStream byte[] int int
3: invokevirtual java.io.InputStream.read:([BII)I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpne 6
5: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
6: StackMap locals: int
StackMap stack:
iload 2
iload 3
isub
istore 2
end local 3 7: StackMap locals:
StackMap stack:
iload 2
ifgt 1
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/zip/GZIPInputStream;
0 9 1 in Ljava/io/InputStream;
0 9 2 n I
4 7 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
n
}
SourceFile: "GZIPInputStream.java"
NestMembers:
java.util.zip.GZIPInputStream$1
InnerClasses:
java.util.zip.GZIPInputStream$1