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"