public class java.util.jar.JarFile extends java.util.zip.ZipFile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.jar.JarFile
super_class: java.util.zip.ZipFile
{
private java.lang.ref.SoftReference<java.util.jar.Manifest> manRef;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/SoftReference<Ljava/util/jar/Manifest;>;
private java.util.jar.JarEntry manEntry;
descriptor: Ljava/util/jar/JarEntry;
flags: (0x0002) ACC_PRIVATE
private java.util.jar.JarVerifier jv;
descriptor: Ljava/util/jar/JarVerifier;
flags: (0x0002) ACC_PRIVATE
private boolean jvInitialized;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean verify;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean computedHasClassPathAttribute;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean hasClassPathAttribute;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static final java.lang.String MANIFEST_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "META-INF/MANIFEST.MF"
private static int[] lastOcc;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int[] optoSft;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static char[] src;
descriptor: [C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String javaHome;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] jarNames;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.util.jar.JavaUtilJarAccessImpl
dup
invokespecial java.util.jar.JavaUtilJarAccessImpl.<init>:()V
invokestatic sun.misc.SharedSecrets.setJavaUtilJarAccess:(Lsun/misc/JavaUtilJarAccess;)V
1: bipush 10
newarray 5
dup
iconst_0
bipush 99
castore
dup
iconst_1
bipush 108
castore
dup
iconst_2
bipush 97
castore
dup
iconst_3
bipush 115
castore
dup
iconst_4
bipush 115
castore
dup
iconst_5
bipush 45
castore
dup
bipush 6
bipush 112
castore
dup
bipush 7
bipush 97
castore
dup
bipush 8
bipush 116
castore
dup
bipush 9
bipush 104
castore
putstatic java.util.jar.JarFile.src:[C
2: sipush 128
newarray 10
putstatic java.util.jar.JarFile.lastOcc:[I
3: bipush 10
newarray 10
putstatic java.util.jar.JarFile.optoSft:[I
4: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 99
iconst_1
iastore
5: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 108
iconst_2
iastore
6: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 115
iconst_5
iastore
7: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 45
bipush 6
iastore
8: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 112
bipush 7
iastore
9: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 97
bipush 8
iastore
10: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 116
bipush 9
iastore
11: getstatic java.util.jar.JarFile.lastOcc:[I
bipush 104
bipush 10
iastore
12: iconst_0
istore 0
start local 0 13: goto 16
14: StackMap locals: int
StackMap stack:
getstatic java.util.jar.JarFile.optoSft:[I
iload 0
bipush 10
iastore
15: iinc 0 1
StackMap locals:
StackMap stack:
16: iload 0
bipush 9
if_icmplt 14
end local 0 17: getstatic java.util.jar.JarFile.optoSft:[I
bipush 9
iconst_1
iastore
18: return
LocalVariableTable:
Start End Slot Name Signature
13 17 0 i I
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
iconst_1
iconst_1
invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
0 2 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public void <init>(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
iload 2
iconst_1
invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
0 2 1 name Ljava/lang/String;
0 2 2 verify Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
verify
public void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
0 2 1 file Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
public void <init>(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_1
invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
0 2 1 file Ljava/io/File;
0 2 2 verify Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
verify
public void <init>(java.io.File, boolean, int);
descriptor: (Ljava/io/File;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 3
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;I)V
1: aload 0
iload 2
putfield java.util.jar.JarFile.verify:Z
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/jar/JarFile;
0 3 1 file Ljava/io/File;
0 3 2 verify Z
0 3 3 mode I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
verify
mode
public java.util.jar.Manifest getManifest();
descriptor: ()Ljava/util/jar/Manifest;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.getManifestFromReference:()Ljava/util/jar/Manifest;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
Exceptions:
throws java.io.IOException
private java.util.jar.Manifest getManifestFromReference();
descriptor: ()Ljava/util/jar/Manifest;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.manRef:Ljava/lang/ref/SoftReference;
ifnull 1
aload 0
getfield java.util.jar.JarFile.manRef:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.util.jar.Manifest
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.util.jar.Manifest
2: astore 1
start local 1 3: aload 1
ifnonnull 14
4: aload 0
invokevirtual java.util.jar.JarFile.getManEntry:()Ljava/util/jar/JarEntry;
astore 2
start local 2 5: aload 2
ifnull 14
6: aload 0
getfield java.util.jar.JarFile.verify:Z
ifeq 12
7: aload 0
aload 2
invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
astore 3
start local 3 8: aload 0
getfield java.util.jar.JarFile.jvInitialized:Z
ifne 10
9: aload 0
new java.util.jar.JarVerifier
dup
aload 3
invokespecial java.util.jar.JarVerifier.<init>:([B)V
putfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
10: StackMap locals: java.util.jar.Manifest java.util.jar.JarEntry byte[]
StackMap stack:
new java.util.jar.Manifest
dup
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
new java.io.ByteArrayInputStream
dup
aload 3
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial java.util.jar.Manifest.<init>:(Ljava/util/jar/JarVerifier;Ljava/io/InputStream;)V
astore 1
end local 3 11: goto 13
12: StackMap locals:
StackMap stack:
new java.util.jar.Manifest
dup
aload 0
aload 2
invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
astore 1
13: StackMap locals:
StackMap stack:
aload 0
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield java.util.jar.JarFile.manRef:Ljava/lang/ref/SoftReference;
end local 2 14: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/jar/JarFile;
3 15 1 man Ljava/util/jar/Manifest;
5 14 2 manEntry Ljava/util/jar/JarEntry;
8 11 3 b [B
Exceptions:
throws java.io.IOException
private native java.lang.String[] getMetaInfEntryNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
public java.util.jar.JarEntry getJarEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/jar/JarEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.jar.JarFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
checkcast java.util.jar.JarEntry
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.util.zip.ZipEntry getEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/zip/ZipEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
astore 2
start local 2 1: aload 2
ifnull 3
2: new java.util.jar.JarFile$JarFileEntry
dup
aload 0
aload 2
invokespecial java.util.jar.JarFile$JarFileEntry.<init>:(Ljava/util/jar/JarFile;Ljava/util/zip/ZipEntry;)V
areturn
3: StackMap locals: java.util.zip.ZipEntry
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/jar/JarFile;
0 4 1 name Ljava/lang/String;
1 4 2 ze Ljava/util/zip/ZipEntry;
MethodParameters:
Name Flags
name
public java.util.Enumeration<java.util.jar.JarEntry> entries();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
astore 1
start local 1 1: new java.util.jar.JarFile$1
dup
aload 0
aload 1
invokespecial java.util.jar.JarFile$1.<init>:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
1 2 1 enum_ Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
Signature: ()Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
private void maybeInstantiateVerifier();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.verify:Z
ifeq 17
3: aload 0
invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
astore 1
start local 1 4: aload 1
ifnull 16
5: iconst_0
istore 2
start local 2 6: goto 15
7: StackMap locals: java.lang.String[] int
StackMap stack:
aload 1
iload 2
aaload
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 3
start local 3 8: aload 3
ldc ".DSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
9: aload 3
ldc ".RSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
10: aload 3
ldc ".EC"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
11: aload 3
ldc ".SF"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 14
12: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
pop
13: return
end local 3 14: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
15: iload 2
aload 1
arraylength
if_icmplt 7
end local 2 16: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.util.jar.JarFile.verify:Z
end local 1 17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/util/jar/JarFile;
4 17 1 names [Ljava/lang/String;
6 16 2 i I
8 14 3 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
private void initializeVerifier();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 29
3: iconst_0
istore 3
start local 3 4: goto 21
5: StackMap locals: sun.security.util.ManifestEntryVerifier java.lang.String[] int
StackMap stack:
aload 2
iload 3
aaload
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 4
start local 4 6: ldc "META-INF/MANIFEST.MF"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 4
invokestatic sun.security.util.SignatureFileVerifier.isBlockOrSF:(Ljava/lang/String;)Z
ifeq 20
8: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
iload 3
aaload
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
astore 5
start local 5 9: aload 5
ifnonnull 11
10: new java.util.jar.JarException
dup
ldc "corrupted jar file"
invokespecial java.util.jar.JarException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.util.jar.JarEntry
StackMap stack:
aload 1
ifnonnull 15
12: new sun.security.util.ManifestEntryVerifier
dup
13: aload 0
invokevirtual java.util.jar.JarFile.getManifestFromReference:()Ljava/util/jar/Manifest;
14: invokespecial sun.security.util.ManifestEntryVerifier.<init>:(Ljava/util/jar/Manifest;)V
astore 1
15: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
astore 6
start local 6 16: aload 6
ifnull 20
aload 6
arraylength
ifle 20
17: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 5
aload 1
invokevirtual java.util.jar.JarVerifier.beginEntry:(Ljava/util/jar/JarEntry;Lsun/security/util/ManifestEntryVerifier;)V
18: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 6
arraylength
aload 6
iconst_0
aload 6
arraylength
aload 1
invokevirtual java.util.jar.JarVerifier.update:(I[BIILsun/security/util/ManifestEntryVerifier;)V
19: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
iconst_m1
aconst_null
iconst_0
iconst_0
aload 1
invokevirtual java.util.jar.JarVerifier.update:(I[BIILsun/security/util/ManifestEntryVerifier;)V
end local 6 end local 5 end local 4 20: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
aload 2
arraylength
if_icmplt 5
end local 3 end local 2 22: goto 29
StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier
StackMap stack: java.io.IOException
23: astore 2
start local 2 24: aload 0
aconst_null
putfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
25: aload 0
iconst_0
putfield java.util.jar.JarFile.verify:Z
26: getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
ifnull 29
27: getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
ldc "jarfile parsing error!"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
28: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
end local 2 29: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 38
30: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
invokevirtual java.util.jar.JarVerifier.doneWithMeta:()V
31: getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
ifnull 33
32: getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
ldc "done with meta!"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
invokevirtual java.util.jar.JarVerifier.nothingToVerify:()Z
ifeq 38
34: getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
ifnull 36
35: getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
ldc "nothing to verify!"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
37: aload 0
iconst_0
putfield java.util.jar.JarFile.verify:Z
38: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljava/util/jar/JarFile;
1 39 1 mev Lsun/security/util/ManifestEntryVerifier;
2 22 2 names [Ljava/lang/String;
4 22 3 i I
6 20 4 uname Ljava/lang/String;
9 20 5 e Ljava/util/jar/JarEntry;
16 20 6 b [B
24 29 2 ex Ljava/io/IOException;
Exception table:
from to target type
1 22 23 Class java.io.IOException
private byte[] getBytes(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
aload 1
invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 4
start local 4 2: aload 1
invokevirtual java.util.zip.ZipEntry.getSize:()J
l2i
istore 5
start local 5 3: aload 4
invokestatic sun.misc.IOUtils.readAllBytes:(Ljava/io/InputStream;)[B
astore 6
start local 6 4: iload 5
iconst_m1
if_icmpeq 6
aload 6
arraylength
iload 5
if_icmpeq 6
5: new java.io.EOFException
dup
new java.lang.StringBuilder
dup
ldc "Expected:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", read:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream int byte[]
StackMap stack:
aload 6
7: aload 4
ifnull 8
aload 4
invokevirtual java.io.InputStream.close:()V
8: StackMap locals:
StackMap stack: byte[]
areturn
end local 6 end local 5 StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
9: astore 2
10: aload 4
ifnull 11
aload 4
invokevirtual java.io.InputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
11: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 3
aload 2
ifnonnull 13
aload 3
astore 2
goto 14
StackMap locals:
StackMap stack:
13: aload 2
aload 3
if_acmpeq 14
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/jar/JarFile;
0 15 1 ze Ljava/util/zip/ZipEntry;
2 11 4 is Ljava/io/InputStream;
3 9 5 len I
4 9 6 b [B
Exception table:
from to target type
2 7 9 any
1 8 12 any
9 12 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ze
public synchronized java.io.InputStream getInputStream(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.jar.JarFile.maybeInstantiateVerifier:()V
1: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnonnull 3
2: aload 0
aload 1
invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jvInitialized:Z
ifne 8
4: aload 0
invokevirtual java.util.jar.JarFile.initializeVerifier:()V
5: aload 0
iconst_1
putfield java.util.jar.JarFile.jvInitialized:Z
6: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnonnull 8
7: aload 0
aload 1
invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
areturn
8: StackMap locals:
StackMap stack:
new java.util.jar.JarVerifier$VerifierStream
dup
9: aload 0
invokevirtual java.util.jar.JarFile.getManifestFromReference:()Ljava/util/jar/Manifest;
10: aload 1
instanceof java.util.jar.JarFile$JarFileEntry
ifeq 12
11: aload 1
checkcast java.util.jar.JarEntry
goto 13
StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry
StackMap stack: new 8 new 8 java.util.jar.Manifest
12: aload 0
aload 1
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
13: StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry
StackMap stack: new 8 new 8 java.util.jar.Manifest java.util.jar.JarEntry
aload 0
aload 1
invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
14: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
15: invokespecial java.util.jar.JarVerifier$VerifierStream.<init>:(Ljava/util/jar/Manifest;Ljava/util/jar/JarEntry;Ljava/io/InputStream;Ljava/util/jar/JarVerifier;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/jar/JarFile;
0 16 1 ze Ljava/util/zip/ZipEntry;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ze
private java.util.jar.JarEntry getManEntry();
descriptor: ()Ljava/util/jar/JarEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
ifnonnull 15
1: aload 0
aload 0
ldc "META-INF/MANIFEST.MF"
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
putfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
2: aload 0
getfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
ifnonnull 15
3: aload 0
invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
astore 1
start local 1 4: aload 1
ifnull 15
5: iconst_0
istore 2
start local 2 6: goto 14
7: StackMap locals: java.lang.String[] int
StackMap stack:
ldc "META-INF/MANIFEST.MF"
8: aload 1
iload 2
aaload
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
9: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
10: ifeq 13
11: aload 0
aload 0
aload 1
iload 2
aaload
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
putfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
12: goto 15
13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 1
arraylength
if_icmplt 7
end local 2 end local 1 15: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/jar/JarFile;
4 15 1 names [Ljava/lang/String;
6 15 2 i I
boolean hasClassPathAttribute();
descriptor: ()Z
flags: (0x0000)
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.computedHasClassPathAttribute:Z
ifeq 2
1: aload 0
getfield java.util.jar.JarFile.hasClassPathAttribute:Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.util.jar.JarFile.hasClassPathAttribute:Z
3: aload 0
invokevirtual java.util.jar.JarFile.isKnownToNotHaveClassPathAttribute:()Z
ifne 24
4: aload 0
invokevirtual java.util.jar.JarFile.getManEntry:()Ljava/util/jar/JarEntry;
astore 1
start local 1 5: aload 1
ifnull 24
6: aload 0
aload 1
invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
astore 2
start local 2 7: aload 2
arraylength
getstatic java.util.jar.JarFile.src:[C
arraylength
isub
istore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 23
10: StackMap locals: java.util.jar.JarFile java.util.jar.JarEntry byte[] int int
StackMap stack:
bipush 9
istore 5
start local 5 11: goto 20
12: StackMap locals: int
StackMap stack:
aload 2
iload 4
iload 5
iadd
baload
i2c
istore 6
start local 6 13: iload 6
bipush 65
isub
bipush 90
iload 6
isub
ior
iflt 14
iload 6
bipush 32
iadd
i2c
goto 15
StackMap locals: int
StackMap stack:
14: iload 6
StackMap locals:
StackMap stack: int
15: istore 6
16: iload 6
getstatic java.util.jar.JarFile.src:[C
iload 5
caload
if_icmpeq 19
17: iload 4
iload 5
iconst_1
iadd
getstatic java.util.jar.JarFile.lastOcc:[I
iload 6
bipush 127
iand
iaload
isub
getstatic java.util.jar.JarFile.optoSft:[I
iload 5
iaload
invokestatic java.lang.Math.max:(II)I
iadd
istore 4
18: goto 23
end local 6 19: StackMap locals:
StackMap stack:
iinc 5 -1
StackMap locals:
StackMap stack:
20: iload 5
ifge 12
end local 5 21: aload 0
iconst_1
putfield java.util.jar.JarFile.hasClassPathAttribute:Z
22: goto 24
23: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmple 10
end local 4 end local 3 end local 2 end local 1 24: StackMap locals: java.util.jar.JarFile
StackMap stack:
aload 0
iconst_1
putfield java.util.jar.JarFile.computedHasClassPathAttribute:Z
25: aload 0
getfield java.util.jar.JarFile.hasClassPathAttribute:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/util/jar/JarFile;
5 24 1 manEntry Ljava/util/jar/JarEntry;
7 24 2 b [B
8 24 3 last I
9 24 4 i I
11 21 5 j I
13 19 6 c C
Exceptions:
throws java.io.IOException
private boolean isKnownToNotHaveClassPathAttribute();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: getstatic java.util.jar.JarFile.javaHome:Ljava/lang/String;
ifnonnull 3
1: new sun.security.action.GetPropertyAction
dup
ldc "java.home"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic java.util.jar.JarFile.javaHome:Ljava/lang/String;
3: StackMap locals:
StackMap stack:
getstatic java.util.jar.JarFile.jarNames:[Ljava/lang/String;
ifnonnull 18
4: bipush 10
anewarray java.lang.String
astore 1
start local 1 5: getstatic java.io.File.separator:Ljava/lang/String;
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "rt.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
8: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "sunrsasign.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
9: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jsse.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
10: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jce.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
11: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "charsets.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
12: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "dnsns.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
13: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "ldapsec.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
14: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "localedata.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
15: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "sunjce_provider.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
16: aload 1
iload 3
iinc 3 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "sunpkcs11.jar"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
17: aload 1
putstatic java.util.jar.JarFile.jarNames:[Ljava/lang/String;
end local 3 end local 2 end local 1 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
astore 1
start local 1 19: getstatic java.util.jar.JarFile.javaHome:Ljava/lang/String;
astore 2
start local 2 20: aload 1
aload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 28
21: getstatic java.util.jar.JarFile.jarNames:[Ljava/lang/String;
astore 3
start local 3 22: iconst_0
istore 4
start local 4 23: goto 27
24: StackMap locals: java.util.jar.JarFile java.lang.String java.lang.String java.lang.String[] int
StackMap stack:
aload 1
aload 3
iload 4
aaload
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 26
25: iconst_1
ireturn
26: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
27: iload 4
aload 3
arraylength
if_icmplt 24
end local 4 end local 3 28: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/util/jar/JarFile;
5 18 1 names [Ljava/lang/String;
6 18 2 fileSep Ljava/lang/String;
7 18 3 i I
19 29 1 name Ljava/lang/String;
20 29 2 localJavaHome Ljava/lang/String;
22 28 3 names [Ljava/lang/String;
23 28 4 i I
synchronized void ensureInitialization();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.maybeInstantiateVerifier:()V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: astore 1
start local 1 3: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 7
aload 0
getfield java.util.jar.JarFile.jvInitialized:Z
ifne 7
5: aload 0
invokevirtual java.util.jar.JarFile.initializeVerifier:()V
6: aload 0
iconst_1
putfield java.util.jar.JarFile.jvInitialized:Z
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/jar/JarFile;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
java.util.jar.JarEntry newEntry(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)Ljava/util/jar/JarEntry;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.jar.JarFile$JarFileEntry
dup
aload 0
aload 1
invokespecial java.util.jar.JarFile$JarFileEntry.<init>:(Ljava/util/jar/JarFile;Ljava/util/zip/ZipEntry;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
0 1 1 ze Ljava/util/zip/ZipEntry;
MethodParameters:
Name Flags
ze
java.util.Enumeration<java.lang.String> entryNames(java.security.CodeSource[]);
descriptor: ([Ljava/security/CodeSource;)Ljava/util/Enumeration;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.jar.JarFile.ensureInitialization:()V
1: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 3
2: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 0
aload 1
invokevirtual java.util.jar.JarVerifier.entryNames:(Ljava/util/jar/JarFile;[Ljava/security/CodeSource;)Ljava/util/Enumeration;
areturn
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 10
6: StackMap locals: int int
StackMap stack:
aload 1
iload 3
aaload
invokevirtual java.security.CodeSource.getCodeSigners:()[Ljava/security/CodeSigner;
ifnonnull 9
7: iconst_1
istore 2
8: goto 11
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 1
arraylength
if_icmplt 6
end local 3 11: StackMap locals:
StackMap stack:
iload 2
ifeq 13
12: aload 0
invokevirtual java.util.jar.JarFile.unsignedEntryNames:()Ljava/util/Enumeration;
areturn
13: StackMap locals:
StackMap stack:
new java.util.jar.JarFile$2
dup
aload 0
invokespecial java.util.jar.JarFile$2.<init>:(Ljava/util/jar/JarFile;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/jar/JarFile;
0 14 1 cs [Ljava/security/CodeSource;
4 14 2 includeUnsigned Z
5 11 3 i I
Signature: ([Ljava/security/CodeSource;)Ljava/util/Enumeration<Ljava/lang/String;>;
MethodParameters:
Name Flags
cs
java.util.Enumeration<java.util.jar.JarEntry> entries2();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.ensureInitialization:()V
1: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 3
2: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 0
aload 0
invokespecial java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
invokevirtual java.util.jar.JarVerifier.entries2:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)Ljava/util/Enumeration;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokespecial java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
astore 1
start local 1 4: new java.util.jar.JarFile$3
dup
aload 0
aload 1
invokespecial java.util.jar.JarFile$3.<init>:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/jar/JarFile;
4 5 1 enum_ Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
Signature: ()Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
java.security.CodeSource[] getCodeSources(java.net.URL);
descriptor: (Ljava/net/URL;)[Ljava/security/CodeSource;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.jar.JarFile.ensureInitialization:()V
1: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 3
2: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 0
aload 1
invokevirtual java.util.jar.JarVerifier.getCodeSources:(Ljava/util/jar/JarFile;Ljava/net/URL;)[Ljava/security/CodeSource;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.jar.JarFile.unsignedEntryNames:()Ljava/util/Enumeration;
astore 2
start local 2 4: aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 6
5: iconst_1
anewarray java.security.CodeSource
dup
iconst_0
aload 1
invokestatic java.util.jar.JarVerifier.getUnsignedCS:(Ljava/net/URL;)Ljava/security/CodeSource;
aastore
areturn
6: StackMap locals: java.util.Enumeration
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/jar/JarFile;
0 7 1 url Ljava/net/URL;
4 7 2 unsigned Ljava/util/Enumeration<Ljava/lang/String;>;
MethodParameters:
Name Flags
url
private java.util.Enumeration<java.lang.String> unsignedEntryNames();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
astore 1
start local 1 1: new java.util.jar.JarFile$4
dup
aload 0
aload 1
invokespecial java.util.jar.JarFile$4.<init>:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
1 2 1 entries Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
java.security.CodeSource getCodeSource(java.net.URL, java.lang.String);
descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.util.jar.JarFile.ensureInitialization:()V
1: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 11
2: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
getfield java.util.jar.JarVerifier.eagerValidation:Z
ifeq 10
3: aconst_null
astore 3
start local 3 4: aload 0
aload 2
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
astore 4
start local 4 5: aload 4
ifnull 8
6: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 1
aload 0
aload 4
invokevirtual java.util.jar.JarVerifier.getCodeSource:(Ljava/net/URL;Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)Ljava/security/CodeSource;
astore 3
7: goto 9
8: StackMap locals: java.security.CodeSource java.util.jar.JarEntry
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 1
aload 2
invokevirtual java.util.jar.JarVerifier.getCodeSource:(Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 1
aload 2
invokevirtual java.util.jar.JarVerifier.getCodeSource:(Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
areturn
11: StackMap locals:
StackMap stack:
aload 1
invokestatic java.util.jar.JarVerifier.getUnsignedCS:(Ljava/net/URL;)Ljava/security/CodeSource;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/jar/JarFile;
0 12 1 url Ljava/net/URL;
0 12 2 name Ljava/lang/String;
4 10 3 cs Ljava/security/CodeSource;
5 10 4 je Ljava/util/jar/JarEntry;
MethodParameters:
Name Flags
url
name
void setEagerValidation(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.jar.JarFile.maybeInstantiateVerifier:()V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 6
5: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
iload 1
invokevirtual java.util.jar.JarVerifier.setEagerValidation:(Z)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/jar/JarFile;
0 7 1 eager Z
3 4 2 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
eager
java.util.List<java.lang.Object> getManifestDigests();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.ensureInitialization:()V
1: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
ifnull 3
2: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
invokevirtual java.util.jar.JarVerifier.getManifestDigests:()Ljava/util/List;
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/jar/JarFile;
Signature: ()Ljava/util/List<Ljava/lang/Object;>;
}
SourceFile: "JarFile.java"
NestMembers:
java.util.jar.JarFile$1 java.util.jar.JarFile$2 java.util.jar.JarFile$3 java.util.jar.JarFile$4 java.util.jar.JarFile$JarFileEntry
InnerClasses:
java.util.jar.JarFile$1
java.util.jar.JarFile$2
java.util.jar.JarFile$3
java.util.jar.JarFile$4
private JarFileEntry = java.util.jar.JarFile$JarFileEntry of java.util.jar.JarFile
VerifierStream = java.util.jar.JarVerifier$VerifierStream of java.util.jar.JarVerifier