class java.util.zip.ZipFile$Source
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.zip.ZipFile$Source
super_class: java.lang.Object
{
private final java.util.zip.ZipFile$Source$Key key;
descriptor: Ljava/util/zip/ZipFile$Source$Key;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int refs;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.io.RandomAccessFile zfile;
descriptor: Ljava/io/RandomAccessFile;
flags: (0x0002) ACC_PRIVATE
private byte[] cen;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private long locpos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private byte[] ;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int[] metanames;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final boolean startsWithLoc;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] entries;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private static final int ZIP_ENDCHAIN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private int total;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] table;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int tablelen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final java.util.HashMap<java.util.zip.ZipFile$Source$Key, java.util.zip.ZipFile$Source> files;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/util/zip/ZipFile$Source$Key;Ljava/util/zip/ZipFile$Source;>;
private static final int BUF_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
1: return
LocalVariableTable:
Start End Slot Name Signature
private int addEntry(int, int, int, int);
descriptor: (IIII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield java.util.zip.ZipFile$Source.entries:[I
iload 1
iinc 1 1
iload 2
iastore
1: aload 0
getfield java.util.zip.ZipFile$Source.entries:[I
iload 1
iinc 1 1
iload 3
iastore
2: aload 0
getfield java.util.zip.ZipFile$Source.entries:[I
iload 1
iinc 1 1
iload 4
iastore
3: iload 1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/zip/ZipFile$Source;
0 4 1 index I
0 4 2 hash I
0 4 3 next I
0 4 4 pos I
MethodParameters:
Name Flags
index
hash
next
pos
private int getEntryHash(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.zip.ZipFile$Source.entries:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile$Source;
0 1 1 index I
MethodParameters:
Name Flags
index
private int getEntryNext(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.zip.ZipFile$Source.entries:[I
iload 1
iconst_1
iadd
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile$Source;
0 1 1 index I
MethodParameters:
Name Flags
index
private int getEntryPos(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.zip.ZipFile$Source.entries:[I
iload 1
iconst_2
iadd
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile$Source;
0 1 1 index I
MethodParameters:
Name Flags
index
static java.util.zip.ZipFile$Source get(java.io.File, boolean, java.util.zip.ZipCoder);
descriptor: (Ljava/io/File;ZLjava/util/zip/ZipCoder;)Ljava/util/zip/ZipFile$Source;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.zip.ZipFile$Source$Key
dup
aload 0
1: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
ldc Ljava/nio/file/attribute/BasicFileAttributes;
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
2: invokespecial java.util.zip.ZipFile$Source$Key.<init>:(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;)V
astore 3
start local 3 3: goto 6
end local 3 StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
4: astore 4
start local 4 5: new java.io.IOException
dup
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 6: StackMap locals: java.util.zip.ZipFile$Source$Key
StackMap stack:
getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
dup
astore 5
monitorenter
7: getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
aload 3
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.zip.ZipFile$Source
astore 4
start local 4 8: aload 4
ifnull 12
9: aload 4
dup
getfield java.util.zip.ZipFile$Source.refs:I
iconst_1
iadd
putfield java.util.zip.ZipFile$Source.refs:I
10: aload 4
aload 5
monitorexit
11: areturn
12: StackMap locals: java.util.zip.ZipFile$Source java.util.HashMap
StackMap stack:
aload 5
monitorexit
13: goto 16
end local 4 StackMap locals: java.io.File int java.util.zip.ZipCoder java.util.zip.ZipFile$Source$Key top java.util.HashMap
StackMap stack: java.lang.Throwable
14: aload 5
monitorexit
15: athrow
start local 4 16: StackMap locals: java.io.File int java.util.zip.ZipCoder java.util.zip.ZipFile$Source$Key java.util.zip.ZipFile$Source
StackMap stack:
new java.util.zip.ZipFile$Source
dup
aload 3
iload 1
aload 2
invokespecial java.util.zip.ZipFile$Source.<init>:(Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V
astore 4
17: getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
dup
astore 5
monitorenter
18: getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
aload 3
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 24
19: aload 4
invokevirtual java.util.zip.ZipFile$Source.close:()V
20: getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
aload 3
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.zip.ZipFile$Source
astore 4
21: aload 4
dup
getfield java.util.zip.ZipFile$Source.refs:I
iconst_1
iadd
putfield java.util.zip.ZipFile$Source.refs:I
22: aload 4
aload 5
monitorexit
23: areturn
24: StackMap locals: java.util.HashMap
StackMap stack:
getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
aload 3
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: aload 4
aload 5
monitorexit
26: areturn
27: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
28: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 file Ljava/io/File;
0 29 1 toDelete Z
0 29 2 zc Ljava/util/zip/ZipCoder;
3 4 3 key Ljava/util/zip/ZipFile$Source$Key;
6 29 3 key Ljava/util/zip/ZipFile$Source$Key;
5 6 4 ipe Ljava/nio/file/InvalidPathException;
8 14 4 src Ljava/util/zip/ZipFile$Source;
16 29 4 src Ljava/util/zip/ZipFile$Source;
Exception table:
from to target type
0 3 4 Class java.nio.file.InvalidPathException
7 11 14 any
12 13 14 any
14 15 14 any
18 23 27 any
24 26 27 any
27 28 27 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
toDelete
zc
static void release(java.util.zip.ZipFile$Source);
descriptor: (Ljava/util/zip/ZipFile$Source;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
dup
astore 1
monitorenter
1: aload 0
ifnull 4
aload 0
dup
getfield java.util.zip.ZipFile$Source.refs:I
iconst_1
isub
dup_x1
putfield java.util.zip.ZipFile$Source.refs:I
ifne 4
2: getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
aload 0
getfield java.util.zip.ZipFile$Source.key:Ljava/util/zip/ZipFile$Source$Key;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
invokevirtual java.util.zip.ZipFile$Source.close:()V
4: StackMap locals: java.util.HashMap
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 src Ljava/util/zip/ZipFile$Source;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
private void <init>(java.util.zip.ZipFile$Source$Key, boolean, java.util.zip.ZipCoder);
descriptor: (Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield java.util.zip.ZipFile$Source.refs:I
2: aload 0
aload 1
putfield java.util.zip.ZipFile$Source.key:Ljava/util/zip/ZipFile$Source$Key;
3: iload 2
ifeq 12
4: getstatic java.util.zip.ZipFile.isWindows:Z
ifeq 9
5: aload 0
invokestatic jdk.internal.misc.SharedSecrets.getJavaIORandomAccessFileAccess:()Ljdk/internal/misc/JavaIORandomAccessFileAccess;
6: aload 1
getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
ldc "r"
invokeinterface jdk.internal.misc.JavaIORandomAccessFileAccess.openAndDelete:(Ljava/io/File;Ljava/lang/String;)Ljava/io/RandomAccessFile;
7: putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
8: goto 13
9: StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder
StackMap stack:
aload 0
new java.io.RandomAccessFile
dup
aload 1
getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
ldc "r"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
10: aload 1
getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
new java.io.RandomAccessFile
dup
aload 1
getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
ldc "r"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
13: StackMap locals:
StackMap stack:
aload 0
iconst_m1
aload 3
invokevirtual java.util.zip.ZipFile$Source.initCEN:(ILjava/util/zip/ZipCoder;)V
14: iconst_4
newarray 8
astore 4
start local 4 15: aload 0
aload 4
iconst_0
iconst_4
lconst_0
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
pop
16: aload 0
aload 4
invokestatic java.util.zip.ZipUtils.LOCSIG:([B)J
ldc 67324752
lcmp
ifne 17
iconst_1
goto 18
StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder byte[]
StackMap stack: java.util.zip.ZipFile$Source
17: iconst_0
StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder byte[]
StackMap stack: java.util.zip.ZipFile$Source int
18: putfield java.util.zip.ZipFile$Source.startsWithLoc:Z
end local 4 19: goto 25
StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder
StackMap stack: java.io.IOException
20: astore 4
start local 4 21: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
22: goto 24
StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder java.io.IOException
StackMap stack: java.io.IOException
23: pop
24: StackMap locals:
StackMap stack:
aload 4
athrow
end local 4 25: StackMap locals:
StackMap stack:
return
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/ZipFile$Source;
0 26 1 key Ljava/util/zip/ZipFile$Source$Key;
0 26 2 toDelete Z
0 26 3 zc Ljava/util/zip/ZipCoder;
15 19 4 buf [B
21 25 4 x Ljava/io/IOException;
Exception table:
from to target type
13 19 20 Class java.io.IOException
21 22 23 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
key
toDelete
zc
private void close();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
1: aload 0
aconst_null
putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
2: aload 0
aconst_null
putfield java.util.zip.ZipFile$Source.cen:[B
3: aload 0
aconst_null
putfield java.util.zip.ZipFile$Source.entries:[I
4: aload 0
aconst_null
putfield java.util.zip.ZipFile$Source.table:[I
5: aload 0
aconst_null
putfield java.util.zip.ZipFile$Source.metanames:[I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/zip/ZipFile$Source;
Exceptions:
throws java.io.IOException
private final int readFullyAt(byte[], int, int, long);
descriptor: ([BIIJ)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
dup
astore 6
monitorenter
1: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
lload 4
invokevirtual java.io.RandomAccessFile.seek:(J)V
2: iload 3
istore 7
start local 7 3: goto 8
4: StackMap locals: java.io.RandomAccessFile int
StackMap stack:
sipush 8192
iload 7
invokestatic java.lang.Math.min:(II)I
istore 8
start local 8 5: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
aload 1
iload 2
iload 8
invokevirtual java.io.RandomAccessFile.readFully:([BII)V
6: iload 2
iload 8
iadd
istore 2
7: iload 7
iload 8
isub
istore 7
end local 8 8: StackMap locals:
StackMap stack:
iload 7
ifgt 4
9: iload 3
aload 6
monitorexit
10: ireturn
end local 7 11: StackMap locals: java.util.zip.ZipFile$Source byte[] int int long java.io.RandomAccessFile
StackMap stack: java.lang.Throwable
aload 6
monitorexit
12: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/zip/ZipFile$Source;
0 13 1 buf [B
0 13 2 off I
0 13 3 len I
0 13 4 pos J
3 11 7 N I
5 8 8 n I
Exception table:
from to target type
1 10 11 any
11 12 11 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
pos
private final int readAt(byte[], int, int, long);
descriptor: ([BIIJ)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
dup
astore 6
monitorenter
1: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
lload 4
invokevirtual java.io.RandomAccessFile.seek:(J)V
2: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
aload 1
iload 2
iload 3
invokevirtual java.io.RandomAccessFile.read:([BII)I
aload 6
monitorexit
3: ireturn
4: StackMap locals: java.util.zip.ZipFile$Source byte[] int int long java.io.RandomAccessFile
StackMap stack: java.lang.Throwable
aload 6
monitorexit
5: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/zip/ZipFile$Source;
0 6 1 buf [B
0 6 2 off I
0 6 3 len I
0 6 4 pos J
Exception table:
from to target type
1 3 4 any
4 5 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
pos
private static final void checkUTF8(byte[], int, int);
descriptor: ([BII)V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
iadd
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
baload
ifge 5
3: aload 0
iload 1
iload 3
iload 1
isub
invokestatic java.util.zip.ZipCoder.toStringUTF8:([BII)Ljava/lang/String;
pop
4: goto 10
5: StackMap locals:
StackMap stack:
iinc 1 1
6: StackMap locals:
StackMap stack:
iload 1
iload 3
if_icmplt 2
end local 3 7: goto 10
StackMap locals: byte[] int int
StackMap stack: java.lang.Exception
8: pop
9: ldc "invalid CEN header (bad entry name)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 a [B
0 11 1 pos I
0 11 2 len I
1 7 3 end I
Exception table:
from to target type
0 7 8 Class java.lang.Exception
Exceptions:
throws java.util.zip.ZipException
MethodParameters:
Name Flags
a
pos
len
private final void checkEncoding(java.util.zip.ZipCoder, byte[], int, int);
descriptor: (Ljava/util/zip/ZipCoder;[BII)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
iload 3
iload 4
invokevirtual java.util.zip.ZipCoder.toString:([BII)Ljava/lang/String;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: ldc "invalid CEN header (bad entry name)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/zip/ZipFile$Source;
0 5 1 zc Ljava/util/zip/ZipCoder;
0 5 2 a [B
0 5 3 pos I
0 5 4 nlen I
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.util.zip.ZipException
MethodParameters:
Name Flags
zc
a
pos
nlen
private static final int hashN(byte[], int, int);
descriptor: ([BII)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
istore 3
start local 3 1: goto 3
2: StackMap locals: int
StackMap stack:
bipush 31
iload 3
imul
aload 0
iload 1
iinc 1 1
baload
iadd
istore 3
3: StackMap locals:
StackMap stack:
iload 2
iinc 2 -1
ifgt 2
4: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [B
0 5 1 off I
0 5 2 len I
1 5 3 h I
MethodParameters:
Name Flags
a
off
len
private static final int hash_append(int, byte);
descriptor: (IB)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush 31
imul
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 hash I
0 1 1 b B
MethodParameters:
Name Flags
hash
b
private java.util.zip.ZipFile$Source$End findEND();
descriptor: ()Ljava/util/zip/ZipFile$Source$End;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=26, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.length:()J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifgt 3
2: ldc "zip file is empty"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
3: StackMap locals: long
StackMap stack:
new java.util.zip.ZipFile$Source$End
dup
invokespecial java.util.zip.ZipFile$Source$End.<init>:()V
astore 3
start local 3 4: sipush 128
newarray 8
astore 4
start local 4 5: lload 1
ldc 65557
lsub
lconst_0
lcmp
ifle 6
lload 1
ldc 65557
lsub
goto 7
StackMap locals: java.util.zip.ZipFile$Source$End byte[]
StackMap stack:
6: lconst_0
StackMap locals:
StackMap stack: long
7: lstore 5
start local 5 8: lload 5
aload 4
arraylength
bipush 22
isub
i2l
lsub
lstore 7
start local 7 9: lload 1
aload 4
arraylength
i2l
lsub
lstore 9
start local 9 10: goto 79
11: StackMap locals: long long long
StackMap stack:
iconst_0
istore 11
start local 11 12: lload 9
lconst_0
lcmp
ifge 15
13: lload 9
lneg
l2i
istore 11
14: aload 4
iconst_0
iload 11
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
15: StackMap locals: int
StackMap stack:
aload 4
arraylength
iload 11
isub
istore 12
start local 12 16: aload 0
aload 4
iload 11
iload 12
lload 9
iload 11
i2l
ladd
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
iload 12
if_icmpeq 18
17: ldc "zip END header not found"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
18: StackMap locals: int
StackMap stack:
aload 4
arraylength
bipush 22
isub
istore 13
start local 13 19: goto 77
20: StackMap locals: int
StackMap stack:
aload 4
iload 13
iconst_0
iadd
baload
bipush 80
if_icmpne 76
21: aload 4
iload 13
iconst_1
iadd
baload
bipush 75
if_icmpne 76
22: aload 4
iload 13
iconst_2
iadd
baload
iconst_5
if_icmpne 76
23: aload 4
iload 13
iconst_3
iadd
baload
bipush 6
if_icmpne 76
24: aload 4
iload 13
iload 13
bipush 22
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 14
start local 14 25: aload 3
aload 14
invokestatic java.util.zip.ZipUtils.ENDTOT:([B)I
putfield java.util.zip.ZipFile$Source$End.centot:I
26: aload 3
aload 14
invokestatic java.util.zip.ZipUtils.ENDSIZ:([B)J
putfield java.util.zip.ZipFile$Source$End.cenlen:J
27: aload 3
aload 14
invokestatic java.util.zip.ZipUtils.ENDOFF:([B)J
putfield java.util.zip.ZipFile$Source$End.cenoff:J
28: aload 3
lload 9
iload 13
i2l
ladd
putfield java.util.zip.ZipFile$Source$End.endpos:J
29: aload 14
invokestatic java.util.zip.ZipUtils.ENDCOM:([B)I
istore 15
start local 15 30: aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
ldc 22
ladd
iload 15
i2l
ladd
lload 1
lcmp
ifeq 41
31: iconst_4
newarray 8
astore 16
start local 16 32: aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
lsub
lstore 17
start local 17 33: lload 17
aload 3
getfield java.util.zip.ZipFile$Source$End.cenoff:J
lsub
lstore 19
start local 19 34: lload 17
lconst_0
lcmp
iflt 76
35: lload 19
lconst_0
lcmp
iflt 76
36: aload 0
aload 16
iconst_0
aload 16
arraylength
lload 17
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
iconst_4
if_icmpne 76
37: aload 16
invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
ldc 33639248
lcmp
ifne 76
38: aload 0
aload 16
iconst_0
aload 16
arraylength
lload 19
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
iconst_4
if_icmpne 76
39: aload 16
invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
ldc 67324752
lcmp
ifeq 41
40: goto 76
end local 19 end local 17 end local 16 41: StackMap locals: byte[] int
StackMap stack:
iload 15
ifle 45
42: aload 0
iload 15
newarray 8
putfield java.util.zip.ZipFile$Source.comment:[B
43: aload 0
aload 0
getfield java.util.zip.ZipFile$Source.comment:[B
iconst_0
iload 15
aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
ldc 22
ladd
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
iload 15
if_icmpeq 45
44: ldc "zip comment read failed"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
45: StackMap locals:
StackMap stack:
bipush 20
newarray 8
astore 16
start local 16 46: aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
ldc 20
lcmp
iflt 51
47: aload 0
aload 16
iconst_0
aload 16
arraylength
aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
ldc 20
lsub
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
48: aload 16
arraylength
49: if_icmpne 51
50: aload 16
invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
ldc 117853008
lcmp
ifeq 53
51: StackMap locals: byte[]
StackMap stack:
aload 3
52: areturn
53: StackMap locals:
StackMap stack:
aload 16
invokestatic java.util.zip.ZipUtils.ZIP64_LOCOFF:([B)J
lstore 17
start local 17 54: bipush 56
newarray 8
astore 19
start local 19 55: aload 0
aload 19
iconst_0
aload 19
arraylength
lload 17
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
56: aload 19
arraylength
57: if_icmpne 59
58: aload 19
invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
ldc 101075792
lcmp
ifeq 61
59: StackMap locals: long byte[]
StackMap stack:
aload 3
60: areturn
61: StackMap locals:
StackMap stack:
aload 19
invokestatic java.util.zip.ZipUtils.ZIP64_ENDSIZ:([B)J
lstore 20
start local 20 62: aload 19
invokestatic java.util.zip.ZipUtils.ZIP64_ENDOFF:([B)J
lstore 22
start local 22 63: aload 19
invokestatic java.util.zip.ZipUtils.ZIP64_ENDTOT:([B)J
lstore 24
start local 24 64: lload 20
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
lcmp
ifeq 65
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
ldc 4294967295
lcmp
ifne 67
65: StackMap locals: long long long
StackMap stack:
lload 22
aload 3
getfield java.util.zip.ZipFile$Source$End.cenoff:J
lcmp
ifeq 66
aload 3
getfield java.util.zip.ZipFile$Source$End.cenoff:J
ldc 4294967295
lcmp
ifne 67
66: StackMap locals:
StackMap stack:
lload 24
aload 3
getfield java.util.zip.ZipFile$Source$End.centot:I
i2l
lcmp
ifeq 69
aload 3
getfield java.util.zip.ZipFile$Source$End.centot:I
ldc 65535
if_icmpeq 69
67: StackMap locals:
StackMap stack:
aload 3
68: areturn
69: StackMap locals:
StackMap stack:
aload 3
lload 20
putfield java.util.zip.ZipFile$Source$End.cenlen:J
70: aload 3
lload 22
putfield java.util.zip.ZipFile$Source$End.cenoff:J
71: aload 3
lload 24
l2i
putfield java.util.zip.ZipFile$Source$End.centot:I
72: aload 3
lload 17
putfield java.util.zip.ZipFile$Source$End.endpos:J
end local 24 end local 22 end local 20 end local 19 end local 17 end local 16 73: goto 75
StackMap locals: java.util.zip.ZipFile$Source long java.util.zip.ZipFile$Source$End byte[] long long long int int int byte[] int
StackMap stack: java.io.IOException
74: pop
75: StackMap locals:
StackMap stack:
aload 3
areturn
end local 15 end local 14 76: StackMap locals:
StackMap stack:
iinc 13 -1
StackMap locals:
StackMap stack:
77: iload 13
ifge 20
end local 13 end local 12 end local 11 78: lload 9
aload 4
arraylength
bipush 22
isub
i2l
lsub
lstore 9
StackMap locals:
StackMap stack:
79: lload 9
lload 7
lcmp
ifge 11
end local 9 80: ldc "zip END header not found"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
81: aconst_null
areturn
end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 82 0 this Ljava/util/zip/ZipFile$Source;
1 82 1 ziplen J
4 82 3 end Ljava/util/zip/ZipFile$Source$End;
5 82 4 buf [B
8 82 5 minHDR J
9 82 7 minPos J
10 80 9 pos J
12 78 11 off I
16 78 12 len I
19 78 13 i I
25 76 14 endbuf [B
30 76 15 comlen I
32 41 16 sbuf [B
33 41 17 cenpos J
34 41 19 locpos J
46 73 16 loc64 [B
54 73 17 end64pos J
55 73 19 end64buf [B
62 73 20 cenlen64 J
63 73 22 cenoff64 J
64 73 24 centot64 J
Exception table:
from to target type
45 52 74 Class java.io.IOException
53 60 74 Class java.io.IOException
61 68 74 Class java.io.IOException
69 73 74 Class java.io.IOException
Exceptions:
throws java.io.IOException
private void initCEN(int, java.util.zip.ZipCoder);
descriptor: (ILjava/util/zip/ZipCoder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iconst_m1
if_icmpne 19
1: aload 0
invokevirtual java.util.zip.ZipFile$Source.findEND:()Ljava/util/zip/ZipFile$Source$End;
astore 3
start local 3 2: aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
lconst_0
lcmp
ifne 8
3: aload 0
lconst_0
putfield java.util.zip.ZipFile$Source.locpos:J
4: aload 0
iconst_0
putfield java.util.zip.ZipFile$Source.total:I
5: aload 0
iconst_0
newarray 10
putfield java.util.zip.ZipFile$Source.entries:[I
6: aload 0
aconst_null
putfield java.util.zip.ZipFile$Source.cen:[B
7: return
8: StackMap locals: java.util.zip.ZipFile$Source$End
StackMap stack:
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
lcmp
ifle 10
9: ldc "invalid END header (bad central directory size)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 3
getfield java.util.zip.ZipFile$Source$End.endpos:J
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
lsub
lstore 4
start local 4 11: aload 0
lload 4
aload 3
getfield java.util.zip.ZipFile$Source$End.cenoff:J
lsub
putfield java.util.zip.ZipFile$Source.locpos:J
12: aload 0
getfield java.util.zip.ZipFile$Source.locpos:J
lconst_0
lcmp
ifge 14
13: ldc "invalid END header (bad central directory offset)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
14: StackMap locals: long
StackMap stack:
aload 0
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
ldc 22
ladd
l2i
newarray 8
putfield java.util.zip.ZipFile$Source.cen:[B
15: aload 0
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iconst_0
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
arraylength
lload 4
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
i2l
aload 3
getfield java.util.zip.ZipFile$Source$End.cenlen:J
ldc 22
ladd
lcmp
ifeq 17
16: ldc "read CEN tables failed"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield java.util.zip.ZipFile$Source$End.centot:I
putfield java.util.zip.ZipFile$Source.total:I
end local 4 end local 3 18: goto 20
19: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield java.util.zip.ZipFile$Source.total:I
20: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.zip.ZipFile$Source.total:I
iconst_3
imul
newarray 10
putfield java.util.zip.ZipFile$Source.entries:[I
21: aload 0
aload 0
getfield java.util.zip.ZipFile$Source.total:I
iconst_2
idiv
iconst_1
ior
putfield java.util.zip.ZipFile$Source.tablelen:I
22: aload 0
aload 0
getfield java.util.zip.ZipFile$Source.tablelen:I
newarray 10
putfield java.util.zip.ZipFile$Source.table:[I
23: aload 0
getfield java.util.zip.ZipFile$Source.table:[I
iconst_m1
invokestatic java.util.Arrays.fill:([II)V
24: iconst_0
istore 3
start local 3 25: aconst_null
astore 6
start local 6 26: iconst_0
istore 7
start local 7 27: iconst_0
istore 9
start local 9 28: aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
arraylength
bipush 22
isub
istore 10
start local 10 29: goto 61
30: StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int top top java.util.ArrayList int top int int
StackMap stack:
iload 7
aload 0
getfield java.util.zip.ZipFile$Source.total:I
if_icmplt 33
31: aload 0
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 10
invokestatic java.util.zip.ZipFile$Source.countCENHeaders:([BI)I
aload 2
invokevirtual java.util.zip.ZipFile$Source.initCEN:(ILjava/util/zip/ZipCoder;)V
32: return
33: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
invokestatic java.util.zip.ZipUtils.CENSIG:([BI)J
ldc 33639248
lcmp
ifeq 35
34: ldc "invalid CEN header (bad signature)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
invokestatic java.util.zip.ZipUtils.CENHOW:([BI)I
istore 11
start local 11 36: aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
istore 12
start local 12 37: aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
invokestatic java.util.zip.ZipUtils.CENEXT:([BI)I
istore 13
start local 13 38: aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
invokestatic java.util.zip.ZipUtils.CENCOM:([BI)I
istore 14
start local 14 39: aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
invokestatic java.util.zip.ZipUtils.CENFLG:([BI)I
istore 15
start local 15 40: iload 15
iconst_1
iand
ifeq 42
41: ldc "invalid CEN header (encrypted entry)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
42: StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int top top java.util.ArrayList int top int int int int int int int
StackMap stack:
iload 11
ifeq 44
iload 11
bipush 8
if_icmpeq 44
43: new java.lang.StringBuilder
dup
ldc "invalid CEN header (bad compression method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
iload 9
bipush 46
iadd
iload 12
iadd
iload 10
if_icmple 46
45: ldc "invalid CEN header (bad header size)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.zip.ZipCoder.isUTF8:()Z
ifne 47
iload 15
sipush 2048
iand
ifeq 49
47: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
bipush 46
iadd
iload 12
invokestatic java.util.zip.ZipFile$Source.checkUTF8:([BII)V
48: goto 50
49: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
bipush 46
iadd
iload 12
invokevirtual java.util.zip.ZipFile$Source.checkEncoding:(Ljava/util/zip/ZipCoder;[BII)V
50: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
bipush 46
iadd
iload 12
invokestatic java.util.zip.ZipFile$Source.hashN:([BII)I
istore 4
start local 4 51: iload 4
ldc 2147483647
iand
aload 0
getfield java.util.zip.ZipFile$Source.tablelen:I
irem
istore 8
start local 8 52: aload 0
getfield java.util.zip.ZipFile$Source.table:[I
iload 8
iaload
istore 5
start local 5 53: aload 0
getfield java.util.zip.ZipFile$Source.table:[I
iload 8
iload 3
iastore
54: aload 0
iload 3
iload 4
iload 5
iload 9
invokevirtual java.util.zip.ZipFile$Source.addEntry:(IIII)I
istore 3
55: aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 9
bipush 46
iadd
iload 12
invokestatic java.util.zip.ZipFile$Source.isMetaName:([BII)Z
ifeq 59
56: aload 6
ifnonnull 58
57: new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
58: StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int int int java.util.ArrayList int int int int int int int int int
StackMap stack:
aload 6
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
59: StackMap locals:
StackMap stack:
iload 9
bipush 46
iload 12
iadd
iload 13
iadd
iload 14
iadd
iadd
istore 9
60: iinc 7 1
end local 15 end local 14 end local 13 end local 12 end local 11 end local 8 end local 5 end local 4 61: StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int top top java.util.ArrayList int top int int
StackMap stack:
iload 9
bipush 46
iadd
iload 10
if_icmple 30
62: aload 0
iload 7
putfield java.util.zip.ZipFile$Source.total:I
63: aload 6
ifnull 71
64: aload 0
aload 6
invokevirtual java.util.ArrayList.size:()I
newarray 10
putfield java.util.zip.ZipFile$Source.metanames:[I
65: iconst_0
istore 11
start local 11 66: aload 0
getfield java.util.zip.ZipFile$Source.metanames:[I
arraylength
istore 12
start local 12 67: goto 70
68: StackMap locals: int int
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$Source.metanames:[I
iload 11
aload 6
iload 11
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
69: iinc 11 1
StackMap locals:
StackMap stack:
70: iload 11
iload 12
if_icmplt 68
end local 12 end local 11 71: StackMap locals:
StackMap stack:
iload 9
bipush 22
iadd
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
arraylength
if_icmpeq 73
72: ldc "invalid CEN header (bad header size)"
invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
73: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 7 end local 6 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Ljava/util/zip/ZipFile$Source;
0 74 1 knownTotal I
0 74 2 zc Ljava/util/zip/ZipCoder;
2 18 3 end Ljava/util/zip/ZipFile$Source$End;
11 18 4 cenpos J
25 74 3 idx I
51 61 4 hash I
53 61 5 next I
26 74 6 metanamesList Ljava/util/ArrayList<Ljava/lang/Integer;>;
27 74 7 i I
52 61 8 hsh I
28 74 9 pos I
29 74 10 limit I
36 61 11 method I
37 61 12 nlen I
38 61 13 elen I
39 61 14 clen I
40 61 15 flag I
66 71 11 j I
67 71 12 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
knownTotal
zc
private static void zerror(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.zip.ZipException
dup
aload 0
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 msg Ljava/lang/String;
Exceptions:
throws java.util.zip.ZipException
MethodParameters:
Name Flags
msg
private int getEntryPos(byte[], boolean);
descriptor: ([BZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.util.zip.ZipFile$Source.total:I
ifne 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 1
arraylength
invokestatic java.util.zip.ZipFile$Source.hashN:([BII)I
istore 3
start local 3 3: aload 0
getfield java.util.zip.ZipFile$Source.table:[I
iload 3
ldc 2147483647
iand
aload 0
getfield java.util.zip.ZipFile$Source.tablelen:I
irem
iaload
istore 4
start local 4 4: goto 20
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
invokevirtual java.util.zip.ZipFile$Source.getEntryHash:(I)I
iload 3
if_icmpne 19
6: aload 0
iload 4
invokevirtual java.util.zip.ZipFile$Source.getEntryPos:(I)I
istore 5
start local 5 7: aload 1
arraylength
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 5
invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
if_icmpne 19
8: iconst_1
istore 6
start local 6 9: iload 5
bipush 46
iadd
istore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 16
12: StackMap locals: java.util.zip.ZipFile$Source byte[] int int int int int int int
StackMap stack:
aload 1
iload 8
baload
aload 0
getfield java.util.zip.ZipFile$Source.cen:[B
iload 7
iinc 7 1
baload
if_icmpeq 15
13: iconst_0
istore 6
14: goto 17
15: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
16: iload 8
aload 1
arraylength
if_icmplt 12
end local 8 17: StackMap locals:
StackMap stack:
iload 6
ifeq 19
18: iload 5
ireturn
end local 7 end local 6 end local 5 19: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual java.util.zip.ZipFile$Source.getEntryNext:(I)I
istore 4
20: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 5
21: iload 2
ifeq 22
aload 1
arraylength
ifeq 22
aload 1
aload 1
arraylength
iconst_1
isub
baload
bipush 47
if_icmpne 23
22: StackMap locals:
StackMap stack:
iconst_m1
ireturn
23: StackMap locals:
StackMap stack:
aload 1
aload 1
arraylength
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 1
24: aload 1
aload 1
arraylength
iconst_1
isub
bipush 47
bastore
25: iload 3
bipush 47
invokestatic java.util.zip.ZipFile$Source.hash_append:(IB)I
istore 3
26: aload 0
getfield java.util.zip.ZipFile$Source.table:[I
iload 3
ldc 2147483647
iand
aload 0
getfield java.util.zip.ZipFile$Source.tablelen:I
irem
iaload
istore 4
27: iconst_0
istore 2
28: goto 20
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/util/zip/ZipFile$Source;
0 29 1 name [B
0 29 2 addSlash Z
3 29 3 hsh I
4 29 4 idx I
7 19 5 pos I
9 19 6 matched Z
10 19 7 nameoff I
11 17 8 i I
MethodParameters:
Name Flags
name
addSlash
private static boolean isMetaName(byte[], int, int);
descriptor: ([BII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 9
if_icmple 12
1: aload 0
iload 1
iload 2
iadd
iconst_1
isub
baload
bipush 47
if_icmpeq 12
2: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 109
if_icmpne 12
3: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 101
if_icmpne 12
4: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 116
if_icmpne 12
5: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 97
if_icmpne 12
6: aload 0
iload 1
iinc 1 1
baload
bipush 45
if_icmpne 12
7: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 105
if_icmpne 12
8: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 110
if_icmpne 12
9: aload 0
iload 1
iinc 1 1
baload
bipush 32
ior
bipush 102
if_icmpne 12
10: aload 0
iload 1
baload
bipush 47
if_icmpne 12
11: iconst_1
ireturn
StackMap locals:
StackMap stack:
12: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 name [B
0 13 1 off I
0 13 2 len I
MethodParameters:
Name Flags
name
off
len
private static int (byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int int
StackMap stack:
iinc 2 1
4: iload 3
bipush 46
aload 0
iload 3
invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
iadd
aload 0
iload 3
invokestatic java.util.zip.ZipUtils.CENEXT:([BI)I
iadd
aload 0
iload 3
invokestatic java.util.zip.ZipUtils.CENCOM:([BI)I
iadd
iadd
istore 3
5: StackMap locals:
StackMap stack:
iload 3
bipush 46
iadd
iload 1
6: if_icmple 3
end local 3 7: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 cen [B
0 8 1 size I
1 8 2 count I
2 7 3 p I
MethodParameters:
Name Flags
cen
size
}
SourceFile: "ZipFile.java"
NestHost: java.util.zip.ZipFile
InnerClasses:
private Source = java.util.zip.ZipFile$Source of java.util.zip.ZipFile
private End = java.util.zip.ZipFile$Source$End of java.util.zip.ZipFile$Source
private Key = java.util.zip.ZipFile$Source$Key of java.util.zip.ZipFile$Source