public abstract class org.apache.tomcat.util.scan.AbstractInputStreamJar implements org.apache.tomcat.Jar
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.tomcat.util.scan.AbstractInputStreamJar
super_class: java.lang.Object
{
private final java.net.URL jarFileURL;
descriptor: Ljava/net/URL;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.tomcat.util.scan.NonClosingJarInputStream jarInputStream;
descriptor: Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
flags: (0x0002) ACC_PRIVATE
private java.util.jar.JarEntry entry;
descriptor: Ljava/util/jar/JarEntry;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean multiRelease;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.String> mrMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
public void <init>(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
2: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
3: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
4: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
5: aload 0
aload 1
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarFileURL:Ljava/net/URL;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
0 7 1 jarFileUrl Ljava/net/URL;
MethodParameters:
Name Flags
jarFileUrl
public java.net.URL getJarFileURL();
descriptor: ()Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarFileURL:Ljava/net/URL;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
public void nextEntry();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
ifnonnull 6
1: aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.reset:()V
2: goto 6
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
7: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 16
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnull 20
11: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 9
12: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 20
13: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifeq 9
14: goto 20
15: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnull 20
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 15
17: goto 20
StackMap locals:
StackMap stack: java.io.IOException
18: pop
19: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
Exception table:
from to target type
1 2 3 Class java.io.IOException
6 17 18 Class java.io.IOException
public java.lang.String getEntryName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
public java.io.InputStream getEntryInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
Exceptions:
throws java.io.IOException
public java.io.InputStream getInputStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.gotoEntry:(Ljava/lang/String;)V
1: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
4: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
0 5 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public long getLastModified(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.gotoEntry:(Ljava/lang/String;)V
1: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnonnull 3
2: ldc -1
lreturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getTime:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
0 4 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public boolean exists(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.gotoEntry:(Ljava/lang/String;)V
1: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnull 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
0 3 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public java.lang.String getURL(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "jar:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.getJarFileURL:()Ljava/net/URL;
invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 2
ldc "!/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 2
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
0 5 1 entry Ljava/lang/String;
1 5 2 result Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
entry
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 org.apache.tomcat.util.scan.AbstractInputStreamJar.reset:()V
1: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getManifest:()Ljava/util/jar/Manifest;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
Exceptions:
throws java.io.IOException
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.closeStream:()V
1: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
2: aload 0
aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.createJarInputStream:()Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
3: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
ifnonnull 19
4: invokestatic org.apache.tomcat.util.compat.JreCompat.isJre9Available:()Z
ifeq 15
5: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getManifest:()Ljava/util/jar/Manifest;
astore 1
start local 1 6: aload 1
ifnonnull 9
7: aload 0
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
8: goto 16
9: StackMap locals: java.util.jar.Manifest
StackMap stack:
aload 1
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
ldc "Multi-Release"
invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 10: aload 2
ifnonnull 13
11: aload 0
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
12: goto 16
13: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
end local 2 end local 1 14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 19
17: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
ifnonnull 19
18: aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.populateMrMap:()V
19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
6 14 1 manifest Ljava/util/jar/Manifest;
10 14 2 mrValue Ljava/lang/String;
Exceptions:
throws java.io.IOException
protected void closeStream();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
ifnull 4
1: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.reallyClose:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
Exception table:
from to target type
1 2 3 Class java.io.IOException
protected abstract org.apache.tomcat.util.scan.NonClosingJarInputStream createJarInputStream();
descriptor: ()Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
private void gotoEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
ifnonnull 4
2: aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.reset:()V
3: iconst_0
istore 2
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.multiRelease:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
5: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 3
ifnull 12
7: aload 3
astore 1
end local 3 8: goto 12
StackMap locals:
StackMap stack:
9: aload 1
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 12
10: aload 0
aconst_null
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
11: return
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
ifnull 14
aload 1
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: return
14: StackMap locals:
StackMap stack:
iload 2
ifeq 16
15: aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.reset:()V
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
astore 3
start local 3 17: goto 22
18: StackMap locals: java.util.jar.JarEntry
StackMap stack:
aload 1
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 0
aload 3
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.entry:Ljava/util/jar/JarEntry;
20: goto 23
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
astore 3
22: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
0 24 1 name Ljava/lang/String;
1 24 2 needsReset Z
6 8 3 mrName Ljava/lang/String;
17 24 3 jarEntry Ljava/util/jar/JarEntry;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
private void populateMrMap();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=1
start local 0 0: invokestatic org.apache.tomcat.util.compat.JreCompat.getInstance:()Lorg/apache/tomcat/util/compat/JreCompat;
invokevirtual org.apache.tomcat.util.compat.JreCompat.jarFileRuntimeMajorVersion:()I
istore 1
start local 1 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 2: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
astore 3
start local 3 3: goto 18
4: StackMap locals: int java.util.Map java.util.jar.JarEntry
StackMap stack:
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
astore 4
start local 4 5: aload 4
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 17
aload 4
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 17
6: aload 4
bipush 47
bipush 18
invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 7: iload 5
ifle 17
8: aload 4
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 9: aload 4
bipush 18
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7
start local 7 10: iload 7
iload 1
if_icmpgt 17
11: aload 2
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 8
start local 8 12: aload 8
ifnonnull 15
13: aload 2
aload 6
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: goto 17
15: StackMap locals: org.apache.tomcat.util.scan.AbstractInputStreamJar int java.util.Map java.util.jar.JarEntry java.lang.String int java.lang.String int java.lang.Integer
StackMap stack:
iload 7
aload 8
invokevirtual java.lang.Integer.intValue:()I
if_icmple 17
16: aload 2
aload 6
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 5 17: StackMap locals: org.apache.tomcat.util.scan.AbstractInputStreamJar int java.util.Map java.util.jar.JarEntry java.lang.String
StackMap stack:
aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
invokevirtual org.apache.tomcat.util.scan.NonClosingJarInputStream.getNextJarEntry:()Ljava/util/jar/JarEntry;
astore 3
end local 4 18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
19: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
20: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: org.apache.tomcat.util.scan.AbstractInputStreamJar int java.util.Map java.util.jar.JarEntry top java.util.Iterator
StackMap stack:
21: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 22: aload 0
getfield org.apache.tomcat.util.scan.AbstractInputStreamJar.mrMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
new java.lang.StringBuilder
dup
ldc "META-INF/versions/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
26: aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.closeStream:()V
27: aload 0
aload 0
invokevirtual org.apache.tomcat.util.scan.AbstractInputStreamJar.createJarInputStream:()Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
putfield org.apache.tomcat.util.scan.AbstractInputStreamJar.jarInputStream:Lorg/apache/tomcat/util/scan/NonClosingJarInputStream;
28: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/tomcat/util/scan/AbstractInputStreamJar;
1 29 1 targetVersion I
2 29 2 mrVersions Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
3 29 3 jarEntry Ljava/util/jar/JarEntry;
5 18 4 name Ljava/lang/String;
7 17 5 i I
9 17 6 baseName Ljava/lang/String;
10 17 7 version I
12 17 8 mappedVersion Ljava/lang/Integer;
22 25 4 mrVersion Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Integer;>;
Exceptions:
throws java.io.IOException
}
SourceFile: "AbstractInputStreamJar.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map