public class com.sun.tools.javac.file.Locations
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.file.Locations
super_class: java.lang.Object
{
private com.sun.tools.javac.util.Log log;
descriptor: Lcom/sun/tools/javac/util/Log;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.file.FSInfo fsInfo;
descriptor: Lcom/sun/tools/javac/file/FSInfo;
flags: (0x0002) ACC_PRIVATE
private boolean warn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.javac.jvm.ModuleNameReader moduleNameReader;
descriptor: Lcom/sun/tools/javac/jvm/ModuleNameReader;
flags: (0x0002) ACC_PRIVATE
private javax.tools.StandardJavaFileManager$PathFactory pathFactory;
descriptor: Ljavax/tools/StandardJavaFileManager$PathFactory;
flags: (0x0002) ACC_PRIVATE
static final java.nio.file.Path javaHome;
descriptor: Ljava/nio/file/Path;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.nio.file.Path thisSystemModules;
descriptor: Ljava/nio/file/Path;
flags: (0x0018) ACC_STATIC, ACC_FINAL
java.util.Map<java.nio.file.Path, java.nio.file.FileSystem> fileSystems;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/FileSystem;>;
java.util.List<java.io.Closeable> closeables;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljava/io/Closeable;>;
private java.util.Map<java.lang.String, java.lang.String> fsEnv;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
java.util.Map<javax.tools.JavaFileManager$Location, com.sun.tools.javac.file.Locations$LocationHandler> handlersForLocation;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/Locations$LocationHandler;>;
java.util.Map<com.sun.tools.javac.main.Option, com.sun.tools.javac.file.Locations$LocationHandler> handlersForOption;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/tools/javac/main/Option;Lcom/sun/tools/javac/file/Locations$LocationHandler;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)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;
putstatic com.sun.tools.javac.file.Locations.javaHome:Ljava/nio/file/Path;
1: getstatic com.sun.tools.javac.file.Locations.javaHome:Ljava/nio/file/Path;
ldc "lib"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
ldc "modules"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
putstatic com.sun.tools.javac.file.Locations.thisSystemModules:Ljava/nio/file/Path;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokedynamic getPath()Ljavax/tools/StandardJavaFileManager$PathFactory;
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/String;[Ljava/lang/String;)Ljava/nio/file/Path;
com/sun/tools/javac/file/Locations.lambda$2(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; (6)
(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
putfield com.sun.tools.javac.file.Locations.pathFactory:Ljavax/tools/StandardJavaFileManager$PathFactory;
2: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield com.sun.tools.javac.file.Locations.fileSystems:Ljava/util/Map;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.tools.javac.file.Locations.closeables:Ljava/util/List;
4: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
putfield com.sun.tools.javac.file.Locations.fsEnv:Ljava/util/Map;
5: aload 0
invokevirtual com.sun.tools.javac.file.Locations.initHandlers:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/file/Locations;
java.nio.file.Path getPath(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
flags: (0x0080) ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.file.Locations.pathFactory:Ljavax/tools/StandardJavaFileManager$PathFactory;
aload 1
aload 2
invokeinterface javax.tools.StandardJavaFileManager$PathFactory.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
1: areturn
2: StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
astore 3
start local 3 3: new java.lang.IllegalArgumentException
dup
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 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;
0 4 1 first Ljava/lang/String;
0 4 2 more [Ljava/lang/String;
3 4 3 ipe Ljava/nio/file/InvalidPathException;
Exception table:
from to target type
0 1 2 Class java.nio.file.InvalidPathException
MethodParameters:
Name Flags
first
more
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.sun.tools.javac.file.Locations.closeables:Ljava/util/List;
aload 1
invokedynamic accept(Lcom/sun/tools/javac/util/ListBuffer;)Ljava/util/function/Consumer;
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;)V
com/sun/tools/javac/file/Locations.lambda$1(Lcom/sun/tools/javac/util/ListBuffer;Ljava/io/Closeable;)V (6)
(Ljava/io/Closeable;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
2: aload 1
invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
ifeq 9
3: new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
astore 2
start local 2 4: aload 1
invokevirtual com.sun.tools.javac.util.ListBuffer.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.sun.tools.javac.file.Locations com.sun.tools.javac.util.ListBuffer java.io.IOException top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.IOException
astore 3
start local 3 6: aload 2
aload 3
invokevirtual java.io.IOException.addSuppressed:(Ljava/lang/Throwable;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 2
athrow
end local 2 9: StackMap locals: com.sun.tools.javac.file.Locations com.sun.tools.javac.util.ListBuffer
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/file/Locations;
1 10 1 list Lcom/sun/tools/javac/util/ListBuffer<Ljava/io/IOException;>;
4 9 2 ex Ljava/io/IOException;
6 7 3 e Ljava/io/IOException;
Exceptions:
throws java.io.IOException
void update(com.sun.tools.javac.util.Log, boolean, com.sun.tools.javac.file.FSInfo);
descriptor: (Lcom/sun/tools/javac/util/Log;ZLcom/sun/tools/javac/file/FSInfo;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
putfield com.sun.tools.javac.file.Locations.log:Lcom/sun/tools/javac/util/Log;
1: aload 0
iload 2
putfield com.sun.tools.javac.file.Locations.warn:Z
2: aload 0
aload 3
putfield com.sun.tools.javac.file.Locations.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
3: return
end local 3 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;
0 4 1 log Lcom/sun/tools/javac/util/Log;
0 4 2 warn Z
0 4 3 fsInfo Lcom/sun/tools/javac/file/FSInfo;
MethodParameters:
Name Flags
log
warn
fsInfo
void setPathFactory(javax.tools.StandardJavaFileManager$PathFactory);
descriptor: (Ljavax/tools/StandardJavaFileManager$PathFactory;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javac.file.Locations.pathFactory:Ljavax/tools/StandardJavaFileManager$PathFactory;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/Locations;
0 2 1 f Ljavax/tools/StandardJavaFileManager$PathFactory;
MethodParameters:
Name Flags
f
boolean isDefaultBootClassPath();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic javax.tools.StandardLocation.PLATFORM_CLASS_PATH:Ljavax/tools/StandardLocation;
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
checkcast com.sun.tools.javac.file.Locations$BootClassPathLocationHandler
1: astore 1
start local 1 2: aload 1
invokevirtual com.sun.tools.javac.file.Locations$BootClassPathLocationHandler.isDefault:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/file/Locations;
2 3 1 h Lcom/sun/tools/javac/file/Locations$BootClassPathLocationHandler;
boolean isDefaultSystemModulesPath();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic javax.tools.StandardLocation.SYSTEM_MODULES:Ljavax/tools/StandardLocation;
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
checkcast com.sun.tools.javac.file.Locations$SystemModulesLocationHandler
1: astore 1
start local 1 2: aload 1
invokevirtual com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.isExplicit:()Z
ifeq 3
iconst_0
goto 4
StackMap locals: com.sun.tools.javac.file.Locations$SystemModulesLocationHandler
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/file/Locations;
2 5 1 h Lcom/sun/tools/javac/file/Locations$SystemModulesLocationHandler;
private java.lang.Iterable<java.nio.file.Path> getPathEntries(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Iterable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.sun.tools.javac.file.Locations.getPathEntries:(Ljava/lang/String;Ljava/nio/file/Path;)Ljava/lang/Iterable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/Locations;
0 1 1 searchPath Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/lang/Iterable<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
searchPath
private java.lang.Iterable<java.nio.file.Path> getPathEntries(java.lang.String, java.nio.file.Path);
descriptor: (Ljava/lang/String;Ljava/nio/file/Path;)Ljava/lang/Iterable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 3
start local 3 1: aload 1
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
iconst_m1
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: com.sun.tools.javac.file.Locations java.lang.String java.nio.file.Path com.sun.tools.javac.util.ListBuffer top int int java.lang.String[]
StackMap stack:
2: aload 7
iload 5
aaload
astore 4
start local 4 3: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
4: aload 2
ifnull 12
5: aload 3
aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
6: goto 12
7: StackMap locals: com.sun.tools.javac.file.Locations java.lang.String java.nio.file.Path com.sun.tools.javac.util.ListBuffer java.lang.String int int java.lang.String[]
StackMap stack:
aload 3
aload 0
aload 4
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.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
8: goto 12
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
9: pop
10: aload 0
getfield com.sun.tools.javac.file.Locations.warn:Z
ifeq 12
11: aload 0
getfield com.sun.tools.javac.file.Locations.log:Lcom/sun/tools/javac/util/Log;
getstatic com.sun.tools.javac.code.Lint$LintCategory.PATH:Lcom/sun/tools/javac/code/Lint$LintCategory;
aload 4
invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.InvalidPath:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
end local 4 12: StackMap locals: com.sun.tools.javac.file.Locations java.lang.String java.nio.file.Path com.sun.tools.javac.util.ListBuffer top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 2
14: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/javac/file/Locations;
0 15 1 searchPath Ljava/lang/String;
0 15 2 emptyPathDefault Ljava/nio/file/Path;
1 15 3 entries Lcom/sun/tools/javac/util/ListBuffer<Ljava/nio/file/Path;>;
3 12 4 s Ljava/lang/String;
Exception table:
from to target type
7 8 9 Class java.lang.IllegalArgumentException
Signature: (Ljava/lang/String;Ljava/nio/file/Path;)Ljava/lang/Iterable<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
searchPath
emptyPathDefault
public void setMultiReleaseValue(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "releaseVersion"
aload 1
invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
putfield com.sun.tools.javac.file.Locations.fsEnv:Ljava/util/Map;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/Locations;
0 2 1 multiReleaseValue Ljava/lang/String;
MethodParameters:
Name Flags
multiReleaseValue
private boolean contains(java.util.Collection<java.nio.file.Path>, java.nio.file.Path);
descriptor: (Ljava/util/Collection;Ljava/nio/file/Path;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 2
invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
invokevirtual java.nio.file.FileSystem.provider:()Ljava/nio/file/spi/FileSystemProvider;
aload 0
getfield com.sun.tools.javac.file.Locations.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
invokevirtual com.sun.tools.javac.file.FSInfo.getJarFSProvider:()Ljava/nio/file/spi/FileSystemProvider;
if_acmpne 10
4: aload 2
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
astore 4
start local 4 5: aload 4
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "jar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
6: aload 4
invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
astore 5
start local 5 7: aload 5
ldc "!"
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 6
start local 6 8: aload 5
ldc "file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
iload 6
ifle 10
9: aload 5
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
invokestatic java.nio.file.Paths.get:(Ljava/net/URI;)Ljava/nio/file/Path;
astore 3
end local 6 end local 5 end local 4 10: StackMap locals: java.nio.file.Path
StackMap stack:
aload 2
invokestatic com.sun.tools.javac.file.Locations.normalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 4
start local 4 11: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: com.sun.tools.javac.file.Locations java.util.Collection java.nio.file.Path java.nio.file.Path java.nio.file.Path top java.util.Iterator
StackMap stack:
12: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 5
start local 5 13: aload 5
invokestatic com.sun.tools.javac.file.Locations.normalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 7
start local 7 14: aload 7
invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
aload 4
invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
if_acmpne 18
15: aload 7
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 18
16: aload 4
aload 7
invokeinterface java.nio.file.Path.startsWith:(Ljava/nio/file/Path;)Z
ifeq 18
17: iconst_1
ireturn
18: StackMap locals: com.sun.tools.javac.file.Locations java.util.Collection java.nio.file.Path java.nio.file.Path java.nio.file.Path java.nio.file.Path java.util.Iterator java.nio.file.Path
StackMap stack:
aload 3
ifnull 21
19: aload 3
aload 7
invokestatic java.nio.file.Files.isSameFile:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
ifeq 21
20: iconst_1
ireturn
end local 7 end local 5 21: StackMap locals: com.sun.tools.javac.file.Locations java.util.Collection java.nio.file.Path java.nio.file.Path java.nio.file.Path top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
22: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/javac/file/Locations;
0 23 1 searchPath Ljava/util/Collection<Ljava/nio/file/Path;>;
0 23 2 file Ljava/nio/file/Path;
3 23 3 enclosingJar Ljava/nio/file/Path;
5 10 4 uri Ljava/net/URI;
7 10 5 ssp Ljava/lang/String;
8 10 6 sep I
11 23 4 nf Ljava/nio/file/Path;
13 21 5 p Ljava/nio/file/Path;
14 21 7 np Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Collection<Ljava/nio/file/Path;>;Ljava/nio/file/Path;)Z
MethodParameters:
Name Flags
searchPath
file
void initHandlers();
descriptor: ()V
flags: (0x0000)
Code:
stack=11, locals=8, args_size=1
start local 0 0: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.file.Locations.handlersForLocation:Ljava/util/Map;
1: aload 0
new java.util.EnumMap
dup
ldc Lcom/sun/tools/javac/main/Option;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putfield com.sun.tools.javac.file.Locations.handlersForOption:Ljava/util/Map;
2: bipush 13
anewarray com.sun.tools.javac.file.Locations$BasicLocationHandler
dup
iconst_0
3: new com.sun.tools.javac.file.Locations$BootClassPathLocationHandler
dup
aload 0
invokespecial com.sun.tools.javac.file.Locations$BootClassPathLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;)V
aastore
dup
iconst_1
4: new com.sun.tools.javac.file.Locations$ClassPathLocationHandler
dup
aload 0
invokespecial com.sun.tools.javac.file.Locations$ClassPathLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;)V
aastore
dup
iconst_2
5: new com.sun.tools.javac.file.Locations$SimpleLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.SOURCE_PATH:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$SimpleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
iconst_3
6: new com.sun.tools.javac.file.Locations$SimpleLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.ANNOTATION_PROCESSOR_PATH:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.PROCESSOR_PATH:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$SimpleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
iconst_4
7: new com.sun.tools.javac.file.Locations$SimpleLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.ANNOTATION_PROCESSOR_MODULE_PATH:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.PROCESSOR_MODULE_PATH:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$SimpleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
iconst_5
8: new com.sun.tools.javac.file.Locations$OutputLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.D:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$OutputLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
bipush 6
9: new com.sun.tools.javac.file.Locations$OutputLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.S:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$OutputLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
bipush 7
10: new com.sun.tools.javac.file.Locations$OutputLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.NATIVE_HEADER_OUTPUT:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.H:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$OutputLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
bipush 8
11: new com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler
dup
aload 0
invokespecial com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;)V
aastore
dup
bipush 9
12: new com.sun.tools.javac.file.Locations$PatchModulesLocationHandler
dup
aload 0
invokespecial com.sun.tools.javac.file.Locations$PatchModulesLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;)V
aastore
dup
bipush 10
13: new com.sun.tools.javac.file.Locations$ModulePathLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.UPGRADE_MODULE_PATH:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.UPGRADE_MODULE_PATH:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$ModulePathLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
bipush 11
14: new com.sun.tools.javac.file.Locations$ModulePathLocationHandler
dup
aload 0
getstatic javax.tools.StandardLocation.MODULE_PATH:Ljavax/tools/StandardLocation;
iconst_1
anewarray com.sun.tools.javac.main.Option
dup
iconst_0
getstatic com.sun.tools.javac.main.Option.MODULE_PATH:Lcom/sun/tools/javac/main/Option;
aastore
invokespecial com.sun.tools.javac.file.Locations$ModulePathLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
aastore
dup
bipush 12
15: new com.sun.tools.javac.file.Locations$SystemModulesLocationHandler
dup
aload 0
invokespecial com.sun.tools.javac.file.Locations$SystemModulesLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;)V
aastore
16: astore 1
start local 1 17: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 25
StackMap locals: com.sun.tools.javac.file.Locations com.sun.tools.javac.file.Locations$BasicLocationHandler[] top int int com.sun.tools.javac.file.Locations$BasicLocationHandler[]
StackMap stack:
18: aload 5
iload 3
aaload
astore 2
start local 2 19: aload 0
getfield com.sun.tools.javac.file.Locations.handlersForLocation:Ljava/util/Map;
aload 2
getfield com.sun.tools.javac.file.Locations$BasicLocationHandler.location:Ljavax/tools/JavaFileManager$Location;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 2
getfield com.sun.tools.javac.file.Locations$BasicLocationHandler.options:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: com.sun.tools.javac.file.Locations com.sun.tools.javac.file.Locations$BasicLocationHandler[] com.sun.tools.javac.file.Locations$BasicLocationHandler int int com.sun.tools.javac.file.Locations$BasicLocationHandler[] top java.util.Iterator
StackMap stack:
21: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.main.Option
astore 6
start local 6 22: aload 0
getfield com.sun.tools.javac.file.Locations.handlersForOption:Ljava/util/Map;
aload 6
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 23: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 2 24: iinc 3 1
StackMap locals: com.sun.tools.javac.file.Locations com.sun.tools.javac.file.Locations$BasicLocationHandler[] top int int com.sun.tools.javac.file.Locations$BasicLocationHandler[]
StackMap stack:
25: iload 3
iload 4
if_icmplt 18
26: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/sun/tools/javac/file/Locations;
17 27 1 handlers [Lcom/sun/tools/javac/file/Locations$BasicLocationHandler;
19 24 2 h Lcom/sun/tools/javac/file/Locations$BasicLocationHandler;
22 23 6 o Lcom/sun/tools/javac/main/Option;
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=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.file.Locations.handlersForOption:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.file.Locations$LocationHandler
astore 3
start local 3 1: aload 3
ifnonnull 2
iconst_0
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 3
aload 1
aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.handleOption:(Lcom/sun/tools/javac/main/Option;Ljava/lang/String;)Z
StackMap locals:
StackMap stack: int
3: ireturn
end local 3 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;
0 4 1 option Lcom/sun/tools/javac/main/Option;
0 4 2 value Ljava/lang/String;
1 4 3 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
MethodParameters:
Name Flags
option
value
boolean hasLocation(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 2
start local 2 1: aload 2
ifnonnull 2
iconst_0
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.isSet:()Z
StackMap locals:
StackMap stack: int
3: ireturn
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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
1 4 2 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
MethodParameters:
Name Flags
location
boolean hasExplicitLocation(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 2
start local 2 1: aload 2
ifnonnull 2
iconst_0
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.isExplicit:()Z
StackMap locals:
StackMap stack: int
3: ireturn
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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
1 4 2 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
MethodParameters:
Name Flags
location
java.util.Collection<java.nio.file.Path> getLocation(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/util/Collection;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.getPaths:()Ljava/util/Collection;
StackMap locals:
StackMap stack: java.util.Collection
3: areturn
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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
1 4 2 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/util/Collection<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
location
java.nio.file.Path getOutputLocation(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/nio/file/Path;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.tools.JavaFileManager$Location.isOutputLocation:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 2
start local 2 3: aload 2
checkcast com.sun.tools.javac.file.Locations$OutputLocationHandler
getfield com.sun.tools.javac.file.Locations$OutputLocationHandler.outputDir:Ljava/nio/file/Path;
areturn
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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
3 4 2 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
MethodParameters:
Name Flags
location
void setLocation(javax.tools.JavaFileManager$Location, java.lang.Iterable<? extends java.nio.file.Path>);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 3
start local 3 1: aload 3
ifnonnull 7
2: aload 1
invokeinterface javax.tools.JavaFileManager$Location.isOutputLocation:()Z
ifeq 5
3: new com.sun.tools.javac.file.Locations$OutputLocationHandler
dup
aload 0
aload 1
iconst_0
anewarray com.sun.tools.javac.main.Option
invokespecial com.sun.tools.javac.file.Locations$OutputLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
astore 3
4: goto 6
5: StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
new com.sun.tools.javac.file.Locations$SimpleLocationHandler
dup
aload 0
aload 1
iconst_0
anewarray com.sun.tools.javac.main.Option
invokespecial com.sun.tools.javac.file.Locations$SimpleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
astore 3
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.Locations.handlersForLocation:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.setPaths:(Ljava/lang/Iterable;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/file/Locations;
0 9 1 location Ljavax/tools/JavaFileManager$Location;
0 9 2 files Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
1 9 3 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)V
MethodParameters:
Name Flags
location
files
javax.tools.JavaFileManager$Location getLocationForModule(javax.tools.JavaFileManager$Location, java.lang.String);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 3
aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.getLocationForModule:(Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
StackMap locals:
StackMap stack: javax.tools.JavaFileManager$Location
3: areturn
end local 3 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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
0 4 2 name Ljava/lang/String;
1 4 3 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
name
javax.tools.JavaFileManager$Location getLocationForModule(javax.tools.JavaFileManager$Location, java.nio.file.Path);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/nio/file/Path;)Ljavax/tools/JavaFileManager$Location;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 3
aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.getLocationForModule:(Ljava/nio/file/Path;)Ljavax/tools/JavaFileManager$Location;
StackMap locals:
StackMap stack: javax.tools.JavaFileManager$Location
3: areturn
end local 3 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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
0 4 2 file Ljava/nio/file/Path;
1 4 3 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
file
void setLocationForModule(javax.tools.JavaFileManager$Location, java.lang.String, java.lang.Iterable<? extends java.nio.file.Path>);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 4
start local 4 1: aload 4
ifnonnull 7
2: aload 1
invokeinterface javax.tools.JavaFileManager$Location.isOutputLocation:()Z
ifeq 5
3: new com.sun.tools.javac.file.Locations$OutputLocationHandler
dup
aload 0
aload 1
iconst_0
anewarray com.sun.tools.javac.main.Option
invokespecial com.sun.tools.javac.file.Locations$OutputLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
astore 4
4: goto 6
5: StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
new com.sun.tools.javac.file.Locations$ModulePathLocationHandler
dup
aload 0
aload 1
iconst_0
anewarray com.sun.tools.javac.main.Option
invokespecial com.sun.tools.javac.file.Locations$ModulePathLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
astore 4
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.Locations.handlersForLocation:Ljava/util/Map;
aload 1
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
aload 4
aload 2
aload 3
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.setPathsForModule:(Ljava/lang/String;Ljava/lang/Iterable;)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/file/Locations;
0 9 1 location Ljavax/tools/JavaFileManager$Location;
0 9 2 moduleName Ljava/lang/String;
0 9 3 files Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
1 9 4 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)V
MethodParameters:
Name Flags
location
moduleName
files
java.lang.String inferModuleName(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.inferModuleName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
1 4 2 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
MethodParameters:
Name Flags
location
java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager$Location>> listLocationsForModules(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
2: aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.listLocationsForModules:()Ljava/lang/Iterable;
StackMap locals:
StackMap stack: java.lang.Iterable
3: areturn
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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
1 4 2 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable<Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;>;
MethodParameters:
Name Flags
location
boolean contains(javax.tools.JavaFileManager$Location, java.nio.file.Path);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/nio/file/Path;)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.file.Locations.getHandler:(Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "unknown location"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.sun.tools.javac.file.Locations$LocationHandler
StackMap stack:
aload 3
aload 2
invokevirtual com.sun.tools.javac.file.Locations$LocationHandler.contains:(Ljava/nio/file/Path;)Z
ireturn
end local 3 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;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
0 4 2 file Ljava/nio/file/Path;
1 4 3 h Lcom/sun/tools/javac/file/Locations$LocationHandler;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
file
protected com.sun.tools.javac.file.Locations$LocationHandler getHandler(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Lcom/sun/tools/javac/file/Locations$LocationHandler;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, 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: aload 1
instanceof com.sun.tools.javac.file.Locations$LocationHandler
ifeq 3
2: aload 1
checkcast com.sun.tools.javac.file.Locations$LocationHandler
goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.Locations.handlersForLocation:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.file.Locations$LocationHandler
4: StackMap locals:
StackMap stack: com.sun.tools.javac.file.Locations$LocationHandler
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/file/Locations;
0 5 1 location Ljavax/tools/JavaFileManager$Location;
MethodParameters:
Name Flags
location
private boolean isArchive(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic com.sun.tools.javac.util.StringUtils.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.tools.javac.file.Locations.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
aload 1
invokevirtual com.sun.tools.javac.file.FSInfo.isFile:(Ljava/nio/file/Path;)Z
ifeq 4
2: aload 2
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 3
aload 2
ldc ".zip"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
3: StackMap locals: java.lang.String
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/file/Locations;
0 5 1 file Ljava/nio/file/Path;
1 5 2 n Ljava/lang/String;
MethodParameters:
Name Flags
file
static java.nio.file.Path normalize(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: aload 0
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 p Ljava/nio/file/Path;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
p
static boolean access$0(com.sun.tools.javac.file.Locations, java.nio.file.Path);
descriptor: (Lcom/sun/tools/javac/file/Locations;Ljava/nio/file/Path;)Z
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial com.sun.tools.javac.file.Locations.isArchive:(Ljava/nio/file/Path;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static java.nio.file.Path lambda$2(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/lang/String;
0 1 1 arg1 [Ljava/lang/String;
private static void lambda$1(com.sun.tools.javac.util.ListBuffer, java.io.Closeable);
descriptor: (Lcom/sun/tools/javac/util/ListBuffer;Ljava/io/Closeable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 1
invokeinterface java.io.Closeable.close:()V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 closeable Ljava/io/Closeable;
3 4 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
}
SourceFile: "Locations.java"
NestMembers:
com.sun.tools.javac.file.Locations$BasicLocationHandler com.sun.tools.javac.file.Locations$BootClassPathLocationHandler com.sun.tools.javac.file.Locations$ClassPathLocationHandler com.sun.tools.javac.file.Locations$LocationHandler com.sun.tools.javac.file.Locations$ModuleLocationHandler com.sun.tools.javac.file.Locations$ModulePathLocationHandler com.sun.tools.javac.file.Locations$ModulePathLocationHandler$ModulePathIterator com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler com.sun.tools.javac.file.Locations$ModuleTable com.sun.tools.javac.file.Locations$OutputLocationHandler com.sun.tools.javac.file.Locations$PatchModulesLocationHandler com.sun.tools.javac.file.Locations$SearchPath com.sun.tools.javac.file.Locations$SimpleLocationHandler com.sun.tools.javac.file.Locations$SystemModulesLocationHandler
InnerClasses:
public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
private abstract BasicLocationHandler = com.sun.tools.javac.file.Locations$BasicLocationHandler of com.sun.tools.javac.file.Locations
private BootClassPathLocationHandler = com.sun.tools.javac.file.Locations$BootClassPathLocationHandler of com.sun.tools.javac.file.Locations
private ClassPathLocationHandler = com.sun.tools.javac.file.Locations$ClassPathLocationHandler 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 ModulePathLocationHandler = com.sun.tools.javac.file.Locations$ModulePathLocationHandler of com.sun.tools.javac.file.Locations
private ModuleSourcePathLocationHandler = com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler of com.sun.tools.javac.file.Locations
private ModuleTable = com.sun.tools.javac.file.Locations$ModuleTable of com.sun.tools.javac.file.Locations
private OutputLocationHandler = com.sun.tools.javac.file.Locations$OutputLocationHandler of com.sun.tools.javac.file.Locations
private PatchModulesLocationHandler = com.sun.tools.javac.file.Locations$PatchModulesLocationHandler of com.sun.tools.javac.file.Locations
private SearchPath = com.sun.tools.javac.file.Locations$SearchPath of com.sun.tools.javac.file.Locations
private SimpleLocationHandler = com.sun.tools.javac.file.Locations$SimpleLocationHandler of com.sun.tools.javac.file.Locations
private SystemModulesLocationHandler = com.sun.tools.javac.file.Locations$SystemModulesLocationHandler of com.sun.tools.javac.file.Locations
public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
public abstract PathFactory = javax.tools.StandardJavaFileManager$PathFactory of javax.tools.StandardJavaFileManager