class org.aspectj.apache.bcel.util.ClassPath$JImage extends org.aspectj.apache.bcel.util.ClassPath$PathEntry
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.aspectj.apache.bcel.util.ClassPath$JImage
  super_class: org.aspectj.apache.bcel.util.ClassPath$PathEntry
{
  private static java.net.URI JRT_URI;
    descriptor: Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String MODULES_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String JAVA_BASE_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.nio.file.FileSystem fs;
    descriptor: Ljava/nio/file/FileSystem;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.String, java.nio.file.Path> fileMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/nio/file/Path;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 444
            ldc "jrt:/"
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            putstatic org.aspectj.apache.bcel.util.ClassPath$JImage.JRT_URI:Ljava/net/URI;
         1: .line 445
            ldc "modules"
            putstatic org.aspectj.apache.bcel.util.ClassPath$JImage.MODULES_PATH:Ljava/lang/String;
         2: .line 446
            ldc "java.base"
            putstatic org.aspectj.apache.bcel.util.ClassPath$JImage.JAVA_BASE_PATH:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.aspectj.apache.bcel.util.ClassPath$JImage this
         0: .line 451
            aload 0 /* this */
            invokespecial org.aspectj.apache.bcel.util.ClassPath$PathEntry.<init>:()V
         1: .line 452
            aload 0 /* this */
            getstatic org.aspectj.apache.bcel.util.ClassPath$JImage.JRT_URI:Ljava/net/URI;
            invokestatic java.nio.file.FileSystems.getFileSystem:(Ljava/net/URI;)Ljava/nio/file/FileSystem;
            putfield org.aspectj.apache.bcel.util.ClassPath$JImage.fs:Ljava/nio/file/FileSystem;
         2: .line 453
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.aspectj.apache.bcel.util.ClassPath$JImage.buildFileMap:()Ljava/util/Map;
            putfield org.aspectj.apache.bcel.util.ClassPath$JImage.fileMap:Ljava/util/Map;
         3: .line 454
            return
        end local 0 // org.aspectj.apache.bcel.util.ClassPath$JImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/apache/bcel/util/ClassPath$JImage;

  private java.util.Map<java.lang.String, java.nio.file.Path> buildFileMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.aspectj.apache.bcel.util.ClassPath$JImage this
         0: .line 457
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* fileMap */
        start local 1 // java.util.Map fileMap
         1: .line 458
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.util.ClassPath$JImage.fs:Ljava/nio/file/FileSystem;
            ldc "glob:*.class"
            invokevirtual java.nio.file.FileSystem.getPathMatcher:(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
            astore 2 /* matcher */
        start local 2 // java.nio.file.PathMatcher matcher
         2: .line 459
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.util.ClassPath$JImage.fs:Ljava/nio/file/FileSystem;
            invokevirtual java.nio.file.FileSystem.getRootDirectories:()Ljava/lang/Iterable;
            astore 3 /* roots */
        start local 3 // java.lang.Iterable roots
         3: .line 460
            aload 3 /* roots */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.aspectj.apache.bcel.util.ClassPath$JImage java.util.Map java.nio.file.PathMatcher java.lang.Iterable top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 4 /* path */
        start local 4 // java.nio.file.Path path
         5: .line 462
            aload 4 /* path */
            new org.aspectj.apache.bcel.util.ClassPath$JImage$1
            dup
            aload 0 /* this */
            aload 2 /* matcher */
            aload 1 /* fileMap */
            invokespecial org.aspectj.apache.bcel.util.ClassPath$JImage$1.<init>:(Lorg/aspectj/apache/bcel/util/ClassPath$JImage;Ljava/nio/file/PathMatcher;Ljava/util/Map;)V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
         6: .line 474
            goto 9
         7: .line 475
      StackMap locals: org.aspectj.apache.bcel.util.ClassPath$JImage java.util.Map java.nio.file.PathMatcher java.lang.Iterable java.nio.file.Path java.util.Iterator
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
         8: .line 476
            new java.lang.RuntimeException
            dup
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
        end local 4 // java.nio.file.Path path
         9: .line 460
      StackMap locals: org.aspectj.apache.bcel.util.ClassPath$JImage java.util.Map java.nio.file.PathMatcher java.lang.Iterable top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 479
            aload 1 /* fileMap */
            areturn
        end local 3 // java.lang.Iterable roots
        end local 2 // java.nio.file.PathMatcher matcher
        end local 1 // java.util.Map fileMap
        end local 0 // org.aspectj.apache.bcel.util.ClassPath$JImage this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/aspectj/apache/bcel/util/ClassPath$JImage;
            1   11     1  fileMap  Ljava/util/Map<Ljava/lang/String;Ljava/nio/file/Path;>;
            2   11     2  matcher  Ljava/nio/file/PathMatcher;
            3   11     3    roots  Ljava/lang/Iterable<Ljava/nio/file/Path;>;
            5    9     4     path  Ljava/nio/file/Path;
            8    9     6        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/nio/file/Path;>;

  org.aspectj.apache.bcel.util.ClassPath$ClassFile getClassFile(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/apache/bcel/util/ClassPath$ClassFile;
    flags: (0x0000) 
    Code:
      stack=9, locals=13, args_size=3
        start local 0 // org.aspectj.apache.bcel.util.ClassPath$JImage this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String suffix
         0: .line 533
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* fileName */
        start local 3 // java.lang.String fileName
         1: .line 534
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.util.ClassPath$JImage.fileMap:Ljava/util/Map;
            aload 3 /* fileName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 4 /* p */
        start local 4 // java.nio.file.Path p
         2: .line 535
            aload 4 /* p */
            ifnonnull 4
         3: .line 536
            aconst_null
            areturn
         4: .line 538
      StackMap locals: java.lang.String java.nio.file.Path
      StackMap stack:
            aload 4 /* p */
            invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
            astore 5 /* bs */
        start local 5 // byte[] bs
         5: .line 539
            aload 4 /* p */
            ldc Ljava/nio/file/attribute/BasicFileAttributeView;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.getFileAttributeView:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
            checkcast java.nio.file.attribute.BasicFileAttributeView
            astore 6 /* bfav */
        start local 6 // java.nio.file.attribute.BasicFileAttributeView bfav
         6: .line 540
            aload 6 /* bfav */
            invokeinterface java.nio.file.attribute.BasicFileAttributeView.readAttributes:()Ljava/nio/file/attribute/BasicFileAttributes;
            astore 7 /* bfas */
        start local 7 // java.nio.file.attribute.BasicFileAttributes bfas
         7: .line 541
            aload 7 /* bfas */
            invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            invokevirtual java.nio.file.attribute.FileTime.toMillis:()J
            lstore 8 /* time */
        start local 8 // long time
         8: .line 542
            aload 7 /* bfas */
            invokeinterface java.nio.file.attribute.BasicFileAttributes.size:()J
            lstore 10 /* size */
        start local 10 // long size
         9: .line 543
            new org.aspectj.apache.bcel.util.ClassPath$JImage$ByteBasedClassFile
            dup
            aload 5 /* bs */
            ldc "jimage"
            aload 3 /* fileName */
            lload 8 /* time */
            lload 10 /* size */
            invokespecial org.aspectj.apache.bcel.util.ClassPath$JImage$ByteBasedClassFile.<init>:([BLjava/lang/String;Ljava/lang/String;JJ)V
            astore 12 /* cf */
        start local 12 // org.aspectj.apache.bcel.util.ClassPath$ClassFile cf
        10: .line 544
            aload 12 /* cf */
            areturn
        end local 12 // org.aspectj.apache.bcel.util.ClassPath$ClassFile cf
        end local 10 // long size
        end local 8 // long time
        end local 7 // java.nio.file.attribute.BasicFileAttributes bfas
        end local 6 // java.nio.file.attribute.BasicFileAttributeView bfav
        end local 5 // byte[] bs
        end local 4 // java.nio.file.Path p
        end local 3 // java.lang.String fileName
        end local 2 // java.lang.String suffix
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.apache.bcel.util.ClassPath$JImage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/aspectj/apache/bcel/util/ClassPath$JImage;
            0   11     1      name  Ljava/lang/String;
            0   11     2    suffix  Ljava/lang/String;
            1   11     3  fileName  Ljava/lang/String;
            2   11     4         p  Ljava/nio/file/Path;
            5   11     5        bs  [B
            6   11     6      bfav  Ljava/nio/file/attribute/BasicFileAttributeView;
            7   11     7      bfas  Ljava/nio/file/attribute/BasicFileAttributes;
            8   11     8      time  J
            9   11    10      size  J
           10   11    12        cf  Lorg/aspectj/apache/bcel/util/ClassPath$ClassFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      name    
      suffix  
}
SourceFile: "ClassPath.java"
NestHost: org.aspectj.apache.bcel.util.ClassPath
InnerClasses:
  public abstract ClassFile = org.aspectj.apache.bcel.util.ClassPath$ClassFile of org.aspectj.apache.bcel.util.ClassPath
  private JImage = org.aspectj.apache.bcel.util.ClassPath$JImage of org.aspectj.apache.bcel.util.ClassPath
  org.aspectj.apache.bcel.util.ClassPath$JImage$1
  private ByteBasedClassFile = org.aspectj.apache.bcel.util.ClassPath$JImage$ByteBasedClassFile of org.aspectj.apache.bcel.util.ClassPath$JImage
  private abstract PathEntry = org.aspectj.apache.bcel.util.ClassPath$PathEntry of org.aspectj.apache.bcel.util.ClassPath