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 static final java.lang.Runtime$Version BASE_VERSION;
descriptor: Ljava/lang/Runtime$Version;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int BASE_VERSION_FEATURE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Runtime$Version RUNTIME_VERSION;
descriptor: Ljava/lang/Runtime$Version;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean MULTI_RELEASE_ENABLED;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean MULTI_RELEASE_FORCED;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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 final java.lang.Runtime$Version version;
descriptor: Ljava/lang/Runtime$Version;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int versionFeature;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean isMultiRelease;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean hasClassPathAttribute;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile boolean hasCheckedSpecialAttributes;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final jdk.internal.access.JavaUtilZipFileAccess JUZFA;
descriptor: Ljdk/internal/access/JavaUtilZipFileAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String META_INF;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "META-INF/"
private static final java.lang.String META_INF_VERSIONS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "META-INF/versions/"
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 final byte[] CLASSPATH_CHARS;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] CLASSPATH_LASTOCC;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] CLASSPATH_OPTOSFT;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] MULTIRELEASE_CHARS;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] MULTIRELEASE_LASTOCC;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] MULTIRELEASE_OPTOSFT;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: new java.util.jar.JavaUtilJarAccessImpl
dup
invokespecial java.util.jar.JavaUtilJarAccessImpl.<init>:()V
invokestatic jdk.internal.access.SharedSecrets.setJavaUtilJarAccess:(Ljdk/internal/access/JavaUtilJarAccess;)V
1: invokestatic jdk.internal.access.SharedSecrets.getJavaUtilZipFileAccess:()Ljdk/internal/access/JavaUtilZipFileAccess;
putstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
2: bipush 8
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
putstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
3: getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
invokevirtual java.lang.Runtime$Version.feature:()I
putstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
4: ldc "jdk.util.jar.version"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 5: invokestatic java.lang.Runtime.version:()Ljava/lang/Runtime$Version;
invokevirtual java.lang.Runtime$Version.feature:()I
istore 1
start local 1 6: aload 0
ifnull 12
7: aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
start local 2 8: iload 2
iload 1
if_icmple 10
9: iload 1
goto 11
10: StackMap locals: java.lang.String int int
StackMap stack:
iload 2
getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
invokestatic java.lang.Math.max:(II)I
11: StackMap locals:
StackMap stack: int
istore 1
end local 2 12: StackMap locals:
StackMap stack:
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
putstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
13: ldc "jdk.util.jar.enableMultiRelease"
ldc "true"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
14: astore 2
start local 2 15: aload 2
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
3569038: 16
97196323: 17
97618667: 18
default: 19
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
16: aload 3
ldc "true"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 19
StackMap locals:
StackMap stack:
17: aload 3
ldc "false"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 19
StackMap locals:
StackMap stack:
18: aload 3
ldc "force"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
19: StackMap locals:
StackMap stack:
iconst_1
putstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
20: iconst_0
putstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
21: goto 27
22: StackMap locals:
StackMap stack:
iconst_0
putstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
23: iconst_0
putstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
24: goto 27
25: StackMap locals:
StackMap stack:
iconst_1
putstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
26: iconst_1
putstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
end local 2 end local 1 end local 0 27: StackMap locals:
StackMap stack:
bipush 12
newarray 8
dup
iconst_0
28: bipush 67
bastore
dup
iconst_1
bipush 76
bastore
dup
iconst_2
bipush 65
bastore
dup
iconst_3
bipush 83
bastore
dup
iconst_4
bipush 83
bastore
dup
iconst_5
bipush 45
bastore
dup
bipush 6
bipush 80
bastore
dup
bipush 7
bipush 65
bastore
dup
bipush 8
bipush 84
bastore
dup
bipush 9
bipush 72
bastore
dup
bipush 10
bipush 58
bastore
dup
bipush 11
bipush 32
bastore
29: putstatic java.util.jar.JarFile.CLASSPATH_CHARS:[B
30: bipush 19
newarray 8
dup
iconst_0
bipush 77
bastore
dup
iconst_1
bipush 85
bastore
dup
iconst_2
bipush 76
bastore
dup
iconst_3
bipush 84
bastore
dup
iconst_4
bipush 73
bastore
dup
iconst_5
bipush 45
bastore
dup
bipush 6
bipush 82
bastore
dup
bipush 7
bipush 69
bastore
dup
bipush 8
bipush 76
bastore
dup
bipush 9
bipush 69
bastore
dup
bipush 10
bipush 65
bastore
dup
bipush 11
bipush 83
bastore
dup
bipush 12
bipush 69
bastore
dup
bipush 13
bipush 58
bastore
dup
bipush 14
31: bipush 32
bastore
dup
bipush 15
bipush 84
bastore
dup
bipush 16
bipush 82
bastore
dup
bipush 17
bipush 85
bastore
dup
bipush 18
bipush 69
bastore
32: putstatic java.util.jar.JarFile.MULTIRELEASE_CHARS:[B
33: bipush 65
newarray 8
putstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
34: bipush 12
newarray 8
putstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
35: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 35
iconst_1
bastore
36: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 44
iconst_2
bastore
37: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 51
iconst_5
bastore
38: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 13
bipush 6
bastore
39: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 48
bipush 7
bastore
40: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 33
bipush 8
bastore
41: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 52
bipush 9
bastore
42: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 40
bipush 10
bastore
43: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
bipush 26
bipush 11
bastore
44: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
iconst_0
bipush 12
bastore
45: iconst_0
istore 0
start local 0 46: goto 49
47: StackMap locals: int
StackMap stack:
getstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
iload 0
bipush 12
bastore
48: iinc 0 1
StackMap locals:
StackMap stack:
49: iload 0
bipush 11
if_icmplt 47
end local 0 50: getstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
bipush 11
iconst_1
bastore
51: bipush 65
newarray 8
putstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
52: bipush 19
newarray 8
putstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
53: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 45
iconst_1
bastore
54: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 41
iconst_5
bastore
55: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 13
bipush 6
bastore
56: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 44
bipush 9
bastore
57: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 33
bipush 11
bastore
58: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 51
bipush 12
bastore
59: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 26
bipush 14
bastore
60: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
iconst_0
bipush 15
bastore
61: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 52
bipush 16
bastore
62: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 50
bipush 17
bastore
63: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 53
bipush 18
bastore
64: getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
bipush 37
bipush 19
bastore
65: iconst_0
istore 0
start local 0 66: goto 69
67: StackMap locals:
StackMap stack:
getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
iload 0
bipush 19
bastore
68: iinc 0 1
StackMap locals:
StackMap stack:
69: iload 0
bipush 17
if_icmplt 67
end local 0 70: getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
bipush 17
bipush 6
bastore
71: getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
bipush 18
iconst_1
bastore
72: return
LocalVariableTable:
Start End Slot Name Signature
5 27 0 jarVersion Ljava/lang/String;
6 27 1 runtimeVersion I
8 12 2 jarVer I
15 27 2 enableMultiRelease Ljava/lang/String;
46 50 0 i I
66 70 0 i I
public static java.lang.Runtime$Version baseVersion();
descriptor: ()Ljava/lang/Runtime$Version;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.Runtime$Version runtimeVersion();
descriptor: ()Ljava/lang/Runtime$Version;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
areturn
LocalVariableTable:
Start End Slot Name Signature
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=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZILjava/lang/Runtime$Version;)V
1: return
end local 3 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
0 2 3 mode I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
verify
mode
public void <init>(java.io.File, boolean, int, java.lang.Runtime$Version);
descriptor: (Ljava/io/File;ZILjava/lang/Runtime$Version;)V
flags: (0x0001) ACC_PUBLIC
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
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: aload 4
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
ifne 4
aload 4
invokevirtual java.lang.Runtime$Version.feature:()I
getstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
invokevirtual java.lang.Runtime$Version.feature:()I
if_icmpne 6
4: StackMap locals: java.util.jar.JarFile java.io.File int int java.lang.Runtime$Version
StackMap stack:
aload 0
getstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
putfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
5: goto 10
StackMap locals:
StackMap stack:
6: aload 4
invokevirtual java.lang.Runtime$Version.feature:()I
getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
if_icmpgt 9
7: aload 0
getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
putfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual java.lang.Runtime$Version.feature:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
putfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
invokevirtual java.lang.Runtime$Version.feature:()I
putfield java.util.jar.JarFile.versionFeature:I
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/jar/JarFile;
0 12 1 file Ljava/io/File;
0 12 2 verify Z
0 12 3 mode I
0 12 4 version Ljava/lang/Runtime$Version;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
verify
mode
version
public final java.lang.Runtime$Version getVersion();
descriptor: ()Ljava/lang/Runtime$Version;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
ifeq 1
aload 0
getfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
StackMap locals:
StackMap stack: java.lang.Runtime$Version
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/jar/JarFile;
public final boolean isMultiRelease();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.isMultiRelease:Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
getstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
ifeq 7
3: aload 0
invokevirtual java.util.jar.JarFile.checkForSpecialAttributes:()V
4: goto 7
StackMap locals:
StackMap stack: java.io.IOException
5: pop
6: aload 0
iconst_0
putfield java.util.jar.JarFile.isMultiRelease:Z
7: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarFile.isMultiRelease:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/jar/JarFile;
Exception table:
from to target type
3 4 5 Class java.io.IOException
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
aload 0
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
invokespecial java.util.jar.Manifest.<init>:(Ljava/util/jar/JarVerifier;Ljava/io/InputStream;Ljava/lang/String;)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;
aload 0
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;Ljava/lang/String;)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 java.lang.String[] getMetaInfEntryNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
invokeinterface jdk.internal.access.JavaUtilZipFileAccess.getMetaInfEntryNames:(Ljava/util/zip/ZipFile;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
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=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
astore 2
start local 2 1: aload 0
invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
ifeq 3
2: aload 0
aload 1
aload 2
invokevirtual java.util.jar.JarFile.getVersionedEntry:(Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
areturn
3: StackMap locals: java.util.jar.JarFile$JarFileEntry
StackMap stack:
aload 2
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 je Ljava/util/jar/JarFile$JarFileEntry;
MethodParameters:
Name Flags
name
public java.util.Enumeration<java.util.jar.JarEntry> entries();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
aload 0
invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
(Ljava/lang/String;)Ljava/util/jar/JarEntry;
invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entries:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
Signature: ()Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
public java.util.stream.Stream<java.util.jar.JarEntry> stream();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
aload 0
invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
(Ljava/lang/String;)Ljava/util/jar/JarEntry;
invokeinterface jdk.internal.access.JavaUtilZipFileAccess.stream:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
Signature: ()Ljava/util/stream/Stream<Ljava/util/jar/JarEntry;>;
public java.util.stream.Stream<java.util.jar.JarEntry> versionedStream();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
ifeq 7
1: getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entryNameStream:(Ljava/util/zip/ZipFile;)Ljava/util/stream/Stream;
aload 0
invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/jar/JarFile.getBasename(Ljava/lang/String;)Ljava/lang/String; (7)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
4: aload 0
invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/jar/JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; (5)
(Ljava/lang/String;)Ljava/util/jar/JarEntry;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Ljava/util/jar/JarEntry;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.jar.JarFile.stream:()Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/jar/JarFile;
Signature: ()Ljava/util/stream/Stream<Ljava/util/jar/JarEntry;>;
private java.util.jar.JarFile$JarFileEntry getEntry0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.util.jar.JarFile$1
dup
aload 0
invokespecial java.util.jar.JarFile$1.<init>:(Ljava/util/jar/JarFile;)V
astore 2
start local 2 1: getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.access.JavaUtilZipFileAccess.getEntry:(Ljava/util/zip/ZipFile;Ljava/lang/String;Ljava/util/function/Function;)Ljava/util/jar/JarEntry;
checkcast java.util.jar.JarFile$JarFileEntry
areturn
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;
1 2 2 newJarFileEntryFn Ljava/util/function/Function<Ljava/lang/String;Ljava/util/jar/JarEntry;>;
MethodParameters:
Name Flags
name
private java.lang.String getBasename(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
1: ldc "META-INF/versions/"
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: aload 1
bipush 47
iload 2
invokevirtual java.lang.String.indexOf:(II)I
istore 3
start local 3 3: iload 3
iconst_m1
if_icmpeq 5
iload 3
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpeq 5
4: aload 1
iload 2
iload 3
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
aload 0
getfield java.util.jar.JarFile.versionFeature:I
if_icmple 8
5: StackMap locals: int int
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/jar/JarFile;
0 10 1 name Ljava/lang/String;
2 9 2 off I
3 9 3 index I
Exception table:
from to target type
3 5 6 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
name
private java.util.jar.JarEntry getVersionedEntry(java.lang.String, java.util.jar.JarEntry);
descriptor: (Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
aload 0
getfield java.util.jar.JarFile.versionFeature:I
if_icmpge 9
1: aload 1
ldc "META-INF/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 9
2: aload 0
getfield java.util.jar.JarFile.versionFeature:I
istore 3
start local 3 3: goto 8
4: StackMap locals: int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "META-INF/versions/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 4
aload 1
invokevirtual java.util.jar.JarFile$JarFileEntry.withBasename:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
areturn
7: StackMap locals: java.util.jar.JarFile$JarFileEntry
StackMap stack:
iinc 3 -1
end local 4 8: StackMap locals:
StackMap stack:
iload 3
getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
if_icmpgt 4
end local 3 9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/jar/JarFile;
0 10 1 name Ljava/lang/String;
0 10 2 je Ljava/util/jar/JarEntry;
3 9 3 v I
5 8 4 vje Ljava/util/jar/JarFile$JarFileEntry;
MethodParameters:
Name Flags
name
je
java.lang.String getRealName(java.util.jar.JarEntry);
descriptor: (Ljava/util/jar/JarEntry;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.jar.JarEntry.getRealName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarFile;
0 1 1 entry Ljava/util/jar/JarEntry;
MethodParameters:
Name Flags
entry
private void maybeInstantiateVerifier();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, 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: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 15
StackMap locals: java.util.jar.JarFile java.lang.String[] top int int java.lang.String[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: aload 2
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 6
start local 6 8: aload 6
ldc ".DSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
9: aload 6
ldc ".RSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
10: aload 6
ldc ".EC"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
11: aload 6
ldc ".SF"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 14
12: StackMap locals: java.util.jar.JarFile java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
aload 0
invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
pop
13: return
end local 6 end local 2 14: StackMap locals: java.util.jar.JarFile java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
iload 4
if_icmplt 6
16: StackMap locals: java.util.jar.JarFile java.lang.String[]
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;
7 14 2 nameLower Ljava/lang/String;
8 14 6 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
private void initializeVerifier();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, 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: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 21
StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier java.lang.String[] top int int java.lang.String[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 7
start local 7 6: ldc "META-INF/MANIFEST.MF"
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 7
invokestatic sun.security.util.SignatureFileVerifier.isBlockOrSF:(Ljava/lang/String;)Z
ifeq 20
8: StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
aload 0
aload 3
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
astore 8
start local 8 9: aload 8
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 8
invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
astore 9
start local 9 16: aload 9
ifnull 20
aload 9
arraylength
ifle 20
17: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 8
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 9
arraylength
aload 9
iconst_0
aload 9
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 9 end local 8 end local 7 end local 3 20: StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
iload 5
if_icmplt 4
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;
5 20 3 name Ljava/lang/String;
6 20 7 uname Ljava/lang/String;
9 20 8 e Ljava/util/jar/JarEntry;
16 20 9 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=8, 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: iload 5
iconst_m1
if_icmpeq 7
iload 5
ldc 65535
if_icmpgt 7
4: iload 5
newarray 8
astore 7
start local 7 5: aload 4
aload 7
iconst_0
iload 5
invokevirtual java.io.InputStream.readNBytes:([BII)I
istore 6
start local 6 6: goto 9
end local 7 end local 6 7: StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream int
StackMap stack:
aload 4
invokevirtual java.io.InputStream.readAllBytes:()[B
astore 7
start local 7 8: aload 7
arraylength
istore 6
start local 6 9: StackMap locals: int byte[]
StackMap stack:
iload 5
iconst_m1
if_icmpeq 11
iload 5
iload 6
if_icmpeq 11
10: 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;
iload 6
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
11: StackMap locals:
StackMap stack:
aload 7
12: aload 4
ifnull 13
aload 4
invokevirtual java.io.InputStream.close:()V
13: StackMap locals:
StackMap stack: byte[]
areturn
end local 7 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
14: astore 2
15: aload 4
ifnull 16
aload 4
invokevirtual java.io.InputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
16: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 3
aload 2
ifnonnull 18
aload 3
astore 2
goto 19
StackMap locals:
StackMap stack:
18: aload 2
aload 3
if_acmpeq 19
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/jar/JarFile;
0 20 1 ze Ljava/util/zip/ZipEntry;
2 16 4 is Ljava/io/InputStream;
3 14 5 len I
6 7 6 bytesRead I
9 14 6 bytesRead I
5 7 7 b [B
8 14 7 b [B
Exception table:
from to target type
2 12 14 any
1 13 17 any
14 17 17 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 0
aload 1
invokevirtual java.util.jar.JarFile.verifiableEntry:(Ljava/util/zip/ZipEntry;)Ljava/util/jar/JarEntry;
11: aload 0
aload 1
invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
12: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
13: 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 14 0 this Ljava/util/jar/JarFile;
0 14 1 ze Ljava/util/zip/ZipEntry;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ze
private java.util.jar.JarEntry verifiableEntry(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)Ljava/util/jar/JarEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.util.jar.JarFile$JarFileEntry
ifeq 2
1: aload 1
checkcast java.util.jar.JarFile$JarFileEntry
invokevirtual java.util.jar.JarFile$JarFileEntry.realEntry:()Ljava/util/jar/JarFile$JarFileEntry;
areturn
2: StackMap locals:
StackMap stack:
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;
astore 1
3: aload 1
instanceof java.util.jar.JarFile$JarFileEntry
ifeq 5
4: aload 1
checkcast java.util.jar.JarFile$JarFileEntry
invokevirtual java.util.jar.JarFile$JarFileEntry.realEntry:()Ljava/util/jar/JarFile$JarFileEntry;
areturn
5: StackMap locals:
StackMap stack:
aload 1
checkcast java.util.jar.JarEntry
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/jar/JarFile;
0 6 1 ze Ljava/util/zip/ZipEntry;
MethodParameters:
Name Flags
ze
private java.util.jar.JarEntry getManEntry();
descriptor: ()Ljava/util/jar/JarEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
ifnonnull 13
1: aload 0
ldc "META-INF/MANIFEST.MF"
invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
astore 1
start local 1 2: aload 1
ifnonnull 12
3: aload 0
invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
astore 2
start local 2 4: aload 2
ifnull 12
5: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: java.util.jar.JarFile java.util.jar.JarEntry java.lang.String[] top int int java.lang.String[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: ldc "META-INF/MANIFEST.MF"
aload 3
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
aload 3
invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
astore 1
9: goto 12
end local 3 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 6
end local 2 12: StackMap locals: java.util.jar.JarFile java.util.jar.JarEntry
StackMap stack:
aload 0
aload 1
putfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
end local 1 13: 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 14 0 this Ljava/util/jar/JarFile;
2 13 1 manEntry Ljava/util/jar/JarEntry;
4 12 2 names [Ljava/lang/String;
7 10 3 name Ljava/lang/String;
boolean hasClassPathAttribute();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarFile.checkForSpecialAttributes:()V
1: aload 0
getfield java.util.jar.JarFile.hasClassPathAttribute:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarFile;
Exceptions:
throws java.io.IOException
private int match(byte[], byte[], byte[], byte[]);
descriptor: ([B[B[B[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
arraylength
istore 5
start local 5 1: aload 2
arraylength
iload 5
isub
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 18
4: StackMap locals: int int int
StackMap stack:
iload 5
iconst_1
isub
istore 8
start local 8 5: goto 16
6: StackMap locals: int
StackMap stack:
aload 2
iload 7
iload 8
iadd
baload
istore 9
start local 9 7: iload 9
bipush 32
if_icmplt 13
iload 9
bipush 122
if_icmpgt 13
8: iload 9
bipush 97
if_icmplt 9
iload 9
bipush 32
isub
i2b
istore 9
9: StackMap locals: int
StackMap stack:
iload 9
aload 1
iload 8
baload
if_icmpeq 15
10: aload 3
iload 9
bipush 32
isub
baload
istore 10
start local 10 11: iload 7
iload 8
iconst_1
iadd
iload 10
isub
aload 4
iload 8
baload
invokestatic java.lang.Math.max:(II)I
iadd
istore 7
12: goto 18
end local 10 13: StackMap locals:
StackMap stack:
iload 7
iload 5
iadd
istore 7
14: goto 18
end local 9 15: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
16: iload 8
ifge 6
end local 8 17: iload 7
ireturn
18: StackMap locals:
StackMap stack:
iload 7
iload 6
if_icmple 4
19: iconst_m1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/jar/JarFile;
0 20 1 src [B
0 20 2 b [B
0 20 3 lastOcc [B
0 20 4 optoSft [B
1 20 5 len I
2 20 6 last I
3 20 7 i I
5 17 8 j I
7 15 9 c B
11 13 10 badShift I
MethodParameters:
Name Flags
src
b
lastOcc
optoSft
private void checkForSpecialAttributes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarFile.hasCheckedSpecialAttributes:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
3: aload 0
getfield java.util.jar.JarFile.hasCheckedSpecialAttributes:Z
ifeq 6
4: aload 1
monitorexit
5: return
6: StackMap locals: java.util.jar.JarFile
StackMap stack:
aload 0
invokevirtual java.util.jar.JarFile.getManEntry:()Ljava/util/jar/JarEntry;
astore 2
start local 2 7: aload 2
ifnull 28
8: aload 0
aload 2
invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
astore 3
start local 3 9: aload 0
aload 0
getstatic java.util.jar.JarFile.CLASSPATH_CHARS:[B
aload 3
10: getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
getstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
11: invokevirtual java.util.jar.JarFile.match:([B[B[B[B)I
12: iconst_m1
if_icmpeq 13
iconst_1
goto 14
StackMap locals: java.util.jar.JarFile java.util.jar.JarFile java.util.jar.JarEntry byte[]
StackMap stack: java.util.jar.JarFile
13: iconst_0
14: StackMap locals: java.util.jar.JarFile java.util.jar.JarFile java.util.jar.JarEntry byte[]
StackMap stack: java.util.jar.JarFile int
putfield java.util.jar.JarFile.hasClassPathAttribute:Z
15: getstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
ifeq 28
16: aload 0
getstatic java.util.jar.JarFile.MULTIRELEASE_CHARS:[B
aload 3
getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
17: getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
18: invokevirtual java.util.jar.JarFile.match:([B[B[B[B)I
istore 4
start local 4 19: iload 4
iconst_m1
if_icmpeq 28
20: sipush 512
newarray 8
astore 5
start local 5 21: new java.util.jar.Attributes
dup
invokespecial java.util.jar.Attributes.<init>:()V
astore 6
start local 6 22: aload 6
new java.util.jar.Manifest$FastInputStream
dup
23: new java.io.ByteArrayInputStream
dup
aload 3
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial java.util.jar.Manifest$FastInputStream.<init>:(Ljava/io/InputStream;)V
aload 5
24: invokevirtual java.util.jar.Attributes.read:(Ljava/util/jar/Manifest$FastInputStream;[B)V
25: aload 0
26: aload 6
getstatic java.util.jar.Attributes$Name.MULTI_RELEASE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
27: invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putfield java.util.jar.JarFile.isMultiRelease:Z
end local 6 end local 5 end local 4 end local 3 28: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.util.jar.JarFile.hasCheckedSpecialAttributes:Z
end local 2 29: aload 1
monitorexit
30: goto 33
StackMap locals: java.util.jar.JarFile java.util.jar.JarFile
StackMap stack: java.lang.Throwable
31: aload 1
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljava/util/jar/JarFile;
7 29 2 manEntry Ljava/util/jar/JarEntry;
9 28 3 b [B
19 28 4 i I
21 28 5 lbuf [B
22 28 6 attr Ljava/util/jar/Attributes;
Exception table:
from to target type
3 5 31 any
6 30 31 any
31 32 31 any
Exceptions:
throws java.io.IOException
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.jar.JarEntry);
descriptor: (Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
aload 1
invokevirtual java.util.jar.JarFile.getVersionedEntry:(Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/jar/JarFile;
0 3 1 je Ljava/util/jar/JarEntry;
MethodParameters:
Name Flags
je
java.util.jar.JarEntry newEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/jar/JarEntry;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
ifeq 4
1: aload 0
aload 1
aconst_null
invokevirtual java.util.jar.JarFile.getVersionedEntry:(Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
new java.util.jar.JarFile$JarFileEntry
dup
aload 0
aload 1
invokespecial java.util.jar.JarFile$JarFileEntry.<init>:(Ljava/util/jar/JarFile;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/jar/JarFile;
0 5 1 name Ljava/lang/String;
2 4 2 vje Ljava/util/jar/JarEntry;
MethodParameters:
Name Flags
name
java.util.Enumeration<java.lang.String> entryNames(java.security.CodeSource[]);
descriptor: ([Ljava/security/CodeSource;)Ljava/util/Enumeration;
flags: (0x0000)
Code:
stack=3, locals=7, 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: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: java.util.jar.JarFile java.security.CodeSource[] int top int int java.security.CodeSource[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
invokevirtual java.security.CodeSource.getCodeSigners:()[Ljava/security/CodeSigner;
ifnonnull 9
7: iconst_1
istore 2
8: goto 11
end local 3 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 5
11: StackMap locals: java.util.jar.JarFile java.security.CodeSource[] int
StackMap stack:
iload 2
ifeq 13
12: aload 0
invokevirtual java.util.jar.JarFile.unsignedEntryNames:()Ljava/util/Enumeration;
areturn
13: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyEnumeration:()Ljava/util/Enumeration;
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
6 9 3 c Ljava/security/CodeSource;
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=5, 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 5
2: aload 0
getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
aload 0
getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
3: aload 0
invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
(Ljava/lang/String;)Ljava/util/jar/JarEntry;
4: invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entries:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/Enumeration;
invokevirtual java.util.jar.JarVerifier.entries2:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)Ljava/util/Enumeration;
areturn
5: StackMap locals:
StackMap stack:
getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
aload 0
aload 0
invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
(Ljava/lang/String;)Ljava/util/jar/JarEntry;
invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entries:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/Enumeration;
astore 1
start local 1 6: new java.util.jar.JarFile$2
dup
aload 0
aload 1
invokespecial java.util.jar.JarFile$2.<init>:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/jar/JarFile;
6 7 1 unfilteredEntries Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
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$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 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$JarFileEntry
InnerClasses:
public final Version = java.lang.Runtime$Version of java.lang.Runtime
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
java.util.jar.JarFile$1
java.util.jar.JarFile$2
java.util.jar.JarFile$3
private JarFileEntry = java.util.jar.JarFile$JarFileEntry of java.util.jar.JarFile
VerifierStream = java.util.jar.JarVerifier$VerifierStream of java.util.jar.JarVerifier
FastInputStream = java.util.jar.Manifest$FastInputStream of java.util.jar.Manifest