class org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream
super_class: java.io.InputStream
{
private java.nio.ByteBuffer singleByteBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private final long end;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long loc;
descriptor: J
flags: (0x0002) ACC_PRIVATE
final org.apache.commons.compress.archivers.zip.ZipFile this$0;
descriptor: Lorg/apache/commons/compress/archivers/zip/ZipFile;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.apache.commons.compress.archivers.zip.ZipFile, long, long);
descriptor: (Lorg/apache/commons/compress/archivers/zip/ZipFile;JJ)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 2 start local 4 0: aload 0
aload 1
putfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/commons/compress/archivers/zip/ZipFile;
aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
lload 2
lload 4
ladd
putfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.end:J
2: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.end:J
lload 2
lcmp
ifge 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid length of stream at offset="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", length="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream org.apache.commons.compress.archivers.zip.ZipFile long long
StackMap stack:
aload 0
lload 2
putfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
5: return
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/commons/compress/archivers/zip/ZipFile$BoundedInputStream;
0 6 2 start J
0 6 4 remaining J
MethodParameters:
Name Flags
this$0 final
start final
remaining final
public synchronized int read();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.end:J
lcmp
iflt 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.singleByteBuffer:Ljava/nio/ByteBuffer;
ifnonnull 5
3: aload 0
iconst_1
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.singleByteBuffer:Ljava/nio/ByteBuffer;
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.singleByteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.singleByteBuffer:Ljava/nio/ByteBuffer;
invokevirtual org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.read:(JLjava/nio/ByteBuffer;)I
istore 1
start local 1 7: iload 1
ifge 9
8: iload 1
ireturn
9: StackMap locals: int
StackMap stack:
aload 0
dup
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
lconst_1
ladd
putfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
10: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.singleByteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/commons/compress/archivers/zip/ZipFile$BoundedInputStream;
7 11 1 read I
Exceptions:
throws java.io.IOException
public synchronized int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 3
i2l
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.end:J
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
lsub
lcmp
ifle 6
3: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.end:J
lcmp
iflt 5
4: iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.end:J
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
lsub
l2i
istore 3
6: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 4
start local 4 7: aload 0
aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
aload 4
invokevirtual org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.read:(JLjava/nio/ByteBuffer;)I
istore 5
start local 5 8: iload 5
ifle 11
9: aload 0
dup
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
iload 5
i2l
ladd
putfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.loc:J
10: iload 5
ireturn
11: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/commons/compress/archivers/zip/ZipFile$BoundedInputStream;
0 12 1 b [B
0 12 2 off I
0 12 3 len I
7 12 4 buf Ljava/nio/ByteBuffer;
8 12 5 ret I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
off final
len
protected int read(long, java.nio.ByteBuffer);
descriptor: (JLjava/nio/ByteBuffer;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/commons/compress/archivers/zip/ZipFile;
getfield org.apache.commons.compress.archivers.zip.ZipFile.archive:Ljava/nio/channels/SeekableByteChannel;
dup
astore 5
monitorenter
1: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/commons/compress/archivers/zip/ZipFile;
getfield org.apache.commons.compress.archivers.zip.ZipFile.archive:Ljava/nio/channels/SeekableByteChannel;
lload 1
invokeinterface java.nio.channels.SeekableByteChannel.position:(J)Ljava/nio/channels/SeekableByteChannel;
pop
2: aload 0
getfield org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/commons/compress/archivers/zip/ZipFile;
getfield org.apache.commons.compress.archivers.zip.ZipFile.archive:Ljava/nio/channels/SeekableByteChannel;
aload 3
invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
istore 4
start local 4 3: aload 5
monitorexit
4: goto 7
end local 4 StackMap locals: org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream long java.nio.ByteBuffer top java.nio.channels.SeekableByteChannel
StackMap stack: java.lang.Throwable
5: aload 5
monitorexit
6: athrow
start local 4 7: StackMap locals: org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream long java.nio.ByteBuffer int
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
8: iload 4
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/commons/compress/archivers/zip/ZipFile$BoundedInputStream;
0 9 1 pos J
0 9 3 buf Ljava/nio/ByteBuffer;
3 5 4 read I
7 9 4 read I
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pos
buf
}
SourceFile: "ZipFile.java"
NestHost: org.apache.commons.compress.archivers.zip.ZipFile
InnerClasses:
private BoundedInputStream = org.apache.commons.compress.archivers.zip.ZipFile$BoundedInputStream of org.apache.commons.compress.archivers.zip.ZipFile