public class org.apache.tomcat.util.scan.JarFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.tomcat.util.scan.JarFactory
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/scan/JarFactory;
public static org.apache.tomcat.Jar newInstance(java.net.URL);
descriptor: (Ljava/net/URL;)Lorg/apache/tomcat/Jar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.net.URL.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "jar:file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
2: aload 1
ldc "!/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
3: new org.apache.tomcat.util.scan.JarFileUrlJar
dup
aload 0
iconst_1
invokespecial org.apache.tomcat.util.scan.JarFileUrlJar.<init>:(Ljava/net/URL;Z)V
areturn
4: StackMap locals: java.lang.String
StackMap stack:
new org.apache.tomcat.util.scan.JarFileUrlNestedJar
dup
aload 0
invokespecial org.apache.tomcat.util.scan.JarFileUrlNestedJar.<init>:(Ljava/net/URL;)V
areturn
5: StackMap locals:
StackMap stack:
aload 1
ldc "war:file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
6: aload 0
invokestatic org.apache.tomcat.util.buf.UriUtil.warToJar:(Ljava/net/URL;)Ljava/net/URL;
astore 2
start local 2 7: new org.apache.tomcat.util.scan.JarFileUrlNestedJar
dup
aload 2
invokespecial org.apache.tomcat.util.scan.JarFileUrlNestedJar.<init>:(Ljava/net/URL;)V
areturn
end local 2 8: StackMap locals:
StackMap stack:
aload 1
ldc "file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
9: new org.apache.tomcat.util.scan.JarFileUrlJar
dup
aload 0
iconst_0
invokespecial org.apache.tomcat.util.scan.JarFileUrlJar.<init>:(Ljava/net/URL;Z)V
areturn
10: StackMap locals:
StackMap stack:
new org.apache.tomcat.util.scan.UrlJar
dup
aload 0
invokespecial org.apache.tomcat.util.scan.UrlJar.<init>:(Ljava/net/URL;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 url Ljava/net/URL;
1 11 1 urlString Ljava/lang/String;
7 8 2 jarUrl Ljava/net/URL;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
url
public static java.net.URL getJarEntryURL(java.net.URL, java.lang.String);
descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ldc "jar"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
2: aload 2
ldc "^jar:"
ldc "war:"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
3: aload 2
ldc "!/"
4: invokestatic org.apache.tomcat.util.buf.UriUtil.getWarSeparator:()Ljava/lang/String;
invokestatic java.util.regex.Matcher.quoteReplacement:(Ljava/lang/String;)Ljava/lang/String;
5: invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
6: StackMap locals: java.lang.String
StackMap stack:
new java.net.URL
dup
new java.lang.StringBuilder
dup
ldc "jar:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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;
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 baseUrl Ljava/net/URL;
0 7 1 entryName Ljava/lang/String;
1 7 2 baseExternal Ljava/lang/String;
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
baseUrl
entryName
}
SourceFile: "JarFactory.java"