public abstract class org.aspectj.weaver.bcel.ExtensibleURLClassLoader extends java.net.URLClassLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.aspectj.weaver.bcel.ExtensibleURLClassLoader
  super_class: java.net.URLClassLoader
{
  private org.aspectj.weaver.bcel.ClassPathManager classPath;
    descriptor: Lorg/aspectj/weaver/bcel/ClassPathManager;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.net.URL[], java.lang.ClassLoader);
    descriptor: ([Ljava/net/URL;Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.net.URL[] urls
        start local 2 // java.lang.ClassLoader parent
         0: .line 32
            aload 0 /* this */
            aload 1 /* urls */
            aload 2 /* parent */
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
         1: .line 36
            aload 0 /* this */
            new org.aspectj.weaver.bcel.ClassPathManager
            dup
            aload 1 /* urls */
            invokestatic org.aspectj.util.FileUtil.makeClasspath:([Ljava/net/URL;)Ljava/util/List;
            aconst_null
            invokespecial org.aspectj.weaver.bcel.ClassPathManager.<init>:(Ljava/util/List;Lorg/aspectj/bridge/IMessageHandler;)V
            putfield org.aspectj.weaver.bcel.ExtensibleURLClassLoader.classPath:Lorg/aspectj/weaver/bcel/ClassPathManager;
         2: .line 37
            goto 6
      StackMap locals: org.aspectj.weaver.bcel.ExtensibleURLClassLoader java.net.URL[] java.lang.ClassLoader
      StackMap stack: java.lang.ExceptionInInitializerError
         3: astore 3 /* ex */
        start local 3 // java.lang.ExceptionInInitializerError ex
         4: .line 38
            aload 3 /* ex */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.ExceptionInInitializerError.printStackTrace:(Ljava/io/PrintStream;)V
         5: .line 39
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.ExceptionInInitializerError ex
         6: .line 41
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.ClassLoader parent
        end local 1 // java.net.URL[] urls
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0    7     1    urls  [Ljava/net/URL;
            0    7     2  parent  Ljava/lang/ClassLoader;
            4    6     3      ex  Ljava/lang/ExceptionInInitializerError;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ExceptionInInitializerError
    MethodParameters:
        Name  Flags
      urls    
      parent  

  protected void addURL(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.net.URL url
         0: .line 44
            aload 0 /* this */
            aload 1 /* url */
            invokespecial java.net.URLClassLoader.addURL:(Ljava/net/URL;)V
         1: .line 46
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.ExtensibleURLClassLoader.classPath:Lorg/aspectj/weaver/bcel/ClassPathManager;
            aload 1 /* url */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            aconst_null
            invokevirtual org.aspectj.weaver.bcel.ClassPathManager.addPath:(Ljava/lang/String;Lorg/aspectj/bridge/IMessageHandler;)V
         2: .line 47
            return
        end local 1 // java.net.URL url
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0    3     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  protected java.lang.Class findClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.lang.String name
         0: .line 52
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.getBytes:(Ljava/lang/String;)[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 53
            aload 2 /* bytes */
            ifnull 4
         2: .line 54
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* bytes */
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.defineClass:(Ljava/lang/String;[B)Ljava/lang/Class;
         3: areturn
         4: .line 56
      StackMap locals: byte[]
      StackMap stack:
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte[] bytes
         5: .line 58
      StackMap locals: org.aspectj.weaver.bcel.ExtensibleURLClassLoader java.lang.String
      StackMap stack: java.io.IOException
            pop
         6: .line 59
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0    7     1   name  Ljava/lang/String;
            1    5     2  bytes  [B
      Exception table:
        from    to  target  type
           0     3       5  Class java.io.IOException
           4     5       5  Class java.io.IOException
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.Class defineClass(java.lang.String, byte[], java.security.CodeSource);
    descriptor: (Ljava/lang/String;[BLjava/security/CodeSource;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] b
        start local 3 // java.security.CodeSource cs
         0: .line 65
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iconst_0
            aload 2 /* b */
            arraylength
            aload 3 /* cs */
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;
            areturn
        end local 3 // java.security.CodeSource cs
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0    1     1  name  Ljava/lang/String;
            0    1     2     b  [B
            0    1     3    cs  Ljava/security/CodeSource;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  
      b     
      cs    

  protected byte[] getBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.lang.String name
         0: .line 69
            aconst_null
            astore 2 /* b */
        start local 2 // byte[] b
         1: .line 70
            aconst_null
            astore 3 /* unresolvedType */
        start local 3 // org.aspectj.weaver.UnresolvedType unresolvedType
         2: .line 72
            aload 1 /* name */
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 3 /* unresolvedType */
         3: .line 73
            goto 8
      StackMap locals: org.aspectj.weaver.bcel.ExtensibleURLClassLoader java.lang.String byte[] org.aspectj.weaver.UnresolvedType
      StackMap stack: org.aspectj.weaver.BCException
         4: astore 4 /* bce */
        start local 4 // org.aspectj.weaver.BCException bce
         5: .line 74
            aload 4 /* bce */
            invokevirtual org.aspectj.weaver.BCException.getMessage:()Ljava/lang/String;
            ldc "nameToSignature"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 7
         6: .line 75
            aload 4 /* bce */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual org.aspectj.weaver.BCException.printStackTrace:(Ljava/io/PrintStream;)V
         7: .line 77
      StackMap locals: org.aspectj.weaver.BCException
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.aspectj.weaver.BCException bce
         8: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.ExtensibleURLClassLoader.classPath:Lorg/aspectj/weaver/bcel/ClassPathManager;
            aload 3 /* unresolvedType */
            invokevirtual org.aspectj.weaver.bcel.ClassPathManager.find:(Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/bcel/ClassPathManager$ClassFile;
            astore 4 /* classFile */
        start local 4 // org.aspectj.weaver.bcel.ClassPathManager$ClassFile classFile
         9: .line 80
            aload 4 /* classFile */
            ifnull 16
        10: .line 82
            aload 4 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.ClassPathManager$ClassFile.getInputStream:()Ljava/io/InputStream;
            invokestatic org.aspectj.util.FileUtil.readAsByteArray:(Ljava/io/InputStream;)[B
            astore 2 /* b */
        11: .line 83
            goto 15
      StackMap locals: org.aspectj.weaver.bcel.ExtensibleURLClassLoader java.lang.String byte[] org.aspectj.weaver.UnresolvedType org.aspectj.weaver.bcel.ClassPathManager$ClassFile
      StackMap stack: java.lang.Throwable
        12: astore 5
        13: .line 84
            aload 4 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.ClassPathManager$ClassFile.close:()V
        14: .line 85
            aload 5
            athrow
        15: .line 84
      StackMap locals:
      StackMap stack:
            aload 4 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.ClassPathManager$ClassFile.close:()V
        16: .line 87
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            areturn
        end local 4 // org.aspectj.weaver.bcel.ClassPathManager$ClassFile classFile
        end local 3 // org.aspectj.weaver.UnresolvedType unresolvedType
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0   17     1            name  Ljava/lang/String;
            1   17     2               b  [B
            2   17     3  unresolvedType  Lorg/aspectj/weaver/UnresolvedType;
            5    8     4             bce  Lorg/aspectj/weaver/BCException;
            9   17     4       classFile  Lorg/aspectj/weaver/bcel/ClassPathManager$ClassFile;
      Exception table:
        from    to  target  type
           2     3       4  Class org.aspectj.weaver.BCException
          10    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  private java.lang.Class defineClass(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] bytes
         0: .line 91
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.getPackageName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* packageName */
        start local 3 // java.lang.String packageName
         1: .line 92
            aload 3 /* packageName */
            ifnull 5
         2: .line 93
            aload 0 /* this */
            aload 3 /* packageName */
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 4 /* pakkage */
        start local 4 // java.lang.Package pakkage
         3: .line 94
            aload 4 /* pakkage */
            ifnonnull 5
         4: .line 95
            aload 0 /* this */
            aload 3 /* packageName */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.definePackage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
            pop
        end local 4 // java.lang.Package pakkage
         5: .line 99
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* bytes */
            aconst_null
            invokevirtual org.aspectj.weaver.bcel.ExtensibleURLClassLoader.defineClass:(Ljava/lang/String;[BLjava/security/CodeSource;)Ljava/lang/Class;
            areturn
        end local 3 // java.lang.String packageName
        end local 2 // byte[] bytes
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0    6     1         name  Ljava/lang/String;
            0    6     2        bytes  [B
            1    6     3  packageName  Ljava/lang/String;
            3    5     4      pakkage  Ljava/lang/Package;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      name   
      bytes  

  private java.lang.String getPackageName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
        start local 1 // java.lang.String className
         0: .line 103
            aload 1 /* className */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 104
            iload 2 /* offset */
            iconst_m1
            if_icmpne 2
            aconst_null
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* className */
            iconst_0
            iload 2 /* offset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 2 // int offset
        end local 1 // java.lang.String className
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
            0    4     1  className  Ljava/lang/String;
            1    4     2     offset  I
    MethodParameters:
           Name  Flags
      className  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
         0: .line 109
            aload 0 /* this */
            invokespecial java.net.URLClassLoader.close:()V
         1: .line 110
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.ExtensibleURLClassLoader.classPath:Lorg/aspectj/weaver/bcel/ClassPathManager;
            invokevirtual org.aspectj.weaver.bcel.ClassPathManager.closeArchives:()V
         2: .line 111
            return
        end local 0 // org.aspectj.weaver.bcel.ExtensibleURLClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/bcel/ExtensibleURLClassLoader;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "ExtensibleURLClassLoader.java"
InnerClasses:
  public abstract ClassFile = org.aspectj.weaver.bcel.ClassPathManager$ClassFile of org.aspectj.weaver.bcel.ClassPathManager