public class java.util.jar.JarInputStream extends java.util.zip.ZipInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.jar.JarInputStream
super_class: java.util.zip.ZipInputStream
{
private java.util.jar.Manifest man;
descriptor: Ljava/util/jar/Manifest;
flags: (0x0002) ACC_PRIVATE
private java.util.jar.JarEntry first;
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 sun.security.util.ManifestEntryVerifier mev;
descriptor: Lsun/security/util/ManifestEntryVerifier;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial java.util.jar.JarInputStream.<init>:(Ljava/io/InputStream;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/jar/JarInputStream;
0 2 1 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public void <init>(java.io.InputStream, boolean);
descriptor: (Ljava/io/InputStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
invokespecial java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
checkcast java.util.jar.JarEntry
astore 3
start local 3 2: aload 3
ifnull 4
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
ldc "META-INF/"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: aload 0
invokespecial java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
checkcast java.util.jar.JarEntry
astore 3
4: StackMap locals: java.util.jar.JarInputStream java.io.InputStream int java.util.jar.JarEntry
StackMap stack:
aload 3
ifnull 14
ldc "META-INF/MANIFEST.MF"
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 14
5: aload 0
new java.util.jar.Manifest
dup
invokespecial java.util.jar.Manifest.<init>:()V
putfield java.util.jar.JarInputStream.man:Ljava/util/jar/Manifest;
6: aload 0
new java.io.BufferedInputStream
dup
aload 0
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
invokevirtual java.util.jar.JarInputStream.getBytes:(Ljava/io/InputStream;)[B
astore 4
start local 4 7: aload 0
getfield java.util.jar.JarInputStream.man:Ljava/util/jar/Manifest;
new java.io.ByteArrayInputStream
dup
aload 4
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokevirtual java.util.jar.Manifest.read:(Ljava/io/InputStream;)V
8: aload 0
invokevirtual java.util.jar.JarInputStream.closeEntry:()V
9: iload 2
ifeq 12
10: aload 0
new java.util.jar.JarVerifier
dup
aload 4
invokespecial java.util.jar.JarVerifier.<init>:([B)V
putfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
11: aload 0
new sun.security.util.ManifestEntryVerifier
dup
aload 0
getfield java.util.jar.JarInputStream.man:Ljava/util/jar/Manifest;
invokespecial sun.security.util.ManifestEntryVerifier.<init>:(Ljava/util/jar/Manifest;)V
putfield java.util.jar.JarInputStream.mev:Lsun/security/util/ManifestEntryVerifier;
12: StackMap locals: byte[]
StackMap stack:
aload 0
aload 0
invokevirtual java.util.jar.JarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
putfield java.util.jar.JarInputStream.first:Ljava/util/jar/JarEntry;
end local 4 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.util.jar.JarInputStream.first:Ljava/util/jar/JarEntry;
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/jar/JarInputStream;
0 16 1 in Ljava/io/InputStream;
0 16 2 verify Z
2 16 3 e Ljava/util/jar/JarEntry;
7 13 4 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
verify
private byte[] getBytes(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: sipush 8192
newarray 8
astore 2
start local 2 1: new java.io.ByteArrayOutputStream
dup
sipush 2048
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 3
start local 3 2: aload 3
invokevirtual java.io.ByteArrayOutputStream.reset:()V
3: goto 5
start local 4 4: StackMap locals: byte[] java.io.ByteArrayOutputStream int
StackMap stack:
aload 3
aload 2
iconst_0
iload 4
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
end local 4 5: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 4
start local 4 6: iconst_m1
if_icmpne 4
7: aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/jar/JarInputStream;
0 8 1 is Ljava/io/InputStream;
1 8 2 buffer [B
2 8 3 baos Ljava/io/ByteArrayOutputStream;
4 5 4 n I
6 8 4 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
is
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
getfield java.util.jar.JarInputStream.man:Ljava/util/jar/Manifest;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarInputStream;
public java.util.zip.ZipEntry getNextEntry();
descriptor: ()Ljava/util/zip/ZipEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.jar.JarInputStream.first:Ljava/util/jar/JarEntry;
ifnonnull 3
1: aload 0
invokespecial java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
checkcast java.util.jar.JarEntry
astore 1
start local 1 2: goto 5
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarInputStream.first:Ljava/util/jar/JarEntry;
astore 1
start local 1 4: aload 0
aconst_null
putfield java.util.jar.JarInputStream.first:Ljava/util/jar/JarEntry;
5: StackMap locals: java.util.jar.JarEntry
StackMap stack:
aload 0
getfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
ifnull 11
aload 1
ifnull 11
6: aload 0
getfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
invokevirtual java.util.jar.JarVerifier.nothingToVerify:()Z
ifeq 10
7: aload 0
aconst_null
putfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
8: aload 0
aconst_null
putfield java.util.jar.JarInputStream.mev:Lsun/security/util/ManifestEntryVerifier;
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
aload 1
aload 0
getfield java.util.jar.JarInputStream.mev:Lsun/security/util/ManifestEntryVerifier;
invokevirtual java.util.jar.JarVerifier.beginEntry:(Ljava/util/jar/JarEntry;Lsun/security/util/ManifestEntryVerifier;)V
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/jar/JarInputStream;
2 3 1 e Ljava/util/jar/JarEntry;
4 12 1 e Ljava/util/jar/JarEntry;
Exceptions:
throws java.io.IOException
public java.util.jar.JarEntry getNextJarEntry();
descriptor: ()Ljava/util/jar/JarEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.jar.JarInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
checkcast java.util.jar.JarEntry
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/jar/JarInputStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.util.jar.JarInputStream.first:Ljava/util/jar/JarEntry;
ifnonnull 3
1: aload 0
aload 1
iload 2
iload 3
invokespecial java.util.zip.ZipInputStream.read:([BII)I
istore 4
start local 4 2: goto 4
end local 4 3: StackMap locals:
StackMap stack:
iconst_m1
istore 4
start local 4 4: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
ifnull 6
5: aload 0
getfield java.util.jar.JarInputStream.jv:Ljava/util/jar/JarVerifier;
iload 4
aload 1
iload 2
iload 3
aload 0
getfield java.util.jar.JarInputStream.mev:Lsun/security/util/ManifestEntryVerifier;
invokevirtual java.util.jar.JarVerifier.update:(I[BIILsun/security/util/ManifestEntryVerifier;)V
6: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/jar/JarInputStream;
0 7 1 b [B
0 7 2 off I
0 7 3 len I
2 3 4 n I
4 7 4 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
protected java.util.zip.ZipEntry createZipEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/zip/ZipEntry;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.jar.JarEntry
dup
aload 1
invokespecial java.util.jar.JarEntry.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 0
getfield java.util.jar.JarInputStream.man:Ljava/util/jar/Manifest;
ifnull 3
2: aload 2
aload 0
getfield java.util.jar.JarInputStream.man:Ljava/util/jar/Manifest;
aload 1
invokevirtual java.util.jar.Manifest.getAttributes:(Ljava/lang/String;)Ljava/util/jar/Attributes;
putfield java.util.jar.JarEntry.attr:Ljava/util/jar/Attributes;
3: StackMap locals: java.util.jar.JarEntry
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/JarInputStream;
0 4 1 name Ljava/lang/String;
1 4 2 e Ljava/util/jar/JarEntry;
MethodParameters:
Name Flags
name
}
SourceFile: "JarInputStream.java"