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 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_0
aload 3
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: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
2: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
3: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
4: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
5: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releasePath:Ljava/nio/file/Path;
6: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
7: aload 0
aload 2
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
8: aload 0
aload 0
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: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdkHome:Ljava/io/File;
10: aload 0
new java.io.File
dup
new java.io.File
dup
aload 1
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: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aconst_null
areturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
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 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.isPackage:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aload 4
ldc ".class"
ldc ".sig"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 4
5: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
ifnull 16
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.subReleases:[Ljava/lang/String;
arraylength
ifle 16
6: aload 0
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
start local 8 8: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
aload 8
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 4
aastore
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 12
start local 12 9: aload 12
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: aload 12
invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.safeReadBytes:(Ljava/nio/file/Path;)[B
astore 7
11: aload 7
ifnull 13
12: goto 17
end local 12 end local 8 13: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
14: iload 9
iload 10
if_icmplt 7
15: goto 17
16: 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
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 4
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
17: StackMap locals:
StackMap stack:
aload 7
ifnull 25
18: new org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
dup
aload 7
aload 4
invokevirtual java.lang.String.toCharArray:()[C
invokespecial org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>:([B[C)V
astore 6
19: aload 3
ifnull 20
aload 3
invokevirtual java.lang.String.toCharArray:()[C
goto 21
StackMap locals:
StackMap stack:
20: aconst_null
StackMap locals:
StackMap stack: char[]
21: astore 8
start local 8 22: new org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer
dup
aload 6
aload 0
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fetchAccessRestriction:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;
aload 8
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 end local 7 end local 6 24: 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: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.compliance:Ljava/lang/String;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 0
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: aload 0
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
start local 1 4: aload 1
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
astore 2
start local 2 5: aload 1
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: return
7: 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
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
start local 3 8: aload 0
aload 3
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: 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: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
ifnonnull 14
12: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 13: aload 0
aload 3
aload 4
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 14: StackMap locals:
StackMap stack:
aload 0
aload 0
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: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
aload 0
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: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "release "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.initialize:()V
18: return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdklevel:J
ldc 3407872
lcmp
ifgt 3
1: aload 0
invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.loadModules:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
new java.lang.StringBuilder
dup
aload 0
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
start local 1 4: aload 1
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: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "release "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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: StackMap locals: java.nio.file.Path
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 0
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
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: getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
aload 0
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
start local 2 8: aload 2
ifnonnull 32
9: aconst_null
astore 3
aconst_null
astore 4
10: aload 1
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 5
start local 5 11: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 6
start local 6 12: aload 5
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
start local 7 14: aload 7
new org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$1
dup
aload 0
aload 6
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 15: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
dup
astore 7
monitorenter
17: getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
aload 0
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: getstatic org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.ModulesCache:Ljava/util/HashMap;
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.modulePath:Ljava/lang/String;
aload 6
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: 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 23: StackMap locals:
StackMap stack:
aload 5
ifnull 33
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 3
aload 5
ifnull 25
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 5 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
start local 3 30: aload 3
invokevirtual java.io.IOException.printStackTrace:()V
end local 3 31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.moduleNamesCache:Ljava/util/Set;
aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
33: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.jdklevel:J
ldc 3407872
lcmp
ifgt 3
1: aload 0
aload 1
aload 2
invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.acceptModule:(Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Ljava/util/Map;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ifnull 7
4: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.getModuleDeclaration:()Lorg/eclipse/jdt/internal/compiler/env/IBinaryModule;
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 2
aload 3
invokeinterface org.eclipse.jdt.internal.compiler.env.IModule.name:()[C
invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
ifnull 2
1: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.singletonModuleNameIf:(Z)[[C
areturn
2: StackMap locals:
StackMap stack:
aload 0
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: aload 0
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: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: aconst_null
astore 4
aconst_null
astore 5
6: aload 0
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
start local 6 7: aload 6
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
start local 7 9: aload 7
invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.sanitizedFileName:(Ljava/nio/file/Path;)Ljava/lang/String;
astore 9
start local 9 10: aload 9
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.releaseInHex:Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 13
11: aload 3
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 7
new org.eclipse.jdt.internal.compiler.batch.ClasspathJep247$2
dup
aload 0
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 end local 7 13: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: aload 6
ifnull 22
aload 6
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
ifnull 16
aload 6
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 6 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
start local 4 21: aload 4
invokevirtual java.io.IOException.printStackTrace:()V
end local 4 22: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 3
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: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.packageCache:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.singletonModuleNameIf:(Z)[[C
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokespecial org.eclipse.jdt.internal.compiler.batch.ClasspathJrt.reset:()V
1: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.fs:Ljava/nio/file/FileSystem;
invokevirtual java.nio.file.FileSystem.close:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 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 0: new java.lang.StringBuilder
dup
ldc "Classpath for JEP 247 for JDK "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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 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 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.normalizedPath:[C
ifnonnull 6
1: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.getPath:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 3: getstatic java.io.File.separatorChar:C
bipush 92
if_icmpne 5
4: aload 2
bipush 92
bipush 47
invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
5: StackMap locals: java.lang.String char[]
StackMap stack:
aload 0
aload 2
iconst_0
bipush 46
aload 2
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 end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.normalizedPath:[C
areturn
end local 0 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 0: aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.path:Ljava/lang/String;
ifnonnull 5
1: aload 0
aload 0
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: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: aload 0
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.batch.ClasspathJep247.path:Ljava/lang/String;
areturn
end local 0 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 0: iconst_2
ireturn
end local 0 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