class org.apache.tools.zip.ZipFile$BoundedInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.tools.zip.ZipFile$BoundedInputStream
super_class: java.io.InputStream
{
private long remaining;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long loc;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean addDummyByte;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final org.apache.tools.zip.ZipFile this$0;
descriptor: Lorg/apache/tools/zip/ZipFile;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.apache.tools.zip.ZipFile, long, long);
descriptor: (Lorg/apache/tools/zip/ZipFile;JJ)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=4
start local 0 start local 2 start local 4 0: aload 0
aload 1
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
iconst_0
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.addDummyByte:Z
2: aload 0
lload 4
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
3: aload 0
lload 2
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.loc:J
4: return
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tools/zip/ZipFile$BoundedInputStream;
0 5 2 start J
0 5 4 remaining J
MethodParameters:
Name Flags
this$0 final
start final
remaining final
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
dup
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
dup2_x1
lconst_1
lsub
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
lconst_0
lcmp
ifgt 5
1: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.addDummyByte:Z
ifeq 4
2: aload 0
iconst_0
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.addDummyByte:Z
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
getfield org.apache.tools.zip.ZipFile.archive:Ljava/io/RandomAccessFile;
dup
astore 1
monitorenter
6: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
getfield org.apache.tools.zip.ZipFile.archive:Ljava/io/RandomAccessFile;
aload 0
dup
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.loc:J
dup2_x1
lconst_1
ladd
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.loc:J
invokevirtual java.io.RandomAccessFile.seek:(J)V
7: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
getfield org.apache.tools.zip.ZipFile.archive:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.read:()I
aload 1
monitorexit
8: ireturn
9: StackMap locals: org.apache.tools.zip.ZipFile$BoundedInputStream java.io.RandomAccessFile
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/tools/zip/ZipFile$BoundedInputStream;
Exception table:
from to target type
6 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
lconst_0
lcmp
ifgt 6
1: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.addDummyByte:Z
ifeq 5
2: aload 0
iconst_0
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.addDummyByte:Z
3: aload 1
iload 2
iconst_0
bastore
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iload 3
ifgt 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iload 3
i2l
aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
lcmp
ifle 10
9: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
l2i
istore 3
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
getfield org.apache.tools.zip.ZipFile.archive:Ljava/io/RandomAccessFile;
dup
astore 5
monitorenter
11: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
getfield org.apache.tools.zip.ZipFile.archive:Ljava/io/RandomAccessFile;
aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.loc:J
invokevirtual java.io.RandomAccessFile.seek:(J)V
12: aload 0
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.this$0:Lorg/apache/tools/zip/ZipFile;
getfield org.apache.tools.zip.ZipFile.archive:Ljava/io/RandomAccessFile;
aload 1
iload 2
iload 3
invokevirtual java.io.RandomAccessFile.read:([BII)I
istore 4
start local 4 13: aload 5
monitorexit
14: goto 17
end local 4 StackMap locals: org.apache.tools.zip.ZipFile$BoundedInputStream byte[] int int top java.io.RandomAccessFile
StackMap stack: java.lang.Throwable
15: aload 5
monitorexit
16: athrow
start local 4 17: StackMap locals: org.apache.tools.zip.ZipFile$BoundedInputStream byte[] int int int
StackMap stack:
iload 4
ifle 20
18: aload 0
dup
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.loc:J
iload 4
i2l
ladd
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.loc:J
19: aload 0
dup
getfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
iload 4
i2l
lsub
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.remaining:J
20: 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 21 0 this Lorg/apache/tools/zip/ZipFile$BoundedInputStream;
0 21 1 b [B
0 21 2 off I
0 21 3 len I
13 15 4 ret I
17 21 4 ret I
Exception table:
from to target type
11 14 15 any
15 16 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
off final
len
void addDummy();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.tools.zip.ZipFile$BoundedInputStream.addDummyByte:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tools/zip/ZipFile$BoundedInputStream;
}
SourceFile: "ZipFile.java"
NestHost: org.apache.tools.zip.ZipFile
InnerClasses:
private BoundedInputStream = org.apache.tools.zip.ZipFile$BoundedInputStream of org.apache.tools.zip.ZipFile