class com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl implements com.sun.tools.javac.platform.PlatformDescription
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl
super_class: java.lang.Object
{
private final java.util.Map<java.nio.file.Path, java.nio.file.FileSystem> ctSym2FileSystem;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/FileSystem;>;
private final java.lang.String sourceVersion;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String ctSymVersion;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSym2FileSystem:Ljava/util/Map;
2: aload 0
aload 1
putfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.sourceVersion:Ljava/lang/String;
3: aload 0
4: aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
bipush 36
invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
invokestatic com.sun.tools.javac.util.StringUtils.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
5: putfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSymVersion:Ljava/lang/String;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
0 7 1 sourceVersion Ljava/lang/String;
MethodParameters:
Name Flags
sourceVersion
public javax.tools.JavaFileManager getFileManager();
descriptor: ()Ljavax/tools/JavaFileManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=21, args_size=1
start local 0 0: new com.sun.tools.javac.util.Context
dup
invokespecial com.sun.tools.javac.util.Context.<init>:()V
astore 1
start local 1 1: new java.io.PrintWriter
dup
getstatic java.lang.System.err:Ljava/io/PrintStream;
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
astore 2
start local 2 2: aload 1
getstatic com.sun.tools.javac.util.Log.errKey:Lcom/sun/tools/javac/util/Context$Key;
aload 2
invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
3: aload 1
invokestatic com.sun.tools.javac.file.CacheFSInfo.preRegister:(Lcom/sun/tools/javac/util/Context;)V
4: new com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1
dup
aload 0
aload 1
iconst_1
aconst_null
invokespecial com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1.<init>:(Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;Lcom/sun/tools/javac/util/Context;ZLjava/nio/charset/Charset;)V
astore 3
start local 3 5: aload 3
getstatic com.sun.tools.javac.main.Option.MULTIRELEASE:Lcom/sun/tools/javac/main/Option;
aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.sourceVersion:Ljava/lang/String;
invokevirtual com.sun.tools.javac.file.JavacFileManager.handleOption:(Lcom/sun/tools/javac/main/Option;Ljava/lang/String;)Z
pop
6: invokestatic com.sun.tools.javac.platform.JDKPlatformProvider.findCtSym:()Ljava/nio/file/Path;
astore 4
start local 4 7: aload 4
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 100
8: aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSym2FileSystem:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.FileSystem
astore 5
start local 5 9: aload 5
ifnonnull 11
10: aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSym2FileSystem:Ljava/util/Map;
aload 4
aload 4
aconst_null
invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;
dup
astore 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem
StackMap stack:
aload 5
invokevirtual java.nio.file.FileSystem.getRootDirectories:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 6
start local 6 12: getstatic com.sun.tools.javac.code.Source$Feature.MODULES:Lcom/sun/tools/javac/code/Source$Feature;
aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.sourceVersion:Ljava/lang/String;
invokestatic com.sun.tools.javac.code.Source.lookup:(Ljava/lang/String;)Lcom/sun/tools/javac/code/Source;
invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
13: istore 7
start local 7 14: aload 6
aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSymVersion:Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
ldc "system-modules"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 8
start local 8 15: ldc "UTF-8"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 9
start local 9 16: iload 7
ifne 45
17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 18: aconst_null
astore 11
aconst_null
astore 12
19: aload 6
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 13
start local 13 20: aload 13
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 15
goto 36
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
21: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 14
start local 14 22: aload 14
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSymVersion:Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 36
23: aload 14
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc "-"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 36
24: aconst_null
astore 16
aconst_null
astore 17
25: aload 14
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 18
start local 18 26: aload 18
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 20
goto 29
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
27: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 19
start local 19 28: aload 10
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 19 29: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: aload 18
ifnull 36
aload 18
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 36
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
31: astore 16
aload 18
ifnull 32
aload 18
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 18 StackMap locals:
StackMap stack:
32: aload 16
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 17
aload 16
ifnonnull 34
aload 17
astore 16
goto 35
StackMap locals:
StackMap stack:
34: aload 16
aload 17
if_acmpeq 35
aload 16
aload 17
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 16
athrow
end local 14 36: StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
37: aload 13
ifnull 43
aload 13
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 43
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.List java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
38: astore 11
aload 13
ifnull 39
aload 13
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 13 StackMap locals:
StackMap stack:
39: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 12
aload 11
ifnonnull 41
aload 12
astore 11
goto 42
StackMap locals:
StackMap stack:
41: aload 11
aload 12
if_acmpeq 42
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
42: aload 11
athrow
43: StackMap locals:
StackMap stack:
aload 3
getstatic javax.tools.StandardLocation.PLATFORM_CLASS_PATH:Ljavax/tools/StandardLocation;
aload 10
invokevirtual com.sun.tools.javac.file.JavacFileManager.setLocationFromPaths:(Ljavax/tools/JavaFileManager$Location;Ljava/util/Collection;)V
end local 10 44: goto 96
StackMap locals:
StackMap stack:
45: aload 8
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 62
46: aload 3
ldc "--system"
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "none"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
invokevirtual com.sun.tools.javac.file.JavacFileManager.handleOption:(Ljava/lang/String;Ljava/util/Iterator;)Z
pop
47: ldc "jrt:/"
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
invokestatic java.nio.file.FileSystems.getFileSystem:(Ljava/net/URI;)Ljava/nio/file/FileSystem;
48: ldc "modules"
iconst_0
anewarray java.lang.String
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
49: astore 10
start local 10 50: aconst_null
astore 11
aconst_null
astore 12
51: aload 8
aload 9
invokestatic java.nio.file.Files.lines:(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/stream/Stream;
52: astore 13
start local 13 53: aload 13
aload 10
invokedynamic apply(Ljava/nio/file/Path;)Ljava/util/function/Function;
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;)Ljava/lang/Object;
com/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl.lambda$0(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/Path; (6)
(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
54: invokedynamic test()Ljava/util/function/Predicate;
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/platform/JDKPlatformProvider$PlatformDescriptionImpl.lambda$1(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
55: aload 3
invokedynamic accept(Lcom/sun/tools/javac/file/JavacFileManager;)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/platform/JDKPlatformProvider$PlatformDescriptionImpl.lambda$2(Lcom/sun/tools/javac/file/JavacFileManager;Ljava/nio/file/Path;)V (6)
(Ljava/nio/file/Path;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
56: aload 13
ifnull 96
aload 13
invokeinterface java.util.stream.Stream.close:()V
goto 96
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
57: astore 11
aload 13
ifnull 58
aload 13
invokeinterface java.util.stream.Stream.close:()V
end local 13 StackMap locals:
StackMap stack:
58: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
59: astore 12
aload 11
ifnonnull 60
aload 12
astore 11
goto 61
StackMap locals:
StackMap stack:
60: aload 11
aload 12
if_acmpeq 61
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
61: aload 11
athrow
end local 10 62: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 10
start local 10 63: aconst_null
astore 11
aconst_null
astore 12
64: aload 6
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 13
start local 13 65: aload 13
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 15
goto 81
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
66: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 14
start local 14 67: aload 14
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSymVersion:Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 81
68: aload 14
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc "-"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 81
69: aconst_null
astore 16
aconst_null
astore 17
70: aload 14
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 18
start local 18 71: aload 18
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 20
goto 74
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
72: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 19
start local 19 73: aload 10
aload 19
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
com/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl.lambda$3(Ljava/lang/String;)Ljava/util/List; (6)
(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.List
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 19 74: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
75: aload 18
ifnull 81
aload 18
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 81
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
76: astore 16
aload 18
ifnull 77
aload 18
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 18 StackMap locals:
StackMap stack:
77: aload 16
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
78: astore 17
aload 16
ifnonnull 79
aload 17
astore 16
goto 80
StackMap locals:
StackMap stack:
79: aload 16
aload 17
if_acmpeq 80
aload 16
aload 17
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
80: aload 16
athrow
end local 14 81: StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 66
82: aload 13
ifnull 88
aload 13
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 88
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.Map java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
83: astore 11
aload 13
ifnull 84
aload 13
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 13 StackMap locals:
StackMap stack:
84: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
85: astore 12
aload 11
ifnonnull 86
aload 12
astore 11
goto 87
StackMap locals:
StackMap stack:
86: aload 11
aload 12
if_acmpeq 87
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
87: aload 11
athrow
88: StackMap locals:
StackMap stack:
aload 3
ldc "--system"
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "none"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
invokevirtual com.sun.tools.javac.file.JavacFileManager.handleOption:(Ljava/lang/String;Ljava/util/Iterator;)Z
pop
89: aload 10
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 95
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset java.util.Map top java.util.Iterator
StackMap stack:
90: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 11
start local 11 91: aload 3
getstatic javax.tools.StandardLocation.SYSTEM_MODULES:Ljavax/tools/StandardLocation;
92: aload 11
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
93: aload 11
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
94: invokevirtual com.sun.tools.javac.file.JavacFileManager.setLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Collection;)V
end local 11 95: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 90
end local 10 96: StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path java.nio.file.FileSystem java.nio.file.Path int java.nio.file.Path java.nio.charset.Charset
StackMap stack:
aload 3
97: areturn
end local 9 end local 8 end local 7 end local 6 end local 5 98: StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl com.sun.tools.javac.util.Context java.io.PrintWriter com.sun.tools.javac.file.JavacFileManager java.nio.file.Path
StackMap stack: java.io.IOException
astore 5
start local 5 99: new java.lang.IllegalStateException
dup
aload 5
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 100: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Cannot find ct.sym!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 101 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
1 101 1 context Lcom/sun/tools/javac/util/Context;
2 101 2 pw Ljava/io/PrintWriter;
5 101 3 fm Lcom/sun/tools/javac/file/JavacFileManager;
7 101 4 file Ljava/nio/file/Path;
9 98 5 fs Ljava/nio/file/FileSystem;
12 98 6 root Ljava/nio/file/Path;
14 98 7 hasModules Z
15 98 8 systemModules Ljava/nio/file/Path;
16 98 9 utf8 Ljava/nio/charset/Charset;
18 44 10 paths Ljava/util/List<Ljava/nio/file/Path;>;
20 39 13 dir Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
22 36 14 section Ljava/nio/file/Path;
26 32 18 modules Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
28 29 19 module Ljava/nio/file/Path;
50 62 10 jrtModules Ljava/nio/file/Path;
53 58 13 lines Ljava/util/stream/Stream<Ljava/lang/String;>;
63 96 10 module2Paths Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;
65 84 13 dir Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
67 81 14 section Ljava/nio/file/Path;
71 77 18 modules Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
73 74 19 module Ljava/nio/file/Path;
91 95 11 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;
99 100 5 ex Ljava/io/IOException;
Exception table:
from to target type
26 30 31 any
25 33 33 any
20 37 38 any
19 40 40 any
53 56 57 any
51 59 59 any
71 75 76 any
70 78 78 any
65 82 83 any
64 85 85 any
8 97 98 Class java.io.IOException
private static void setModule(javax.tools.StandardJavaFileManager, java.nio.file.Path);
descriptor: (Ljavax/tools/StandardJavaFileManager;Ljava/nio/file/Path;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getstatic javax.tools.StandardLocation.SYSTEM_MODULES:Ljavax/tools/StandardLocation;
1: aload 1
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
2: aload 1
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
3: invokeinterface javax.tools.StandardJavaFileManager.setLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Collection;)V
4: goto 7
StackMap locals:
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 fm Ljavax/tools/StandardJavaFileManager;
0 8 1 mod Ljava/nio/file/Path;
6 7 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 4 5 Class java.io.IOException
MethodParameters:
Name Flags
fm
mod
public java.lang.String getSourceVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.sourceVersion:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
public java.lang.String getTargetVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.sourceVersion:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
public java.util.List<com.sun.tools.javac.platform.PlatformDescription$PluginInfo<javax.annotation.processing.Processor>> getAnnotationProcessors();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
Signature: ()Ljava/util/List<Lcom/sun/tools/javac/platform/PlatformDescription$PluginInfo<Ljavax/annotation/processing/Processor;>;>;
public java.util.List<com.sun.tools.javac.platform.PlatformDescription$PluginInfo<com.sun.source.util.Plugin>> getPlugins();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
Signature: ()Ljava/util/List<Lcom/sun/tools/javac/platform/PlatformDescription$PluginInfo<Lcom/sun/source/util/Plugin;>;>;
public java.util.List<java.lang.String> getAdditionalOptions();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSym2FileSystem:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.FileSystem
astore 1
start local 1 2: aload 1
invokevirtual java.nio.file.FileSystem.close:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
getfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.ctSym2FileSystem:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
2 3 1 fs Ljava/nio/file/FileSystem;
Exceptions:
throws java.io.IOException
private static java.nio.file.Path lambda$0(java.nio.file.Path, java.lang.String);
descriptor: (Ljava/nio/file/Path;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 1 0: aload 0
aload 1
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 line Ljava/lang/String;
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.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mod Ljava/nio/file/Path;
private static void lambda$2(com.sun.tools.javac.file.JavacFileManager, java.nio.file.Path);
descriptor: (Lcom/sun/tools/javac/file/JavacFileManager;Ljava/nio/file/Path;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokestatic com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.setModule:(Ljavax/tools/StandardJavaFileManager;Ljava/nio/file/Path;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mod Ljava/nio/file/Path;
private static java.util.List lambda$3(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 dummy Ljava/lang/String;
}
SourceFile: "JDKPlatformProvider.java"
NestHost: com.sun.tools.javac.platform.JDKPlatformProvider
InnerClasses:
public final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
PlatformDescriptionImpl = com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl of com.sun.tools.javac.platform.JDKPlatformProvider
com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1
private SigJavaFileObject = com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject of com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl
public abstract PluginInfo = com.sun.tools.javac.platform.PlatformDescription$PluginInfo of com.sun.tools.javac.platform.PlatformDescription
public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager