class com.sun.tools.javac.file.Locations$SystemModulesLocationHandler extends com.sun.tools.javac.file.Locations$BasicLocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.file.Locations$SystemModulesLocationHandler
super_class: com.sun.tools.javac.file.Locations$BasicLocationHandler
{
private java.nio.file.Path systemJavaHome;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
private java.nio.file.Path modules;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.file.Locations$ModuleTable moduleTable;
descriptor: Lcom/sun/tools/javac/file/Locations$ModuleTable;
flags: (0x0002) ACC_PRIVATE
final com.sun.tools.javac.file.Locations this$0;
descriptor: Lcom/sun/tools/javac/file/Locations;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.file.Locations);
descriptor: (Lcom/sun/tools/javac/file/Locations;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
1: aload 0
getstatic javax.tools.StandardLocation.SYSTEM_MODULES:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.SYSTEM:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$BasicLocationHandler.<init>:(Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
2: aload 0
getstatic com.sun.tools.javac.file.Locations.javaHome:Ljava/nio/file/Path;
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
MethodParameters:
Name Flags
this$0 final
boolean handleOption(com.sun.tools.javac.main.Option, java.lang.String);
descriptor: (Lcom/sun/tools/javac/main/Option;Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.options:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.explicit:Z
3: aload 2
ifnonnull 6
4: aload 0
getstatic com.sun.tools.javac.file.Locations.javaHome:Ljava/nio/file/Path;
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
5: goto 10
StackMap locals:
StackMap stack:
6: aload 2
ldc "none"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 0
aconst_null
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
aload 2
iconst_0
anewarray java.lang.String
invokevirtual com.sun.tools.javac.file.Locations.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.update:(Ljava/nio/file/Path;)V
10: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules:Ljava/nio/file/Path;
11: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 12 1 option Lcom/sun/tools/javac/main/Option;
0 12 2 value Ljava/lang/String;
MethodParameters:
Name Flags
option
value
java.util.Collection<java.nio.file.Path> getPaths();
descriptor: ()Ljava/util/Collection;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
StackMap locals:
StackMap stack: java.util.Set
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
Signature: ()Ljava/util/Collection<Ljava/nio/file/Path;>;
void setPaths(java.lang.Iterable<? extends java.nio.file.Path>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
aconst_null
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.explicit:Z
4: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.checkSingletonDirectory:(Ljava/lang/Iterable;)Ljava/nio/file/Path;
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.update:(Ljava/nio/file/Path;)V
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 7 1 files Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
5 6 2 dir Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)V
MethodParameters:
Name Flags
files
void setPathsForModule(java.lang.String, java.lang.Iterable<? extends java.nio.file.Path>);
descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.checkPaths:(Ljava/lang/Iterable;)Ljava/util/List;
astore 3
start local 3 1: aload 0
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.initSystemModules:()V
2: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 1
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.get:(Ljava/lang/String;)Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
astore 4
start local 4 3: aload 4
ifnonnull 12
4: new com.sun.tools.javac.file.Locations$ModuleLocationHandler
dup
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
aload 0
5: new java.lang.StringBuilder
dup
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.location:Ljavax/tools/JavaFileManager$Location;
invokeinterface javax.tools.JavaFileManager$Location.getName:()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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: aload 1
7: aload 3
8: iconst_1
9: invokespecial com.sun.tools.javac.file.Locations$ModuleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Lcom/sun/tools/javac/file/Locations$LocationHandler;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;Z)V
astore 4
10: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 4
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.add:(Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;)V
11: goto 14
12: StackMap locals: java.util.List com.sun.tools.javac.file.Locations$ModuleLocationHandler
StackMap stack:
aload 4
aload 3
putfield com.sun.tools.javac.file.Locations$ModuleLocationHandler.searchPath:Ljava/util/Collection;
13: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 4
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.updatePaths:(Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;)V
14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.explicit:Z
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 16 1 name Ljava/lang/String;
0 16 2 paths Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
1 16 3 checkedPaths Ljava/util/List<Ljava/nio/file/Path;>;
3 16 4 l Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)V
MethodParameters:
Name Flags
name
paths
private java.util.List<java.nio.file.Path> checkPaths(java.lang.Iterable<? extends java.nio.file.Path>);
descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 2: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.sun.tools.javac.file.Locations$SystemModulesLocationHandler java.lang.Iterable java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 3
start local 3 4: aload 2
aload 0
aload 3
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.checkDirectory:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 7 1 paths Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
2 7 2 validPaths Ljava/util/List<Ljava/nio/file/Path;>;
4 5 3 p Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)Ljava/util/List<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
paths
private void update(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.isCurrentPlatform:(Ljava/nio/file/Path;)Z
ifne 3
aload 1
ldc "lib"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
ldc "jrt-fs.jar"
invokeinterface java.nio.file.Path.resolve:(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 3
1: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
ldc "modules"
invokeinterface java.nio.file.Path.resolve:(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 3
2: new java.lang.IllegalArgumentException
dup
aload 1
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
4: aload 0
aconst_null
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules:Ljava/nio/file/Path;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 6 1 p Ljava/nio/file/Path;
MethodParameters:
Name Flags
p
private boolean isCurrentPlatform(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.file.Locations.javaHome:Ljava/nio/file/Path;
invokestatic java.nio.file.Files.isSameFile:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 3: new java.lang.IllegalArgumentException
dup
aload 1
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 4 1 p Ljava/nio/file/Path;
3 4 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
p
javax.tools.JavaFileManager$Location getLocationForModule(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.initSystemModules:()V
1: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 1
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.get:(Ljava/lang/String;)Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 2 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
javax.tools.JavaFileManager$Location getLocationForModule(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljavax/tools/JavaFileManager$Location;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.initSystemModules:()V
1: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 1
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.get:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 2 1 file Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager$Location>> listLocationsForModules();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.initSystemModules:()V
1: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.locations:()Ljava/util/Set;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
Exceptions:
throws java.io.IOException
Signature: ()Ljava/lang/Iterable<Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;>;
boolean contains(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.initSystemModules:()V
1: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 1
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.contains:(Ljava/nio/file/Path;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
0 2 1 file Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
private void initSystemModules();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
ifnonnull 5
3: aload 0
new com.sun.tools.javac.file.Locations$ModuleTable
dup
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
invokespecial com.sun.tools.javac.file.Locations$ModuleTable.<init>:(Lcom/sun/tools/javac/file/Locations;)V
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules:Ljava/nio/file/Path;
ifnonnull 28
6: ldc "jrt:/"
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
astore 1
start local 1 7: aload 0
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.isCurrentPlatform:(Ljava/nio/file/Path;)Z
ifeq 10
8: aload 1
invokestatic java.nio.file.FileSystems.getFileSystem:(Ljava/net/URI;)Ljava/nio/file/FileSystem;
astore 2
start local 2 9: goto 22
end local 2 10: StackMap locals: java.net.URI
StackMap stack:
ldc "java.home"
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
11: astore 3
start local 3 12: aload 1
aload 3
invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
astore 2
end local 3 start local 2 13: goto 21
end local 2 StackMap locals:
StackMap stack: java.nio.file.ProviderNotFoundException
14: pop
15: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
ldc "jrt-fs.jar"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 3
start local 3 16: ldc Lcom/sun/tools/javac/file/Locations;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 4
start local 4 17: new java.net.URLClassLoader
dup
iconst_1
anewarray java.net.URL
dup
iconst_0
aload 3
aastore
aload 4
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
18: astore 5
start local 5 19: aload 1
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
aload 5
invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/net/URI;Ljava/util/Map;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;
astore 2
start local 2 20: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
getfield com.sun.tools.javac.file.Locations.closeables:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 end local 3 21: StackMap locals: java.nio.file.FileSystem
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
getfield com.sun.tools.javac.file.Locations.closeables:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: StackMap locals:
StackMap stack:
aload 0
aload 2
ldc "/modules"
iconst_0
anewarray java.lang.String
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules:Ljava/nio/file/Path;
end local 2 end local 1 23: goto 28
StackMap locals: com.sun.tools.javac.file.Locations$SystemModulesLocationHandler
StackMap stack: java.lang.RuntimeException
24: astore 1
start local 1 25: aload 0
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.systemJavaHome:Ljava/nio/file/Path;
ldc "modules"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules:Ljava/nio/file/Path;
26: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules: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 28
27: new java.io.IOException
dup
ldc "can't find system classes"
aload 1
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 28: StackMap locals:
StackMap stack:
aload 0
new com.sun.tools.javac.file.Locations$ModuleTable
dup
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
invokespecial com.sun.tools.javac.file.Locations$ModuleTable.<init>:(Lcom/sun/tools/javac/file/Locations;)V
putfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
29: aconst_null
astore 1
aconst_null
astore 2
30: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.modules:Ljava/nio/file/Path;
invokedynamic accept()Ljava/nio/file/DirectoryStream$Filter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/javac/file/Locations$SystemModulesLocationHandler.lambda$1(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
astore 3
start local 3 31: aload 3
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 5
goto 39
StackMap locals: com.sun.tools.javac.file.Locations$SystemModulesLocationHandler java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
32: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 4
start local 4 33: aload 4
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 6
start local 6 34: new java.lang.StringBuilder
dup
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.location:Ljavax/tools/JavaFileManager$Location;
invokeinterface javax.tools.JavaFileManager$Location.getName:()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 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 35: new com.sun.tools.javac.file.Locations$ModuleLocationHandler
dup
aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
aload 0
36: aload 7
aload 6
aload 4
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
iconst_0
37: invokespecial com.sun.tools.javac.file.Locations$ModuleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Lcom/sun/tools/javac/file/Locations$LocationHandler;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;Z)V
astore 8
start local 8 38: aload 0
getfield com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
aload 8
invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.add:(Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;)V
end local 8 end local 7 end local 6 end local 4 39: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
40: aload 3
ifnull 46
aload 3
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 46
StackMap locals: com.sun.tools.javac.file.Locations$SystemModulesLocationHandler java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
41: astore 1
aload 3
ifnull 42
aload 3
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 3 StackMap locals:
StackMap stack:
42: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 2
aload 1
ifnonnull 44
aload 2
astore 1
goto 45
StackMap locals:
StackMap stack:
44: aload 1
aload 2
if_acmpeq 45
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 1
athrow
46: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
7 23 1 jrtURI Ljava/net/URI;
9 10 2 jrtfs Ljava/nio/file/FileSystem;
13 14 2 jrtfs Ljava/nio/file/FileSystem;
20 23 2 jrtfs Ljava/nio/file/FileSystem;
12 13 3 attrMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
16 21 3 javaHomeURL Ljava/net/URL;
17 21 4 currentLoader Ljava/lang/ClassLoader;
19 21 5 fsLoader Ljava/net/URLClassLoader;
25 28 1 e Ljava/lang/RuntimeException;
31 42 3 stream Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
33 39 4 entry Ljava/nio/file/Path;
34 39 6 moduleName Ljava/lang/String;
35 39 7 name Ljava/lang/String;
38 39 8 h Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
Exception table:
from to target type
10 13 14 Class java.nio.file.ProviderNotFoundException
6 23 24 Class java.nio.file.FileSystemNotFoundException
6 23 24 Class java.nio.file.ProviderNotFoundException
31 40 41 any
30 43 43 any
Exceptions:
throws java.io.IOException
private static boolean lambda$1(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
}
SourceFile: "Locations.java"
NestHost: com.sun.tools.javac.file.Locations
InnerClasses:
private abstract BasicLocationHandler = com.sun.tools.javac.file.Locations$BasicLocationHandler of com.sun.tools.javac.file.Locations
protected abstract LocationHandler = com.sun.tools.javac.file.Locations$LocationHandler of com.sun.tools.javac.file.Locations
private ModuleLocationHandler = com.sun.tools.javac.file.Locations$ModuleLocationHandler of com.sun.tools.javac.file.Locations
private ModuleTable = com.sun.tools.javac.file.Locations$ModuleTable of com.sun.tools.javac.file.Locations
private SystemModulesLocationHandler = com.sun.tools.javac.file.Locations$SystemModulesLocationHandler of com.sun.tools.javac.file.Locations
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager