public class org.apache.tomcat.util.scan.JarFileUrlNestedJar extends org.apache.tomcat.util.scan.AbstractInputStreamJar
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.tomcat.util.scan.JarFileUrlNestedJar
super_class: org.apache.tomcat.util.scan.AbstractInputStreamJar
{
private final java.util.jar.JarFile warFile;
descriptor: Ljava/util/jar/JarFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.jar.JarEntry jarEntry;
descriptor: Ljava/util/jar/JarEntry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 // org.apache.tomcat.util.scan.JarFileUrlNestedJar this
start local 1 // java.net.URL url
0: .line 36
aload 0 /* this */
aload 1 /* url */
invokespecial org.apache.tomcat.util.scan.AbstractInputStreamJar.<init>:(Ljava/net/URL;)V
1: .line 37
aload 1 /* url */
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
checkcast java.net.JarURLConnection
astore 2 /* jarConn */
start local 2 // java.net.JarURLConnection jarConn
2: .line 38
aload 2 /* jarConn */
iconst_0
invokevirtual java.net.JarURLConnection.setUseCaches:(Z)V
3: .line 39
aload 0 /* this */
aload 2 /* jarConn */
invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
putfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.warFile:Ljava/util/jar/JarFile;
4: .line 41
aload 1 /* url */
invokevirtual java.net.URL.toString:()Ljava/lang/String;
astore 3 /* urlAsString */
start local 3 // java.lang.String urlAsString
5: .line 42
aload 3 /* urlAsString */
ldc "!/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_2
iadd
istore 4 /* pathStart */
start local 4 // int pathStart
6: .line 43
aload 3 /* urlAsString */
iload 4 /* pathStart */
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5 /* jarPath */
start local 5 // java.lang.String jarPath
7: .line 44
aload 0 /* this */
aload 0 /* this */
getfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.warFile:Ljava/util/jar/JarFile;
aload 5 /* jarPath */
invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
putfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.jarEntry:Ljava/util/jar/JarEntry;
8: .line 45
return
end local 5 // java.lang.String jarPath
end local 4 // int pathStart
end local 3 // java.lang.String urlAsString
end local 2 // java.net.JarURLConnection jarConn
end local 1 // java.net.URL url
end local 0 // org.apache.tomcat.util.scan.JarFileUrlNestedJar this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/tomcat/util/scan/JarFileUrlNestedJar;
0 9 1 url Ljava/net/URL;
2 9 2 jarConn Ljava/net/JarURLConnection;
5 9 3 urlAsString Ljava/lang/String;
6 9 4 pathStart I
7 9 5 jarPath Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
url
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.tomcat.util.scan.JarFileUrlNestedJar this
0: .line 50
aload 0 /* this */
invokevirtual org.apache.tomcat.util.scan.JarFileUrlNestedJar.closeStream:()V
1: .line 51
aload 0 /* this */
getfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.warFile:Ljava/util/jar/JarFile;
ifnull 5
2: .line 53
aload 0 /* this */
getfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.warFile:Ljava/util/jar/JarFile;
invokevirtual java.util.jar.JarFile.close:()V
3: .line 54
goto 5
StackMap locals:
StackMap stack: java.io.IOException
4: pop
5: .line 58
StackMap locals:
StackMap stack:
return
end local 0 // org.apache.tomcat.util.scan.JarFileUrlNestedJar this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tomcat/util/scan/JarFileUrlNestedJar;
Exception table:
from to target type
2 3 4 Class java.io.IOException
protected org.apache.tomcat.util.scan.NonClosingJarInputStream createJarInputStream();
descriptor: ()Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 // org.apache.tomcat.util.scan.JarFileUrlNestedJar this
0: .line 63
new org.apache.tomcat.util.scan.NonClosingJarInputStream
dup
aload 0 /* this */
getfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.warFile:Ljava/util/jar/JarFile;
aload 0 /* this */
getfield org.apache.tomcat.util.scan.JarFileUrlNestedJar.jarEntry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
invokespecial org.apache.tomcat.util.scan.NonClosingJarInputStream.<init>:(Ljava/io/InputStream;)V
areturn
end local 0 // org.apache.tomcat.util.scan.JarFileUrlNestedJar this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/scan/JarFileUrlNestedJar;
Exceptions:
throws java.io.IOException
}
SourceFile: "JarFileUrlNestedJar.java"