class jdk.internal.loader.URLClassPath$JarLoader extends jdk.internal.loader.URLClassPath$Loader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.loader.URLClassPath$JarLoader
  super_class: jdk.internal.loader.URLClassPath$Loader
{
  private java.util.jar.JarFile jar;
    descriptor: Ljava/util/jar/JarFile;
    flags: (0x0002) ACC_PRIVATE

  private final java.net.URL csu;
    descriptor: Ljava/net/URL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private jdk.internal.util.jar.JarIndex index;
    descriptor: Ljdk/internal/util/jar/JarIndex;
    flags: (0x0002) ACC_PRIVATE

  private java.net.URLStreamHandler handler;
    descriptor: Ljava/net/URLStreamHandler;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.HashMap<java.lang.String, jdk.internal.loader.URLClassPath$Loader> lmap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljdk/internal/loader/URLClassPath$Loader;>;

  private final java.security.AccessControlContext acc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final jdk.internal.misc.JavaUtilZipFileAccess zipAccess;
    descriptor: Ljdk/internal/misc/JavaUtilZipFileAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 701
            invokestatic jdk.internal.misc.SharedSecrets.getJavaUtilZipFileAccess:()Ljdk/internal/misc/JavaUtilZipFileAccess;
         1: .line 700
            putstatic jdk.internal.loader.URLClassPath$JarLoader.zipAccess:Ljdk/internal/misc/JavaUtilZipFileAccess;
         2: .line 701
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.net.URL, java.net.URLStreamHandler, java.util.HashMap<java.lang.String, jdk.internal.loader.URLClassPath$Loader>, java.security.AccessControlContext);
    descriptor: (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;Ljava/security/AccessControlContext;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
        start local 2 // java.net.URLStreamHandler jarHandler
        start local 3 // java.util.HashMap loaderMap
        start local 4 // java.security.AccessControlContext acc
         0: .line 712
            aload 0 /* this */
            new java.net.URL
            dup
            ldc "jar"
            ldc ""
            iconst_m1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "!/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* jarHandler */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
            invokespecial jdk.internal.loader.URLClassPath$Loader.<init>:(Ljava/net/URL;)V
         1: .line 699
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.loader.URLClassPath$JarLoader.closed:Z
         2: .line 713
            aload 0 /* this */
            aload 1 /* url */
            putfield jdk.internal.loader.URLClassPath$JarLoader.csu:Ljava/net/URL;
         3: .line 714
            aload 0 /* this */
            aload 2 /* jarHandler */
            putfield jdk.internal.loader.URLClassPath$JarLoader.handler:Ljava/net/URLStreamHandler;
         4: .line 715
            aload 0 /* this */
            aload 3 /* loaderMap */
            putfield jdk.internal.loader.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
         5: .line 716
            aload 0 /* this */
            aload 4 /* acc */
            putfield jdk.internal.loader.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
         6: .line 718
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.ensureOpen:()V
         7: .line 719
            return
        end local 4 // java.security.AccessControlContext acc
        end local 3 // java.util.HashMap loaderMap
        end local 2 // java.net.URLStreamHandler jarHandler
        end local 1 // java.net.URL url
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0    8     1         url  Ljava/net/URL;
            0    8     2  jarHandler  Ljava/net/URLStreamHandler;
            0    8     3   loaderMap  Ljava/util/HashMap<Ljava/lang/String;Ljdk/internal/loader/URLClassPath$Loader;>;
            0    8     4         acc  Ljava/security/AccessControlContext;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap<Ljava/lang/String;Ljdk/internal/loader/URLClassPath$Loader;>;Ljava/security/AccessControlContext;)V
    MethodParameters:
            Name  Flags
      url         
      jarHandler  
      loaderMap   
      acc         

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
         0: .line 724
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.closed:Z
            ifne 4
         1: .line 725
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.loader.URLClassPath$JarLoader.closed:Z
         2: .line 727
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.ensureOpen:()V
         3: .line 728
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
         4: .line 730
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/internal/loader/URLClassPath$JarLoader;
    Exceptions:
      throws java.io.IOException

  java.util.jar.JarFile getJarFile();
    descriptor: ()Ljava/util/jar/JarFile;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
         0: .line 733
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            areturn
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/loader/URLClassPath$JarLoader;

  private boolean isOptimizable(java.net.URL);
    descriptor: (Ljava/net/URL;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
         0: .line 737
            ldc "file"
            aload 1 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.net.URL url
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
         0: .line 741
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            ifnonnull 7
         1: .line 744
            new jdk.internal.loader.URLClassPath$JarLoader$1
            dup
            aload 0 /* this */
            invokespecial jdk.internal.loader.URLClassPath$JarLoader$1.<init>:(Ljdk/internal/loader/URLClassPath$JarLoader;)V
         2: .line 775
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
         3: .line 743
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         4: .line 776
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 777
            aload 1 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 1 // java.security.PrivilegedActionException pae
         7: .line 780
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/internal/loader/URLClassPath$JarLoader;
            6    7     1   pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException

  static java.util.jar.JarFile checkJar(java.util.jar.JarFile);
    descriptor: (Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.jar.JarFile jar
         0: .line 784
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 8
            getstatic jdk.internal.loader.URLClassPath.DISABLE_JAR_CHECKING:Z
            ifne 8
         1: .line 785
            getstatic jdk.internal.loader.URLClassPath$JarLoader.zipAccess:Ljdk/internal/misc/JavaUtilZipFileAccess;
            aload 0 /* jar */
            invokeinterface jdk.internal.misc.JavaUtilZipFileAccess.startsWithLocHeader:(Ljava/util/zip/ZipFile;)Z
            ifne 8
         2: .line 786
            new java.io.IOException
            dup
            ldc "Invalid Jar file"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 1 /* x */
        start local 1 // java.io.IOException x
         3: .line 788
            aload 0 /* jar */
            invokevirtual java.util.jar.JarFile.close:()V
         4: .line 789
            goto 7
      StackMap locals: java.util.jar.JarFile java.io.IOException
      StackMap stack: java.io.IOException
         5: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         6: .line 790
            aload 1 /* x */
            aload 2 /* ex */
            invokevirtual java.io.IOException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException ex
         7: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            athrow
        end local 1 // java.io.IOException x
         8: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* jar */
            areturn
        end local 0 // java.util.jar.JarFile jar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   jar  Ljava/util/jar/JarFile;
            3    8     1     x  Ljava/io/IOException;
            6    7     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      jar   

  private java.util.jar.JarFile getJarFile(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/jar/JarFile;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
         0: .line 800
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.isOptimizable:(Ljava/net/URL;)Z
            ifeq 7
         1: .line 801
            new jdk.internal.loader.FileURLMapper
            dup
            aload 1 /* url */
            invokespecial jdk.internal.loader.FileURLMapper.<init>:(Ljava/net/URL;)V
            astore 2 /* p */
        start local 2 // jdk.internal.loader.FileURLMapper p
         2: .line 802
            aload 2 /* p */
            invokevirtual jdk.internal.loader.FileURLMapper.exists:()Z
            ifne 4
         3: .line 803
            new java.io.FileNotFoundException
            dup
            aload 2 /* p */
            invokevirtual jdk.internal.loader.FileURLMapper.getPath:()Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 805
      StackMap locals: jdk.internal.loader.FileURLMapper
      StackMap stack:
            new java.util.jar.JarFile
            dup
            new java.io.File
            dup
            aload 2 /* p */
            invokevirtual jdk.internal.loader.FileURLMapper.getPath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            iconst_1
            iconst_1
         5: .line 806
            invokestatic java.util.jar.JarFile.runtimeVersion:()Ljava/lang/Runtime$Version;
         6: .line 805
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZILjava/lang/Runtime$Version;)V
            invokestatic jdk.internal.loader.URLClassPath$JarLoader.checkJar:(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
            areturn
        end local 2 // jdk.internal.loader.FileURLMapper p
         7: .line 808
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getBaseURL:()Ljava/net/URL;
            ldc "#runtime"
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 2 /* uc */
        start local 2 // java.net.URLConnection uc
         8: .line 809
            aload 2 /* uc */
            ldc "UA-Java-Version"
            getstatic jdk.internal.loader.URLClassPath.JAVA_VERSION:Ljava/lang/String;
            invokevirtual java.net.URLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 810
            aload 2 /* uc */
            checkcast java.net.JarURLConnection
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            astore 3 /* jarFile */
        start local 3 // java.util.jar.JarFile jarFile
        10: .line 811
            aload 3 /* jarFile */
            invokestatic jdk.internal.loader.URLClassPath$JarLoader.checkJar:(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
            areturn
        end local 3 // java.util.jar.JarFile jarFile
        end local 2 // java.net.URLConnection uc
        end local 1 // java.net.URL url
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0   11     1      url  Ljava/net/URL;
            2    7     2        p  Ljdk/internal/loader/FileURLMapper;
            8   11     2       uc  Ljava/net/URLConnection;
           10   11     3  jarFile  Ljava/util/jar/JarFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  jdk.internal.util.jar.JarIndex getIndex();
    descriptor: ()Ljdk/internal/util/jar/JarIndex;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
         0: .line 819
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.ensureOpen:()V
         1: .line 820
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 821
            new java.lang.InternalError
            dup
            aload 1 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
         4: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.index:Ljdk/internal/util/jar/JarIndex;
            areturn
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/internal/loader/URLClassPath$JarLoader;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  jdk.internal.loader.Resource checkResource(java.lang.String, boolean, java.util.jar.JarEntry);
    descriptor: (Ljava/lang/String;ZLjava/util/jar/JarEntry;)Ljdk/internal/loader/Resource;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
        start local 3 // java.util.jar.JarEntry entry
         0: .line 836
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
            ifeq 3
         1: .line 837
            aload 3 /* entry */
            invokevirtual java.util.jar.JarEntry.getRealName:()Ljava/lang/String;
            astore 5 /* nm */
        start local 5 // java.lang.String nm
         2: .line 838
            goto 4
        end local 5 // java.lang.String nm
         3: .line 839
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            astore 5 /* nm */
        start local 5 // java.lang.String nm
         4: .line 841
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.jar.JarEntry top java.lang.String
      StackMap stack:
            new java.net.URL
            dup
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getBaseURL:()Ljava/net/URL;
            aload 5 /* nm */
            iconst_0
            invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 4 /* url */
        start local 4 // java.net.URL url
         5: .line 842
            iload 2 /* check */
            ifeq 14
         6: .line 843
            aload 4 /* url */
            invokestatic jdk.internal.loader.URLClassPath.check:(Ljava/net/URL;)V
        end local 5 // java.lang.String nm
         7: .line 845
            goto 14
        end local 4 // java.net.URL url
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.jar.JarEntry
      StackMap stack: java.net.MalformedURLException
         8: pop
         9: .line 846
            aconst_null
            areturn
        10: .line 848
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        11: .line 849
            aconst_null
            areturn
        12: .line 850
      StackMap locals:
      StackMap stack: java.security.AccessControlException
            pop
        13: .line 851
            aconst_null
            areturn
        start local 4 // java.net.URL url
        14: .line 854
      StackMap locals: java.net.URL
      StackMap stack:
            new jdk.internal.loader.URLClassPath$JarLoader$2
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 4 /* url */
            aload 3 /* entry */
            invokespecial jdk.internal.loader.URLClassPath$JarLoader$2.<init>:(Ljdk/internal/loader/URLClassPath$JarLoader;Ljava/lang/String;Ljava/net/URL;Ljava/util/jar/JarEntry;)V
            areturn
        end local 4 // java.net.URL url
        end local 3 // java.util.jar.JarEntry entry
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0   15     1   name  Ljava/lang/String;
            0   15     2  check  Z
            0   15     3  entry  Ljava/util/jar/JarEntry;
            5    8     4    url  Ljava/net/URL;
           14   15     4    url  Ljava/net/URL;
            2    3     5     nm  Ljava/lang/String;
            4    7     5     nm  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     7       8  Class java.net.MalformedURLException
           0     7      10  Class java.io.IOException
           0     7      12  Class java.security.AccessControlException
    MethodParameters:
       Name  Flags
      name   final
      check  
      entry  final

  boolean validIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
         0: .line 877
            aload 1 /* name */
            astore 2 /* packageName */
        start local 2 // java.lang.String packageName
         1: .line 879
            aload 1 /* name */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            dup
            istore 3 /* pos */
        start local 3 // int pos
         2: iconst_m1
            if_icmpeq 4
         3: .line 880
            aload 1 /* name */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* packageName */
         4: .line 885
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
         5: .line 886
            goto 12
         6: .line 887
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String java.lang.String int top top java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            astore 5 /* entry */
        start local 5 // java.util.zip.ZipEntry entry
         7: .line 888
            aload 5 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 4 /* entryName */
        start local 4 // java.lang.String entryName
         8: .line 889
            aload 4 /* entryName */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            dup
            istore 3 /* pos */
            iconst_m1
            if_icmpeq 10
         9: .line 890
            aload 4 /* entryName */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* entryName */
        10: .line 891
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String java.lang.String int java.lang.String java.util.zip.ZipEntry java.util.Enumeration
      StackMap stack:
            aload 4 /* entryName */
            aload 2 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 892
            iconst_1
            ireturn
        end local 5 // java.util.zip.ZipEntry entry
        end local 4 // java.lang.String entryName
        12: .line 886
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String java.lang.String int top top java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        13: .line 895
            iconst_0
            ireturn
        end local 6 // java.util.Enumeration enum_
        end local 3 // int pos
        end local 2 // java.lang.String packageName
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0   14     1         name  Ljava/lang/String;
            1   14     2  packageName  Ljava/lang/String;
            2   14     3          pos  I
            8   12     4    entryName  Ljava/lang/String;
            7   12     5        entry  Ljava/util/zip/ZipEntry;
            5   14     6        enum_  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
    MethodParameters:
      Name  Flags
      name  final

  java.net.URL findResource(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
         0: .line 903
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getResource:(Ljava/lang/String;Z)Ljdk/internal/loader/Resource;
            astore 3 /* rsc */
        start local 3 // jdk.internal.loader.Resource rsc
         1: .line 904
            aload 3 /* rsc */
            ifnull 3
         2: .line 905
            aload 3 /* rsc */
            invokevirtual jdk.internal.loader.Resource.getURL:()Ljava/net/URL;
            areturn
         3: .line 907
      StackMap locals: jdk.internal.loader.Resource
      StackMap stack:
            aconst_null
            areturn
        end local 3 // jdk.internal.loader.Resource rsc
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0    4     1   name  Ljava/lang/String;
            0    4     2  check  Z
            1    4     3    rsc  Ljdk/internal/loader/Resource;
    MethodParameters:
       Name  Flags
      name   final
      check  

  jdk.internal.loader.Resource getResource(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljdk/internal/loader/Resource;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
         0: .line 916
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.ensureOpen:()V
         1: .line 917
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 918
            new java.lang.InternalError
            dup
            aload 3 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
         4: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 3 /* entry */
        start local 3 // java.util.jar.JarEntry entry
         5: .line 921
            aload 3 /* entry */
            ifnull 7
         6: .line 922
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            aload 3 /* entry */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.checkResource:(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Ljdk/internal/loader/Resource;
            areturn
         7: .line 924
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.index:Ljdk/internal/util/jar/JarIndex;
            ifnonnull 9
         8: .line 925
            aconst_null
            areturn
         9: .line 927
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* visited */
        start local 4 // java.util.HashSet visited
        10: .line 928
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            aload 4 /* visited */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getResource:(Ljava/lang/String;ZLjava/util/Set;)Ljdk/internal/loader/Resource;
            areturn
        end local 4 // java.util.HashSet visited
        end local 3 // java.util.jar.JarEntry entry
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0   11     1     name  Ljava/lang/String;
            0   11     2    check  Z
            3    4     3        e  Ljava/io/IOException;
            5   11     3    entry  Ljava/util/jar/JarEntry;
           10   11     4  visited  Ljava/util/HashSet<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
       Name  Flags
      name   final
      check  

  jdk.internal.loader.Resource getResource(java.lang.String, boolean, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;ZLjava/util/Set;)Ljdk/internal/loader/Resource;
    flags: (0x0000) 
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
        start local 3 // java.util.Set visited
         0: .line 942
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         1: .line 943
            aconst_null
            astore 7 /* jarFilesList */
        start local 7 // java.util.LinkedList jarFilesList
         2: .line 948
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.index:Ljdk/internal/util/jar/JarIndex;
            aload 1 /* name */
            invokevirtual jdk.internal.util.jar.JarIndex.get:(Ljava/lang/String;)Ljava/util/LinkedList;
            dup
            astore 7 /* jarFilesList */
            ifnonnull 4
         3: .line 949
            aconst_null
            areturn
         4: .line 952
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top top int java.util.LinkedList
      StackMap stack:
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.size:()I
            istore 8 /* size */
        start local 8 // int size
         5: .line 953
            aload 7 /* jarFilesList */
            iload 8 /* size */
            anewarray java.lang.String
            invokevirtual java.util.LinkedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* jarFiles */
        start local 5 // java.lang.String[] jarFiles
         6: .line 955
            goto 47
         7: .line 956
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int
      StackMap stack:
            aload 5 /* jarFiles */
            iload 6 /* count */
            iinc 6 /* count */ 1
            aaload
            astore 9 /* jarName */
        start local 9 // java.lang.String jarName
         8: .line 961
            new java.net.URL
            dup
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.csu:Ljava/net/URL;
            aload 9 /* jarName */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 11 /* url */
        start local 11 // java.net.URL url
         9: .line 962
            aload 11 /* url */
            invokestatic sun.net.util.URLUtil.urlNoFragString:(Ljava/net/URL;)Ljava/lang/String;
            astore 12 /* urlNoFragString */
        start local 12 // java.lang.String urlNoFragString
        10: .line 963
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
            aload 12 /* urlNoFragString */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.loader.URLClassPath$JarLoader
            dup
            astore 10 /* newLoader */
        start local 10 // jdk.internal.loader.URLClassPath$JarLoader newLoader
        11: ifnonnull 28
        12: .line 968
            new jdk.internal.loader.URLClassPath$JarLoader$3
            dup
            aload 0 /* this */
            aload 11 /* url */
            invokespecial jdk.internal.loader.URLClassPath$JarLoader$3.<init>:(Ljdk/internal/loader/URLClassPath$JarLoader;Ljava/net/URL;)V
        13: .line 973
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
        14: .line 967
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast jdk.internal.loader.URLClassPath$JarLoader
            astore 10 /* newLoader */
        15: .line 979
            aload 10 /* newLoader */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getIndex:()Ljdk/internal/util/jar/JarIndex;
            astore 13 /* newIndex */
        start local 13 // jdk.internal.util.jar.JarIndex newIndex
        16: .line 980
            aload 13 /* newIndex */
            ifnull 22
        17: .line 981
            aload 9 /* jarName */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 14 /* pos */
        start local 14 // int pos
        18: .line 982
            aload 13 /* newIndex */
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.index:Ljdk/internal/util/jar/JarIndex;
            iload 14 /* pos */
            iconst_m1
            if_icmpne 20
        19: .line 983
            aconst_null
            goto 21
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String jdk.internal.loader.URLClassPath$JarLoader java.net.URL java.lang.String jdk.internal.util.jar.JarIndex int
      StackMap stack: jdk.internal.util.jar.JarIndex jdk.internal.util.jar.JarIndex
        20: aload 9 /* jarName */
            iconst_0
            iload 14 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        21: .line 982
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String jdk.internal.loader.URLClassPath$JarLoader java.net.URL java.lang.String jdk.internal.util.jar.JarIndex int
      StackMap stack: jdk.internal.util.jar.JarIndex jdk.internal.util.jar.JarIndex java.lang.String
            invokevirtual jdk.internal.util.jar.JarIndex.merge:(Ljdk/internal/util/jar/JarIndex;Ljava/lang/String;)V
        end local 14 // int pos
        22: .line 987
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
            aload 12 /* urlNoFragString */
            aload 10 /* newLoader */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // jdk.internal.util.jar.JarIndex newIndex
        end local 12 // java.lang.String urlNoFragString
        23: .line 989
            goto 28
        end local 11 // java.net.URL url
        end local 10 // jdk.internal.loader.URLClassPath$JarLoader newLoader
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String
      StackMap stack: java.security.PrivilegedActionException
        24: pop
        25: .line 990
            goto 47
        26: .line 991
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        27: .line 992
            goto 47
        start local 10 // jdk.internal.loader.URLClassPath$JarLoader newLoader
        start local 11 // java.net.URL url
        28: .line 998
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.net.URL
      StackMap stack:
            aload 3 /* visited */
            aload 11 /* url */
            invokestatic sun.net.util.URLUtil.urlNoFragString:(Ljava/net/URL;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 29
            iconst_0
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 12 /* visitedURL */
        start local 12 // boolean visitedURL
        31: .line 999
            iload 12 /* visitedURL */
            ifne 41
        32: .line 1001
            aload 10 /* newLoader */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.ensureOpen:()V
        33: .line 1002
            goto 36
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String jdk.internal.loader.URLClassPath$JarLoader java.net.URL int
      StackMap stack: java.io.IOException
        34: astore 13 /* e */
        start local 13 // java.io.IOException e
        35: .line 1003
            new java.lang.InternalError
            dup
            aload 13 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.io.IOException e
        36: .line 1005
      StackMap locals:
      StackMap stack:
            aload 10 /* newLoader */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 13 /* entry */
        start local 13 // java.util.jar.JarEntry entry
        37: .line 1006
            aload 13 /* entry */
            ifnull 39
        38: .line 1007
            aload 10 /* newLoader */
            aload 1 /* name */
            iload 2 /* check */
            aload 13 /* entry */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.checkResource:(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Ljdk/internal/loader/Resource;
            areturn
        39: .line 1014
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 10 /* newLoader */
            aload 1 /* name */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.validIndex:(Ljava/lang/String;)Z
            ifne 41
        40: .line 1016
            new jdk.internal.util.jar.InvalidJarIndexError
            dup
            ldc "Invalid index"
            invokespecial jdk.internal.util.jar.InvalidJarIndexError.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.util.jar.JarEntry entry
        41: .line 1025
      StackMap locals:
      StackMap stack:
            iload 12 /* visitedURL */
            ifne 47
            aload 10 /* newLoader */
            aload 0 /* this */
            if_acmpeq 47
        42: .line 1026
            aload 10 /* newLoader */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getIndex:()Ljdk/internal/util/jar/JarIndex;
            ifnonnull 44
        43: .line 1027
            goto 47
        44: .line 1032
      StackMap locals:
      StackMap stack:
            aload 10 /* newLoader */
            aload 1 /* name */
            iload 2 /* check */
            aload 3 /* visited */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.getResource:(Ljava/lang/String;ZLjava/util/Set;)Ljdk/internal/loader/Resource;
            dup
            astore 4 /* res */
        start local 4 // jdk.internal.loader.Resource res
        45: ifnull 47
        46: .line 1034
            aload 4 /* res */
            areturn
        end local 12 // boolean visitedURL
        end local 11 // java.net.URL url
        end local 10 // jdk.internal.loader.URLClassPath$JarLoader newLoader
        end local 9 // java.lang.String jarName
        end local 4 // jdk.internal.loader.Resource res
        47: .line 955
      StackMap locals: jdk.internal.loader.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int
      StackMap stack:
            iload 6 /* count */
            iload 8 /* size */
            if_icmplt 7
        48: .line 1039
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.index:Ljdk/internal/util/jar/JarIndex;
            aload 1 /* name */
            invokevirtual jdk.internal.util.jar.JarIndex.get:(Ljava/lang/String;)Ljava/util/LinkedList;
            astore 7 /* jarFilesList */
        end local 8 // int size
        49: .line 1042
            iload 6 /* count */
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.size:()I
        50: .line 951
            if_icmplt 4
        51: .line 1043
            aconst_null
            areturn
        end local 7 // java.util.LinkedList jarFilesList
        end local 6 // int count
        end local 5 // java.lang.String[] jarFiles
        end local 3 // java.util.Set visited
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   52     0             this  Ljdk/internal/loader/URLClassPath$JarLoader;
            0   52     1             name  Ljava/lang/String;
            0   52     2            check  Z
            0   52     3          visited  Ljava/util/Set<Ljava/lang/String;>;
           45   47     4              res  Ljdk/internal/loader/Resource;
            6   52     5         jarFiles  [Ljava/lang/String;
            1   52     6            count  I
            2   52     7     jarFilesList  Ljava/util/LinkedList<Ljava/lang/String;>;
            5   49     8             size  I
            8   47     9          jarName  Ljava/lang/String;
           11   24    10        newLoader  Ljdk/internal/loader/URLClassPath$JarLoader;
           28   47    10        newLoader  Ljdk/internal/loader/URLClassPath$JarLoader;
            9   24    11              url  Ljava/net/URL;
           28   47    11              url  Ljava/net/URL;
           10   23    12  urlNoFragString  Ljava/lang/String;
           16   23    13         newIndex  Ljdk/internal/util/jar/JarIndex;
           18   22    14              pos  I
           31   47    12       visitedURL  Z
           35   36    13                e  Ljava/io/IOException;
           37   41    13            entry  Ljava/util/jar/JarEntry;
      Exception table:
        from    to  target  type
           8    23      24  Class java.security.PrivilegedActionException
           8    23      26  Class java.net.MalformedURLException
          32    33      34  Class java.io.IOException
    Signature: (Ljava/lang/String;ZLjava/util/Set<Ljava/lang/String;>;)Ljdk/internal/loader/Resource;
    MethodParameters:
         Name  Flags
      name     final
      check    
      visited  

  java.net.URL[] getClassPath();
    descriptor: ()[Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // jdk.internal.loader.URLClassPath$JarLoader this
         0: .line 1052
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.index:Ljdk/internal/util/jar/JarIndex;
            ifnull 2
         1: .line 1053
            aconst_null
            areturn
         2: .line 1056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.loader.URLClassPath$JarLoader.ensureOpen:()V
         3: .line 1059
            invokestatic jdk.internal.misc.SharedSecrets.javaUtilJarAccess:()Ljdk/internal/misc/JavaUtilJarAccess;
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokeinterface jdk.internal.misc.JavaUtilJarAccess.jarFileHasClassPathAttribute:(Ljava/util/jar/JarFile;)Z
            ifeq 11
         4: .line 1060
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 1 /* man */
        start local 1 // java.util.jar.Manifest man
         5: .line 1061
            aload 1 /* man */
            ifnull 11
         6: .line 1062
            aload 1 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* attr */
        start local 2 // java.util.jar.Attributes attr
         7: .line 1063
            aload 2 /* attr */
            ifnull 11
         8: .line 1064
            aload 2 /* attr */
            getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         9: .line 1065
            aload 3 /* value */
            ifnull 11
        10: .line 1066
            aload 0 /* this */
            getfield jdk.internal.loader.URLClassPath$JarLoader.csu:Ljava/net/URL;
            aload 3 /* value */
            invokestatic jdk.internal.loader.URLClassPath$JarLoader.parseClassPath:(Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
            areturn
        end local 3 // java.lang.String value
        end local 2 // java.util.jar.Attributes attr
        end local 1 // java.util.jar.Manifest man
        11: .line 1071
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // jdk.internal.loader.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljdk/internal/loader/URLClassPath$JarLoader;
            5   11     1    man  Ljava/util/jar/Manifest;
            7   11     2   attr  Ljava/util/jar/Attributes;
            9   11     3  value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private static java.net.URL[] parseClassPath(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // java.net.URL base
        start local 1 // java.lang.String value
         0: .line 1081
            new java.util.StringTokenizer
            dup
            aload 1 /* value */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         1: .line 1082
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            anewarray java.net.URL
            astore 3 /* urls */
        start local 3 // java.net.URL[] urls
         2: .line 1083
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: .line 1084
            goto 7
         4: .line 1085
      StackMap locals: java.util.StringTokenizer java.net.URL[] int
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
         5: .line 1086
            aload 3 /* urls */
            iload 4 /* i */
            new java.net.URL
            dup
            aload 0 /* base */
            aload 5 /* path */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            aastore
         6: .line 1087
            iinc 4 /* i */ 1
        end local 5 // java.lang.String path
         7: .line 1084
      StackMap locals:
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
         8: .line 1089
            aload 3 /* urls */
            areturn
        end local 4 // int i
        end local 3 // java.net.URL[] urls
        end local 2 // java.util.StringTokenizer st
        end local 1 // java.lang.String value
        end local 0 // java.net.URL base
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   base  Ljava/net/URL;
            0    9     1  value  Ljava/lang/String;
            1    9     2     st  Ljava/util/StringTokenizer;
            2    9     3   urls  [Ljava/net/URL;
            3    9     4      i  I
            5    7     5   path  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
       Name  Flags
      base   
      value  
}
SourceFile: "URLClassPath.java"
NestHost: jdk.internal.loader.URLClassPath
InnerClasses:
  public final Version = java.lang.Runtime$Version of java.lang.Runtime
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  JarLoader = jdk.internal.loader.URLClassPath$JarLoader of jdk.internal.loader.URLClassPath
  jdk.internal.loader.URLClassPath$JarLoader$1
  jdk.internal.loader.URLClassPath$JarLoader$2
  jdk.internal.loader.URLClassPath$JarLoader$3
  private Loader = jdk.internal.loader.URLClassPath$Loader of jdk.internal.loader.URLClassPath