public class org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 extends org.eclipse.jdt.internal.compiler.batch.ClasspathJrt
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247
  super_class: org.eclipse.jdt.internal.compiler.batch.ClasspathJrt
{
  protected java.nio.file.FileSystem fs;
    descriptor: Ljava/nio/file/FileSystem;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String compliance;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected long jdklevel;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String releaseInHex;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String[] subReleases;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.nio.file.Path releasePath;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Set<java.lang.String> packageCache;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  protected java.io.File jdkHome;
    descriptor: Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String modulePath;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  public void <init>(java.io.File, java.lang.String, org.eclipse.jdt.internal.compiler.env.AccessRuleSet);
    descriptor: (Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // java.io.File jdkHome
        start local 2 // java.lang.String release
        start local 3 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet accessRuleSet
         0: .line 57
            aload 0 /* this */
            aload 1 /* jdkHome */
            iconst_0
            aload 3 /* accessRuleSet */
            aconst_null
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.<init>:(Ljava/io/File;ZLorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;Ljava/lang/String;)V
         1: .line 46
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
         2: .line 47
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
         3: .line 49
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
         4: .line 50
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
         5: .line 51
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releasePath:Ljava/nio/file/Path;
         6: .line 54
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
         7: .line 58
            aload 0 /* this */
            aload 2 /* release */
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
         8: .line 59
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.impl.CompilerOptions.releaseToJDKLevel:(Ljava/lang/String;)J
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdklevel:J
         9: .line 60
            aload 0 /* this */
            aload 1 /* jdkHome */
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdkHome:Ljava/io/File;
        10: .line 61
            aload 0 /* this */
            new java.io.File
            dup
            new java.io.File
            dup
            aload 1 /* jdkHome */
            ldc "lib"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            ldc "jrt-fs.jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.file:Ljava/io/File;
        11: .line 62
            return
        end local 3 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet accessRuleSet
        end local 2 // java.lang.String release
        end local 1 // java.io.File jdkHome
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0   12     1        jdkHome  Ljava/io/File;
            0   12     2        release  Ljava/lang/String;
            0   12     3  accessRuleSet  Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
    MethodParameters:
               Name  Flags
      jdkHome        
      release        
      accessRuleSet  

  public java.util.List<org.eclipse.jdt.internal.compiler.batch.FileSystem$Classpath> fetchLinkedJars(org.eclipse.jdt.internal.compiler.batch.FileSystem$ClasspathSectionProblemReporter);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/batch/FileSystem$ClasspathSectionProblemReporter;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // org.eclipse.jdt.internal.compiler.batch.FileSystem$ClasspathSectionProblemReporter problemReporter
         0: .line 65
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.batch.FileSystem$ClasspathSectionProblemReporter problemReporter
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0    1     1  problemReporter  Lorg/eclipse/jdt/internal/compiler/batch/FileSystem$ClasspathSectionProblemReporter;
    Signature: (Lorg/eclipse/jdt/internal/compiler/batch/FileSystem$ClasspathSectionProblemReporter;)Ljava/util/List<Lorg/eclipse/jdt/internal/compiler/batch/FileSystem$Classpath;>;
    MethodParameters:
                 Name  Flags
      problemReporter  

  public org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findClass(char[], java.lang.String, java.lang.String, java.lang.String);
    descriptor: ([CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // char[] typeName
        start local 2 // java.lang.String qualifiedPackageName
        start local 3 // java.lang.String moduleName
        start local 4 // java.lang.String qualifiedBinaryFileName
         0: .line 69
            aload 0 /* this */
            aload 1 /* typeName */
            aload 2 /* qualifiedPackageName */
            aload 3 /* moduleName */
            aload 4 /* qualifiedBinaryFileName */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.findClass:([CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
            areturn
        end local 4 // java.lang.String qualifiedBinaryFileName
        end local 3 // java.lang.String moduleName
        end local 2 // java.lang.String qualifiedPackageName
        end local 1 // char[] typeName
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0    1     1                 typeName  [C
            0    1     2     qualifiedPackageName  Ljava/lang/String;
            0    1     3               moduleName  Ljava/lang/String;
            0    1     4  qualifiedBinaryFileName  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      typeName                 
      qualifiedPackageName     
      moduleName               
      qualifiedBinaryFileName  

  public org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findClass(char[], java.lang.String, java.lang.String, java.lang.String, boolean);
    descriptor: ([CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // char[] typeName
        start local 2 // java.lang.String qualifiedPackageName
        start local 3 // java.lang.String moduleName
        start local 4 // java.lang.String qualifiedBinaryFileName
        start local 5 // boolean asBinaryOnly
         0: .line 73
            aload 0 /* this */
            aload 2 /* qualifiedPackageName */
            aload 3 /* moduleName */
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.isPackage:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 2
         1: .line 74
            aconst_null
            areturn
         2: .line 78
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* reader */
        start local 6 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
         3: .line 79
            aconst_null
            astore 7 /* content */
        start local 7 // byte[] content
         4: .line 80
            aload 4 /* qualifiedBinaryFileName */
            ldc ".class"
            ldc ".sig"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 4 /* qualifiedBinaryFileName */
         5: .line 81
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
            ifnull 16
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
            arraylength
            ifle 16
         6: .line 82
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 14
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 char[] java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader byte[] top int int java.lang.String[]
      StackMap stack:
         7: aload 11
            iload 9
            aaload
            astore 8 /* rel */
        start local 8 // java.lang.String rel
         8: .line 83
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            aload 8 /* rel */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* qualifiedBinaryFileName */
            aastore
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 12 /* p */
        start local 12 // java.nio.file.Path p
         9: .line 84
            aload 12 /* p */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 13
        10: .line 85
            aload 12 /* p */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.safeReadBytes:(Ljava/nio/file/Path;)[B
            astore 7 /* content */
        11: .line 86
            aload 7 /* content */
            ifnull 13
        12: .line 87
            goto 17
        end local 12 // java.nio.file.Path p
        end local 8 // java.lang.String rel
        13: .line 82
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        14: iload 9
            iload 10
            if_icmplt 7
        15: .line 90
            goto 17
        16: .line 91
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 char[] java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* qualifiedBinaryFileName */
            aastore
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.safeReadBytes:(Ljava/nio/file/Path;)[B
            astore 7 /* content */
        17: .line 93
      StackMap locals:
      StackMap stack:
            aload 7 /* content */
            ifnull 25
        18: .line 94
            new org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
            dup
            aload 7 /* content */
            aload 4 /* qualifiedBinaryFileName */
            invokevirtual java.lang.String.toCharArray:()[C
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>:([B[C)V
            astore 6 /* reader */
        19: .line 95
            aload 3 /* moduleName */
            ifnull 20
            aload 3 /* moduleName */
            invokevirtual java.lang.String.toCharArray:()[C
            goto 21
      StackMap locals:
      StackMap stack:
        20: aconst_null
      StackMap locals:
      StackMap stack: char[]
        21: astore 8 /* modName */
        start local 8 // char[] modName
        22: .line 96
            new org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer
            dup
            aload 6 /* reader */
            aload 0 /* this */
            aload 4 /* qualifiedBinaryFileName */
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fetchAccessRestriction:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;
            aload 8 /* modName */
            invokespecial org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer.<init>:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;[C)V
        23: areturn
        end local 8 // char[] modName
        end local 7 // byte[] content
        end local 6 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        24: .line 98
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 char[] java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.Exception
            pop
        25: .line 101
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // boolean asBinaryOnly
        end local 4 // java.lang.String qualifiedBinaryFileName
        end local 3 // java.lang.String moduleName
        end local 2 // java.lang.String qualifiedPackageName
        end local 1 // char[] typeName
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   26     0                     this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0   26     1                 typeName  [C
            0   26     2     qualifiedPackageName  Ljava/lang/String;
            0   26     3               moduleName  Ljava/lang/String;
            0   26     4  qualifiedBinaryFileName  Ljava/lang/String;
            0   26     5             asBinaryOnly  Z
            3   24     6                   reader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            4   24     7                  content  [B
            8   13     8                      rel  Ljava/lang/String;
            9   13    12                        p  Ljava/nio/file/Path;
           22   24     8                  modName  [C
      Exception table:
        from    to  target  type
           2    23      24  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
           2    23      24  Class java.io.IOException
    MethodParameters:
                         Name  Flags
      typeName                 
      qualifiedPackageName     
      moduleName               
      qualifiedBinaryFileName  
      asBinaryOnly             

  public void initialize();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 106
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
            ifnonnull 2
         1: .line 107
            return
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
         3: .line 110
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdkHome:Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            ldc "lib"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            ldc "ct.sym"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* filePath */
        start local 1 // java.nio.file.Path filePath
         4: .line 111
            aload 1 /* filePath */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            astore 2 /* t */
        start local 2 // java.net.URI t
         5: .line 112
            aload 1 /* filePath */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 7
         6: .line 113
            return
         7: .line 115
      StackMap locals: java.nio.file.Path java.net.URI
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "jar:file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.net.URI.getRawPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 3 /* uri */
        start local 3 // java.net.URI uri
         8: .line 117
            aload 0 /* this */
            aload 3 /* uri */
            invokestatic java.nio.file.FileSystems.getFileSystem:(Ljava/net/URI;)Ljava/nio/file/FileSystem;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
         9: .line 118
            goto 11
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.nio.file.Path java.net.URI java.net.URI
      StackMap stack: java.nio.file.FileSystemNotFoundException
        10: pop
        11: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            ifnonnull 14
        12: .line 122
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* env */
        start local 4 // java.util.HashMap env
        13: .line 123
            aload 0 /* this */
            aload 3 /* uri */
            aload 4 /* env */
            invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
        end local 4 // java.util.HashMap env
        14: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            ldc "/"
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releasePath:Ljava/nio/file/Path;
        15: .line 126
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 17
        16: .line 127
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "release "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not found in the system"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.initialize:()V
        18: .line 130
            return
        end local 3 // java.net.URI uri
        end local 2 // java.net.URI t
        end local 1 // java.nio.file.Path filePath
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            4   19     1  filePath  Ljava/nio/file/Path;
            5   19     2         t  Ljava/net/URI;
            8   19     3       uri  Ljava/net/URI;
           13   14     4       env  Ljava/util/HashMap<Ljava/lang/String;*>;
      Exception table:
        from    to  target  type
           8     9      10  Class java.nio.file.FileSystemNotFoundException
    Exceptions:
      throws java.io.IOException

  public void loadModules();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 134
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdklevel:J
            ldc 3407872
            lcmp
            ifgt 3
         1: .line 135
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.loadModules:()V
         2: .line 136
            return
         3: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-modules"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* modPath */
        start local 1 // java.nio.file.Path modPath
         4: .line 139
            aload 1 /* modPath */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 6
         5: .line 140
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "release "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not found in the system"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 142
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.file:Ljava/io/File;
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* modPath */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
         7: .line 143
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* cache */
        start local 2 // java.util.Map cache
         8: .line 144
            aload 2 /* cache */
            ifnonnull 32
         9: .line 145
            aconst_null
            astore 3
            aconst_null
            astore 4
        10: aload 1 /* modPath */
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 5 /* stream */
        start local 5 // java.nio.file.DirectoryStream stream
        11: .line 146
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* newCache */
        start local 6 // java.util.HashMap newCache
        12: .line 147
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 8
            goto 15
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.HashMap top java.util.Iterator
      StackMap stack:
        13: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 7 /* subdir */
        start local 7 // java.nio.file.Path subdir
        14: .line 148
            aload 7 /* subdir */
            new org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$1
            dup
            aload 0 /* this */
            aload 6 /* newCache */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$1.<init>:(Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;Ljava/util/HashMap;)V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
        end local 7 // java.nio.file.Path subdir
        15: .line 147
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 180
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
            dup
            astore 7
            monitorenter
        17: .line 181
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 19
        18: .line 182
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
            aload 6 /* newCache */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 180
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.nio.file.Path java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.HashMap java.util.HashMap
      StackMap stack:
            aload 7
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 7
            monitorexit
        22: athrow
        end local 6 // java.util.HashMap newCache
        23: .line 185
      StackMap locals:
      StackMap stack:
            aload 5 /* stream */
            ifnull 33
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 3
            aload 5 /* stream */
            ifnull 25
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 5 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        25: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 4
            aload 3
            ifnonnull 27
            aload 4
            astore 3
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 3
            aload 4
            if_acmpeq 28
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 3
            athrow
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.nio.file.Path java.util.Map
      StackMap stack: java.io.IOException
        29: astore 3 /* e */
        start local 3 // java.io.IOException e
        30: .line 186
            aload 3 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 3 // java.io.IOException e
        31: .line 188
            goto 33
        32: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.moduleNamesCache:Ljava/util/Set;
            aload 2 /* cache */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        33: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map cache
        end local 1 // java.nio.file.Path modPath
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0      this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            4   34     1   modPath  Ljava/nio/file/Path;
            8   34     2     cache  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
           11   25     5    stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           12   23     6  newCache  Ljava/util/HashMap<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
           14   15     7    subdir  Ljava/nio/file/Path;
           30   31     3         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          17    20      21  any
          21    22      21  any
          11    23      24  any
          10    26      26  any
           9    29      29  Class java.io.IOException

  void acceptModule(org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader, java.util.Map<java.lang.String, org.eclipse.jdt.internal.compiler.env.IModule>);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        start local 2 // java.util.Map cache
         0: .line 195
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdklevel:J
            ldc 3407872
            lcmp
            ifgt 3
         1: .line 196
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* cache */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.acceptModule:(Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Ljava/util/Map;)V
         2: .line 197
            return
         3: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            ifnull 7
         4: .line 200
            aload 1 /* reader */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.getModuleDeclaration:()Lorg/eclipse/jdt/internal/compiler/env/IBinaryModule;
            astore 3 /* moduleDecl */
        start local 3 // org.eclipse.jdt.internal.compiler.env.IModule moduleDecl
         5: .line 201
            aload 3 /* moduleDecl */
            ifnull 7
         6: .line 202
            aload 2 /* cache */
            aload 3 /* moduleDecl */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModule.name:()[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            aload 3 /* moduleDecl */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // org.eclipse.jdt.internal.compiler.env.IModule moduleDecl
         7: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map cache
        end local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0    8     1      reader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            0    8     2       cache  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
            5    7     3  moduleDecl  Lorg/eclipse/jdt/internal/compiler/env/IModule;
    Signature: (Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;)V
    MethodParameters:
        Name  Flags
      reader  
      cache   

  protected void addToPackageCache(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // java.lang.String packageName
        start local 2 // boolean endsWithSep
         0: .line 207
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
            aload 1 /* packageName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 208
            return
         2: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
            aload 1 /* packageName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 210
            return
        end local 2 // boolean endsWithSep
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0    4     1  packageName  Ljava/lang/String;
            0    4     2  endsWithSep  Z
    MethodParameters:
             Name  Flags
      packageName  
      endsWithSep  

  public synchronized char[][] getModulesDeclaringPackage(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[[C
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
        start local 1 // java.lang.String qualifiedPackageName
        start local 2 // java.lang.String moduleName
         0: .line 214
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
            ifnull 2
         1: .line 215
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
            aload 1 /* qualifiedPackageName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.singletonModuleNameIf:(Z)[[C
            areturn
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            bipush 41
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
         3: .line 218
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
            getstatic org.eclipse.jdt.internal.compiler.util.Util.EMPTY_STRING:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 219
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* sub */
        start local 3 // java.util.List sub
         5: .line 220
            aconst_null
            astore 4
            aconst_null
            astore 5
         6: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releasePath:Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 6 /* stream */
        start local 6 // java.nio.file.DirectoryStream stream
         7: .line 221
            aload 6 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.lang.String java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 7 /* subdir */
        start local 7 // java.nio.file.Path subdir
         9: .line 222
            aload 7 /* subdir */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.sanitizedFileName:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 9 /* rel */
        start local 9 // java.lang.String rel
        10: .line 223
            aload 9 /* rel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 13
        11: .line 224
            aload 3 /* sub */
            aload 9 /* rel */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 228
            aload 7 /* subdir */
            new org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$2
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$2.<init>:(Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;)V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
        end local 9 // java.lang.String rel
        end local 7 // java.nio.file.Path subdir
        13: .line 221
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 254
            aload 6 /* stream */
            ifnull 22
            aload 6 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 22
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.lang.String java.lang.String java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 6 /* stream */
            ifnull 16
            aload 6 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 6 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        16: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 5
            aload 4
            ifnonnull 18
            aload 5
            astore 4
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 4
            aload 5
            if_acmpeq 19
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 4
            athrow
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 java.lang.String java.lang.String java.util.List
      StackMap stack: java.io.IOException
        20: astore 4 /* e */
        start local 4 // java.io.IOException e
        21: .line 255
            aload 4 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 4 // java.io.IOException e
        22: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* sub */
            aload 3 /* sub */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
        23: .line 259
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
            aload 1 /* qualifiedPackageName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.singletonModuleNameIf:(Z)[[C
            areturn
        end local 3 // java.util.List sub
        end local 2 // java.lang.String moduleName
        end local 1 // java.lang.String qualifiedPackageName
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   24     0                  this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            0   24     1  qualifiedPackageName  Ljava/lang/String;
            0   24     2            moduleName  Ljava/lang/String;
            5   24     3                   sub  Ljava/util/List<Ljava/lang/String;>;
            7   16     6                stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
            9   13     7                subdir  Ljava/nio/file/Path;
           10   13     9                   rel  Ljava/lang/String;
           21   22     4                     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    14      15  any
           6    17      17  any
           5    20      20  Class java.io.IOException
    MethodParameters:
                      Name  Flags
      qualifiedPackageName  
      moduleName            

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 264
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.reset:()V
         1: .line 265
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
            invokevirtual java.nio.file.FileSystem.close:()V
         2: .line 266
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 269
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 272
            new java.lang.StringBuilder
            dup
            ldc "Classpath for JEP 247 for JDK "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.file:Ljava/io/File;
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;

  public char[] normalizedPath();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 276
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.normalizedPath:[C
            ifnonnull 6
         1: .line 277
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.getPath:()Ljava/lang/String;
            astore 1 /* path2 */
        start local 1 // java.lang.String path2
         2: .line 278
            aload 1 /* path2 */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* rawName */
        start local 2 // char[] rawName
         3: .line 279
            getstatic java.io.File.separatorChar:C
            bipush 92
            if_icmpne 5
         4: .line 280
            aload 2 /* rawName */
            bipush 92
            bipush 47
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
         5: .line 282
      StackMap locals: java.lang.String char[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rawName */
            iconst_0
            bipush 46
            aload 2 /* rawName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.normalizedPath:[C
        end local 2 // char[] rawName
        end local 1 // java.lang.String path2
         6: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.normalizedPath:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
            2    6     1    path2  Ljava/lang/String;
            3    6     2  rawName  [C

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 288
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.path:Ljava/lang/String;
            ifnonnull 5
         1: .line 290
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.file:Ljava/io/File;
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.path:Ljava/lang/String;
         2: .line 291
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 293
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.file:Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.path:Ljava/lang/String;
         5: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.path:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  public int getMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
         0: .line 300
            iconst_2
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247;
}
SourceFile: "ClasspathJep247.java"
NestMembers:
  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$1  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$2
InnerClasses:
  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$1
  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$2
  public abstract Classpath = org.eclipse.jdt.internal.compiler.batch.FileSystem$Classpath of org.eclipse.jdt.internal.compiler.batch.FileSystem
  public abstract ClasspathSectionProblemReporter = org.eclipse.jdt.internal.compiler.batch.FileSystem$ClasspathSectionProblemReporter of org.eclipse.jdt.internal.compiler.batch.FileSystem