public class org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 extends org.eclipse.jdt.internal.compiler.batch.ClasspathJep247
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12
  super_class: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247
{
  java.util.Map<java.lang.String, org.eclipse.jdt.internal.compiler.env.IModule> modules;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;

  static java.lang.String MODULE_INFO;
    descriptor: Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 46
            ldc "module-info.sig"
            putstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.MODULE_INFO:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 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 49
            aload 0 /* this */
            aload 1 /* jdkHome */
            aload 2 /* release */
            aload 3 /* accessRuleSet */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.<init>:(Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)V
         1: .line 50
            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.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            0    2     1        jdkHome  Ljava/io/File;
            0    2     2        release  Ljava/lang/String;
            0    2     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.ClasspathJep247Jdk12 this
        start local 1 // org.eclipse.jdt.internal.compiler.batch.FileSystem$ClasspathSectionProblemReporter problemReporter
         0: .line 53
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.batch.FileSystem$ClasspathSectionProblemReporter problemReporter
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            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.ClasspathJep247Jdk12 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 57
            aload 0 /* this */
            aload 1 /* typeName */
            aload 2 /* qualifiedPackageName */
            aload 3 /* moduleName */
            aload 4 /* qualifiedBinaryFileName */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            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=19, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 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 61
            aload 0 /* this */
            aload 2 /* qualifiedPackageName */
            aload 3 /* moduleName */
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.isPackage:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 2
         1: .line 62
            aconst_null
            areturn
         2: .line 65
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* reader */
        start local 6 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
         3: .line 66
            aconst_null
            astore 7 /* content */
        start local 7 // byte[] content
         4: .line 67
            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 68
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.subReleases:[Ljava/lang/String;
            ifnull 35
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.subReleases:[Ljava/lang/String;
            arraylength
            ifle 35
         6: .line 69
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.subReleases:[Ljava/lang/String;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 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 70
            aload 3 /* moduleName */
            ifnonnull 27
         9: .line 71
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            aload 8 /* rel */
            iconst_0
            anewarray java.lang.String
            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
        10: .line 72
            aconst_null
            astore 13
            aconst_null
            astore 14
        11: aload 12 /* p */
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 15 /* stream */
        start local 15 // java.nio.file.DirectoryStream stream
        12: .line 73
            aload 15 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 17
            goto 20
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 char[] java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader byte[] java.lang.String int int java.lang.String[] java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        13: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 16 /* subdir */
        start local 16 // java.nio.file.Path subdir
        14: .line 74
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            aload 8 /* rel */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 16 /* subdir */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.sanitizedFileName:(Ljava/nio/file/Path;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* qualifiedBinaryFileName */
            aastore
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 18 /* f */
        start local 18 // java.nio.file.Path f
        15: .line 75
            aload 18 /* f */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 20
        16: .line 76
            aload 18 /* f */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.safeReadBytes:(Ljava/nio/file/Path;)[B
            astore 7 /* content */
        17: .line 77
            aload 7 /* content */
            ifnull 20
        18: .line 81
            aload 15 /* stream */
            ifnull 36
            aload 15 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        19: .line 78
            goto 36
        end local 18 // java.nio.file.Path f
        end local 16 // java.nio.file.Path subdir
        20: .line 73
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        21: .line 81
            aload 15 /* stream */
            ifnull 32
            aload 15 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 32
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 char[] java.lang.String java.lang.String java.lang.String int org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader byte[] java.lang.String int int java.lang.String[] java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        22: astore 13
            aload 15 /* stream */
            ifnull 23
            aload 15 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 15 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        23: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 14
            aload 13
            ifnonnull 25
            aload 14
            astore 13
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 13
            aload 14
            if_acmpeq 26
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 13
            athrow
        end local 12 // java.nio.file.Path p
        27: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            aload 8 /* rel */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* moduleName */
            aastore
            dup
            iconst_1
            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
        28: .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 32
        29: .line 85
            aload 12 /* p */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.safeReadBytes:(Ljava/nio/file/Path;)[B
            astore 7 /* content */
        30: .line 86
            aload 7 /* content */
            ifnull 32
        31: .line 87
            goto 36
        end local 12 // java.nio.file.Path p
        end local 8 // java.lang.String rel
        32: .line 69
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 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:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 7
        34: .line 91
            goto 36
        35: .line 92
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 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.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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 */
        36: .line 94
      StackMap locals:
      StackMap stack:
            aload 7 /* content */
            ifnull 44
        37: .line 95
            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 */
        38: .line 96
            aload 3 /* moduleName */
            ifnull 39
            aload 3 /* moduleName */
            invokevirtual java.lang.String.toCharArray:()[C
            goto 40
      StackMap locals:
      StackMap stack:
        39: aconst_null
      StackMap locals:
      StackMap stack: char[]
        40: astore 8 /* modName */
        start local 8 // char[] modName
        41: .line 97
            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.ClasspathJep247Jdk12.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
        42: areturn
        end local 8 // char[] modName
        end local 7 // byte[] content
        end local 6 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        43: .line 99
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 char[] java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.Exception
            pop
        44: .line 102
      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.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   45     0                     this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            0   45     1                 typeName  [C
            0   45     2     qualifiedPackageName  Ljava/lang/String;
            0   45     3               moduleName  Ljava/lang/String;
            0   45     4  qualifiedBinaryFileName  Ljava/lang/String;
            0   45     5             asBinaryOnly  Z
            3   43     6                   reader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            4   43     7                  content  [B
            8   32     8                      rel  Ljava/lang/String;
           10   27    12                        p  Ljava/nio/file/Path;
           12   23    15                   stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           14   20    16                   subdir  Ljava/nio/file/Path;
           15   20    18                        f  Ljava/nio/file/Path;
           28   32    12                        p  Ljava/nio/file/Path;
           41   43     8                  modName  [C
      Exception table:
        from    to  target  type
          12    18      22  any
          20    21      22  any
          11    19      24  any
          20    24      24  any
           2    42      43  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
           2    42      43  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=11, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
         0: .line 107
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.compliance:Ljava/lang/String;
            ifnonnull 2
         1: .line 108
            return
         2: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            ifnull 5
         3: .line 111
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.initialize:()V
         4: .line 112
            return
         5: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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.ClasspathJep247Jdk12.releaseInHex:Ljava/lang/String;
         6: .line 115
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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
         7: .line 116
            aload 1 /* filePath */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            astore 2 /* t */
        start local 2 // java.net.URI t
         8: .line 117
            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 10
         9: .line 118
            return
        10: .line 120
      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
        11: .line 122
            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.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
        12: .line 123
            goto 14
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.net.URI java.net.URI
      StackMap stack: java.nio.file.FileSystemNotFoundException
        13: pop
        14: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            ifnonnull 17
        15: .line 127
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* env */
        start local 4 // java.util.HashMap env
        16: .line 128
            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.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
        end local 4 // java.util.HashMap env
        17: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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.ClasspathJep247Jdk12.releasePath:Ljava/nio/file/Path;
        18: .line 131
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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 20
        19: .line 132
            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.ClasspathJep247Jdk12.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
        20: .line 134
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* sub */
        start local 4 // java.util.List sub
        21: .line 135
            aconst_null
            astore 5
            aconst_null
            astore 6
        22: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.releasePath:Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 7 /* stream */
        start local 7 // java.nio.file.DirectoryStream stream
        23: .line 136
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.net.URI java.net.URI java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        24: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 8 /* subdir */
        start local 8 // java.nio.file.Path subdir
        25: .line 137
            aload 8 /* subdir */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.sanitizedFileName:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 10 /* rel */
        start local 10 // java.lang.String rel
        26: .line 138
            aload 10 /* rel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.releaseInHex:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 28
        27: .line 139
            aload 4 /* sub */
            aload 10 /* rel */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.String rel
        end local 8 // java.nio.file.Path subdir
        28: .line 136
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 141
            aload 0 /* this */
            aload 4 /* sub */
            aload 4 /* 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.ClasspathJep247Jdk12.subReleases:[Ljava/lang/String;
        30: .line 142
            aload 7 /* stream */
            ifnull 37
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 37
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.net.URI java.net.URI java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        31: astore 5
            aload 7 /* stream */
            ifnull 32
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 7 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        32: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 6
            aload 5
            ifnonnull 34
            aload 6
            astore 5
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 5
            aload 6
            if_acmpeq 35
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 5
            athrow
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.net.URI java.net.URI java.util.List
      StackMap stack: java.io.IOException
        36: pop
        37: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.initialize:()V
        38: .line 146
            return
        end local 4 // java.util.List sub
        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.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   39     0      this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            7   39     1  filePath  Ljava/nio/file/Path;
            8   39     2         t  Ljava/net/URI;
           11   39     3       uri  Ljava/net/URI;
           16   17     4       env  Ljava/util/HashMap<Ljava/lang/String;*>;
           21   39     4       sub  Ljava/util/List<Ljava/lang/String;>;
           23   32     7    stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           25   28     8    subdir  Ljava/nio/file/Path;
           26   28    10       rel  Ljava/lang/String;
      Exception table:
        from    to  target  type
          11    12      13  Class java.nio.file.FileSystemNotFoundException
          23    30      31  any
          22    33      33  any
          21    36      36  Class java.io.IOException
    Exceptions:
      throws java.io.IOException

  public void loadModules();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
         0: .line 150
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.jdklevel:J
            ldc 3407872
            lcmp
            ifgt 3
         1: .line 151
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.loadModules:()V
         2: .line 152
            return
         3: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.fs:Ljava/nio/file/FileSystem;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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;
            astore 1 /* modPath */
        start local 1 // java.nio.file.Path modPath
         4: .line 155
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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.ClasspathJep247Jdk12.modulePath:Ljava/lang/String;
         5: .line 156
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.ModulesCache:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modulePath:Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
         6: .line 157
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
            ifnonnull 34
         7: .line 158
            aconst_null
            astore 2
            aconst_null
            astore 3
         8: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.releasePath:Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 4 /* stream */
        start local 4 // java.nio.file.DirectoryStream stream
         9: .line 159
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* newCache */
        start local 5 // java.util.HashMap newCache
        10: .line 160
            aload 4 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.HashMap top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 6 /* subdir */
        start local 6 // java.nio.file.Path subdir
        12: .line 161
            aload 6 /* subdir */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.sanitizedFileName:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 8 /* rel */
        start local 8 // java.lang.String rel
        13: .line 162
            aload 8 /* rel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.releaseInHex:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 15
        14: .line 163
            goto 16
        15: .line 165
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.HashMap java.nio.file.Path java.util.Iterator java.lang.String
      StackMap stack:
            aload 6 /* subdir */
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            iconst_2
            new org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$1
            dup
            aload 0 /* this */
            aload 5 /* newCache */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$1.<init>:(Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;Ljava/util/HashMap;)V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
        end local 8 // java.lang.String rel
        end local 6 // java.nio.file.Path subdir
        16: .line 160
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        17: .line 200
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.ModulesCache:Ljava/util/HashMap;
            dup
            astore 6
            monitorenter
        18: .line 201
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.ModulesCache:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modulePath:Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 21
        19: .line 202
            aload 0 /* this */
            aload 5 /* newCache */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
        20: .line 203
            getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.ModulesCache:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modulePath:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 200
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.HashMap java.util.HashMap
      StackMap stack:
            aload 6
            monitorexit
        22: goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: aload 6
            monitorexit
        24: athrow
        end local 5 // java.util.HashMap newCache
        25: .line 206
      StackMap locals:
      StackMap stack:
            aload 4 /* stream */
            ifnull 35
            aload 4 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 2
            aload 4 /* stream */
            ifnull 27
            aload 4 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 4 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        27: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 3
            aload 2
            ifnonnull 29
            aload 3
            astore 2
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 2
            aload 3
            if_acmpeq 30
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 2
            athrow
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.nio.file.Path
      StackMap stack: java.io.IOException
        31: astore 2 /* e */
        start local 2 // java.io.IOException e
        32: .line 207
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        33: .line 209
            goto 35
        34: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.moduleNamesCache:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        35: .line 212
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path modPath
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0      this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            4   36     1   modPath  Ljava/nio/file/Path;
            9   27     4    stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           10   25     5  newCache  Ljava/util/HashMap<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
           12   16     6    subdir  Ljava/nio/file/Path;
           13   16     8       rel  Ljava/lang/String;
           32   33     2         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          18    22      23  any
          23    24      23  any
           9    25      26  any
           8    28      28  any
           7    31      31  Class java.io.IOException

  public java.util.Collection<java.lang.String> getModuleNames(java.util.Collection<java.lang.String>, java.util.function.Function<java.lang.String, org.eclipse.jdt.internal.compiler.env.IModule>);
    descriptor: (Ljava/util/Collection;Ljava/util/function/Function;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
        start local 1 // java.util.Collection limitModule
        start local 2 // java.util.function.Function getModule
         0: .line 215
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.moduleNamesCache:Ljava/util/Set;
            aload 1 /* limitModule */
            aload 2 /* getModule */
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.selectModules:(Ljava/util/Set;Ljava/util/Collection;Ljava/util/function/Function;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.function.Function getModule
        end local 1 // java.util.Collection limitModule
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            0    1     1  limitModule  Ljava/util/Collection<Ljava/lang/String;>;
            0    1     2    getModule  Ljava/util/function/Function<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/function/Function<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      limitModule  
      getModule    

  public org.eclipse.jdt.internal.compiler.env.IModule getModule(char[]);
    descriptor: ([C)Lorg/eclipse/jdt/internal/compiler/env/IModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
        start local 1 // char[] moduleName
         0: .line 219
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
            ifnull 2
         1: .line 220
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.modules:Ljava/util/Map;
            aload 1 /* moduleName */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IModule
            areturn
         2: .line 222
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // char[] moduleName
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            0    3     1  moduleName  [C
    MethodParameters:
            Name  Flags
      moduleName  

  void acceptModule(java.lang.String, byte[], java.util.Map<java.lang.String, org.eclipse.jdt.internal.compiler.env.IModule>);
    descriptor: (Ljava/lang/String;[BLjava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
        start local 1 // java.lang.String name
        start local 2 // byte[] content
        start local 3 // java.util.Map cache
         0: .line 225
            aload 2 /* content */
            ifnonnull 2
         1: .line 226
            return
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 3 /* cache */
            aload 1 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 229
            return
         4: .line 231
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* reader */
        start local 4 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
         5: .line 233
            new org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
            dup
            aload 2 /* content */
            ldc "module-info.class"
            invokevirtual java.lang.String.toCharArray:()[C
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>:([B[C)V
            astore 4 /* reader */
         6: .line 234
            goto 9
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String byte[] java.util.Map org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
      StackMap stack: org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
         7: astore 5 /* e */
        start local 5 // org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException e
         8: .line 235
            aload 5 /* e */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException.printStackTrace:()V
        end local 5 // org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException e
         9: .line 237
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            ifnull 11
        10: .line 238
            aload 0 /* this */
            aload 4 /* reader */
            aload 3 /* cache */
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.acceptModule:(Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Ljava/util/Map;)V
        11: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        end local 3 // java.util.Map cache
        end local 2 // byte[] content
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            0   12     1     name  Ljava/lang/String;
            0   12     2  content  [B
            0   12     3    cache  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
            5   12     4   reader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            8    9     5        e  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFormatException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
    Signature: (Ljava/lang/String;[BLjava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;)V
    MethodParameters:
         Name  Flags
      name     
      content  
      cache    

  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.ClasspathJep247Jdk12 this
        start local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        start local 2 // java.util.Map cache
         0: .line 244
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.jdklevel:J
            ldc 3407872
            lcmp
            ifgt 3
         1: .line 245
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* cache */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.acceptModule:(Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Ljava/util/Map;)V
         2: .line 246
            return
         3: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            ifnull 7
         4: .line 249
            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 250
            aload 3 /* moduleDecl */
            ifnull 7
         6: .line 251
            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 254
      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.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            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   

  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=14, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
        start local 1 // java.lang.String qualifiedPackageName
        start local 2 // java.lang.String moduleName
         0: .line 258
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.packageCache:Ljava/util/Set;
            ifnull 2
         1: .line 259
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.packageCache:Ljava/util/Set;
            aload 1 /* qualifiedPackageName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.singletonModuleNameIf:(Z)[[C
            areturn
         2: .line 261
      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.ClasspathJep247Jdk12.packageCache:Ljava/util/Set;
         3: .line 262
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.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 263
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.releasePath:Ljava/nio/file/Path;
            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
         6: .line 264
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 6 /* subdir */
        start local 6 // java.nio.file.Path subdir
         8: .line 265
            aload 6 /* subdir */
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.sanitizedFileName:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 8 /* rel */
        start local 8 // java.lang.String rel
         9: .line 266
            aload 8 /* rel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.releaseInHex:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 11
        10: .line 267
            goto 23
        11: .line 269
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.String
      StackMap stack:
            aconst_null
            astore 9
            aconst_null
            astore 10
        12: aload 6 /* subdir */
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 11 /* stream2 */
        start local 11 // java.nio.file.DirectoryStream stream2
        13: .line 270
            aload 11 /* stream2 */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 13
            goto 16
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        14: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 12 /* subdir2 */
        start local 12 // java.nio.file.Path subdir2
        15: .line 271
            aload 12 /* subdir2 */
            new org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$2
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$2.<init>:(Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;)V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
        end local 12 // java.nio.file.Path subdir2
        16: .line 270
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 297
            aload 11 /* stream2 */
            ifnull 23
            aload 11 /* stream2 */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 23
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        18: astore 9
            aload 11 /* stream2 */
            ifnull 19
            aload 11 /* stream2 */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 11 // java.nio.file.DirectoryStream stream2
      StackMap locals:
      StackMap stack:
        19: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 10
            aload 9
            ifnonnull 21
            aload 10
            astore 9
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 9
            aload 10
            if_acmpeq 22
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 9
            athrow
        end local 8 // java.lang.String rel
        end local 6 // java.nio.file.Path subdir
        23: .line 264
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        24: .line 299
            aload 5 /* stream */
            ifnull 32
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 32
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        25: astore 3
            aload 5 /* stream */
            ifnull 26
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 5 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        26: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 4
            aload 3
            ifnonnull 28
            aload 4
            astore 3
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 3
            aload 4
            if_acmpeq 29
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 3
            athrow
      StackMap locals: org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 java.lang.String java.lang.String
      StackMap stack: java.io.IOException
        30: astore 3 /* e */
        start local 3 // java.io.IOException e
        31: .line 300
            aload 3 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 3 // java.io.IOException e
        32: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.packageCache:Ljava/util/Set;
            aload 1 /* qualifiedPackageName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12.singletonModuleNameIf:(Z)[[C
            areturn
        end local 2 // java.lang.String moduleName
        end local 1 // java.lang.String qualifiedPackageName
        end local 0 // org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12 this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   33     0                  this  Lorg/eclipse/jdt/internal/compiler/batch/ClasspathJep247Jdk12;
            0   33     1  qualifiedPackageName  Ljava/lang/String;
            0   33     2            moduleName  Ljava/lang/String;
            6   26     5                stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
            8   23     6                subdir  Ljava/nio/file/Path;
            9   23     8                   rel  Ljava/lang/String;
           13   19    11               stream2  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           15   16    12               subdir2  Ljava/nio/file/Path;
           31   32     3                     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          13    17      18  any
          12    20      20  any
           6    24      25  any
           5    27      27  any
           4    30      30  Class java.io.IOException
    MethodParameters:
                      Name  Flags
      qualifiedPackageName  
      moduleName            
}
SourceFile: "ClasspathJep247Jdk12.java"
NestMembers:
  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$1  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$2
InnerClasses:
  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$1
  org.eclipse.jdt.internal.compiler.batch.ClasspathJep247Jdk12$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