public class com.sun.tools.sjavac.comp.SjavacImpl implements com.sun.tools.sjavac.server.Sjavac
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.sjavac.comp.SjavacImpl
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/sjavac/comp/SjavacImpl;
public com.sun.tools.javac.main.Main$Result compile(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lcom/sun/tools/javac/main/Main$Result;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=19, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.sun.tools.sjavac.options.Options.parseArgs:([Ljava/lang/String;)Lcom/sun/tools/sjavac/options/Options;
astore 2
start local 2 1: goto 5
end local 2 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: astore 3
start local 3 3: aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
4: getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
areturn
end local 3 start local 2 5: StackMap locals: com.sun.tools.sjavac.options.Options
StackMap stack:
aload 2
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.validateOptions:(Lcom/sun/tools/sjavac/options/Options;)Z
ifne 7
6: getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
areturn
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getSources:()Ljava/util/List;
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getDestDir:()Ljava/nio/file/Path;
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.srcDstOverlap:(Ljava/util/List;Ljava/nio/file/Path;)Z
ifeq 9
8: getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
areturn
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getDestDir:()Ljava/nio/file/Path;
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.createIfMissing:(Ljava/nio/file/Path;)Z
ifne 11
10: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
areturn
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getStateDir:()Ljava/nio/file/Path;
astore 3
start local 3 12: aload 3
ifnull 14
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getStateDir:()Ljava/nio/file/Path;
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.createIfMissing:(Ljava/nio/file/Path;)Z
ifne 14
13: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
areturn
14: StackMap locals: java.nio.file.Path
StackMap stack:
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getGenSrcDir:()Ljava/nio/file/Path;
astore 4
start local 4 15: aload 4
ifnull 17
aload 4
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.createIfMissing:(Ljava/nio/file/Path;)Z
ifne 17
16: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
areturn
17: StackMap locals: java.nio.file.Path
StackMap stack:
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getHeaderDir:()Ljava/nio/file/Path;
astore 5
start local 5 18: aload 5
ifnull 20
aload 5
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.createIfMissing:(Ljava/nio/file/Path;)Z
ifne 20
19: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
areturn
20: StackMap locals: java.nio.file.Path
StackMap stack:
aload 3
ifnonnull 40
21: new com.sun.tools.javac.util.Context
dup
invokespecial com.sun.tools.javac.util.Context.<init>:()V
astore 6
start local 6 22: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 7
start local 7 23: new java.io.PrintWriter
dup
aload 7
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 8
start local 8 24: aload 6
aload 8
invokestatic com.sun.tools.javac.util.Log.preRegister:(Lcom/sun/tools/javac/util/Context;Ljava/io/PrintWriter;)V
25: aload 6
invokestatic com.sun.tools.javac.file.JavacFileManager.preRegister:(Lcom/sun/tools/javac/util/Context;)V
26: aload 1
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
27: 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/sjavac/comp/SjavacImpl.lambda$0(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
28: invokedynamic apply()Ljava/util/function/IntFunction;
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:
(I)Ljava/lang/Object;
com/sun/tools/sjavac/comp/SjavacImpl.lambda$1(I)[Ljava/lang/String; (6)
(I)[Ljava/lang/String;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.String[]
29: astore 9
start local 9 30: new com.sun.tools.javac.main.Main
dup
ldc "javac"
aload 8
invokespecial com.sun.tools.javac.main.Main.<init>:(Ljava/lang/String;Ljava/io/PrintWriter;)V
aload 9
aload 6
invokevirtual com.sun.tools.javac.main.Main.compile:([Ljava/lang/String;Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/Main$Result;
astore 10
start local 10 31: aload 8
invokevirtual java.io.PrintWriter.flush:()V
32: aload 7
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Util.getLines:(Ljava/lang/String;)Ljava/util/stream/Stream;
invokedynamic accept()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/sjavac/Log.error(Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
33: aload 6
ldc Ljavax/tools/JavaFileManager;
invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.tools.JavaFileManager
astore 11
start local 11 34: aload 11
instanceof com.sun.tools.javac.file.JavacFileManager
ifeq 39
35: aload 11
checkcast com.sun.tools.javac.file.JavacFileManager
invokevirtual com.sun.tools.javac.file.JavacFileManager.close:()V
36: goto 39
StackMap locals: com.sun.tools.sjavac.comp.SjavacImpl java.lang.String[] com.sun.tools.sjavac.options.Options java.nio.file.Path java.nio.file.Path java.nio.file.Path com.sun.tools.javac.util.Context java.io.StringWriter java.io.PrintWriter java.lang.String[] com.sun.tools.javac.main.Main$Result javax.tools.JavaFileManager
StackMap stack: java.io.IOException
37: astore 12
start local 12 38: new java.io.UncheckedIOException
dup
aload 12
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 12 39: StackMap locals:
StackMap stack:
aload 10
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 40: StackMap locals: com.sun.tools.sjavac.comp.SjavacImpl java.lang.String[] com.sun.tools.sjavac.options.Options java.nio.file.Path java.nio.file.Path java.nio.file.Path
StackMap stack:
aload 2
invokestatic com.sun.tools.sjavac.JavacState.load:(Lcom/sun/tools/sjavac/options/Options;)Lcom/sun/tools/sjavac/JavacState;
astore 6
start local 6 41: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 42: aload 7
aload 6
invokevirtual com.sun.tools.sjavac.JavacState.getJavaSuffixRule:()Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
43: aload 7
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getTranslationRules:()Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
44: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 8
start local 8 45: new com.sun.tools.sjavac.Module
dup
ldc ""
ldc ""
invokespecial com.sun.tools.sjavac.Module.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 9
start local 9 46: aload 8
ldc ""
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
47: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 10
start local 10 48: aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getSources:()Ljava/util/List;
49: aload 7
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
50: aload 10
51: aload 8
52: aload 9
53: aload 2
invokevirtual com.sun.tools.sjavac.options.Options.isDefaultPackagePermitted:()Z
54: iconst_0
55: invokestatic com.sun.tools.sjavac.comp.SjavacImpl.findSourceFiles:(Ljava/util/List;Ljava/util/Set;Ljava/util/Map;Ljava/util/Map;Lcom/sun/tools/sjavac/Module;ZZ)V
56: aload 10
invokeinterface java.util.Map.isEmpty:()Z
ifeq 60
57: ldc "Found nothing to compile!"
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
58: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
59: areturn
60: StackMap locals: com.sun.tools.sjavac.comp.SjavacImpl java.lang.String[] com.sun.tools.sjavac.options.Options java.nio.file.Path java.nio.file.Path java.nio.file.Path com.sun.tools.sjavac.JavacState java.util.Map java.util.Map com.sun.tools.sjavac.Module java.util.Map
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 11
start local 11 61: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 62: aload 12
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getSources:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
63: aload 12
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getSourceSearchPaths:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
64: aload 12
65: ldc ".java"
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
66: aload 11
67: aload 8
68: aload 9
69: aload 2
invokevirtual com.sun.tools.sjavac.options.Options.isDefaultPackagePermitted:()Z
70: iconst_1
71: invokestatic com.sun.tools.sjavac.comp.SjavacImpl.findSourceFiles:(Ljava/util/List;Ljava/util/Set;Ljava/util/Map;Ljava/util/Map;Lcom/sun/tools/sjavac/Module;ZZ)V
72: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.now:()Lcom/sun/tools/sjavac/BuildState;
aload 8
invokevirtual com.sun.tools.sjavac.BuildState.flattenPackagesSourcesAndArtifacts:(Ljava/util/Map;)V
73: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.now:()Lcom/sun/tools/sjavac/BuildState;
ldc "checking sources"
iconst_0
aload 10
invokevirtual com.sun.tools.sjavac.BuildState.checkInternalState:(Ljava/lang/String;ZLjava/util/Map;)V
74: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.now:()Lcom/sun/tools/sjavac/BuildState;
ldc "checking linked sources"
iconst_1
aload 11
invokevirtual com.sun.tools.sjavac.BuildState.checkInternalState:(Ljava/lang/String;ZLjava/util/Map;)V
75: aload 6
aload 11
invokevirtual com.sun.tools.sjavac.JavacState.setVisibleSources:(Ljava/util/Map;)V
76: iconst_0
istore 13
start local 13 77: iload 13
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.printRound:(I)V
78: aload 6
iconst_0
invokevirtual com.sun.tools.sjavac.JavacState.checkSourceStatus:(Z)V
79: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.findAllArtifacts:()V
80: aload 2
invokevirtual com.sun.tools.sjavac.options.Options.areUnidentifiedArtifactsPermitted:()Z
ifne 82
81: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.removeUnidentifiedArtifacts:()V
82: StackMap locals: java.util.Map java.util.List int
StackMap stack:
aload 6
invokevirtual com.sun.tools.sjavac.JavacState.taintPackagesThatMissArtifacts:()V
83: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.taintPackagesDependingOnChangedClasspathPackages:()V
84: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.deleteClassArtifactsInTaintedPackages:()V
85: aload 6
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getDestDir:()Ljava/nio/file/Path;
invokestatic com.sun.tools.sjavac.Util.pathToFile:(Ljava/nio/file/Path;)Ljava/io/File;
aload 7
invokevirtual com.sun.tools.sjavac.JavacState.performCopying:(Ljava/io/File;Ljava/util/Map;)V
86: aload 6
aload 4
invokestatic com.sun.tools.sjavac.Util.pathToFile:(Ljava/nio/file/Path;)Ljava/io/File;
aload 7
invokevirtual com.sun.tools.sjavac.JavacState.performTranslation:(Ljava/io/File;Ljava/util/Map;)V
87: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 14
start local 14 88: aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getGenSrcDir:()Ljava/nio/file/Path;
invokestatic com.sun.tools.sjavac.Util.pathToFile:(Ljava/nio/file/Path;)Ljava/io/File;
iconst_1
anewarray java.lang.String
dup
iconst_0
89: ldc ".java"
aastore
invokestatic com.sun.tools.sjavac.Util.set:([Ljava/lang/String;)Ljava/util/Set;
90: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
91: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
92: aload 14
93: aload 8
94: aload 9
95: iconst_0
96: iconst_1
97: iconst_0
98: invokestatic com.sun.tools.sjavac.Source.scanRoot:(Ljava/io/File;Ljava/util/Set;Ljava/util/List;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;Lcom/sun/tools/sjavac/Module;ZZZ)V
99: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.now:()Lcom/sun/tools/sjavac/BuildState;
aload 8
invokevirtual com.sun.tools.sjavac.BuildState.flattenPackagesSourcesAndArtifacts:(Ljava/util/Map;)V
100: aload 6
iconst_1
invokevirtual com.sun.tools.sjavac.JavacState.checkSourceStatus:(Z)V
101: aload 6
aload 2
invokevirtual com.sun.tools.sjavac.options.Options.getSourceReferenceList:()Ljava/nio/file/Path;
invokestatic com.sun.tools.sjavac.Util.pathToFile:(Ljava/nio/file/Path;)Ljava/io/File;
invokevirtual com.sun.tools.sjavac.JavacState.compareWithMakefileList:(Ljava/io/File;)V
102: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 16
start local 16 103: iconst_1
newarray 4
astore 17
start local 17 104: new com.sun.tools.sjavac.comp.CompilationService
dup
invokespecial com.sun.tools.sjavac.comp.CompilationService.<init>:()V
astore 18
start local 18 105: StackMap locals: com.sun.tools.sjavac.comp.SjavacImpl java.lang.String[] com.sun.tools.sjavac.options.Options java.nio.file.Path java.nio.file.Path java.nio.file.Path com.sun.tools.sjavac.JavacState java.util.Map java.util.Map com.sun.tools.sjavac.Module java.util.Map java.util.Map java.util.List int java.util.Map top java.util.Set boolean[] com.sun.tools.sjavac.comp.CompilationService
StackMap stack:
iload 13
ifle 107
106: iload 13
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.printRound:(I)V
107: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.sun.tools.sjavac.JavacState.deleteClassArtifactsInTaintedPackages:()V
108: aload 6
aload 18
109: aload 2
110: aload 16
111: aload 17
112: invokevirtual com.sun.tools.sjavac.JavacState.performJavaCompilations:(Lcom/sun/tools/sjavac/comp/CompilationService;Lcom/sun/tools/sjavac/options/Options;Ljava/util/Set;[Z)Z
istore 15
start local 15 113: aload 17
iconst_0
baload
ifne 116
114: ldc "Compilation failed."
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
115: goto 120
116: StackMap locals: com.sun.tools.sjavac.comp.SjavacImpl java.lang.String[] com.sun.tools.sjavac.options.Options java.nio.file.Path java.nio.file.Path java.nio.file.Path com.sun.tools.sjavac.JavacState java.util.Map java.util.Map com.sun.tools.sjavac.Module java.util.Map java.util.Map java.util.List int java.util.Map int java.util.Set boolean[] com.sun.tools.sjavac.comp.CompilationService
StackMap stack:
iload 15
ifne 118
117: ldc "Nothing left to do."
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
118: StackMap locals:
StackMap stack:
iinc 13 1
119: iload 15
ifne 105
120: StackMap locals:
StackMap stack:
ldc "No need to do another round."
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
121: aload 17
iconst_0
baload
ifeq 125
122: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.save:()V
123: aload 6
invokevirtual com.sun.tools.sjavac.JavacState.now:()Lcom/sun/tools/sjavac/BuildState;
aload 8
invokevirtual com.sun.tools.sjavac.BuildState.flattenArtifacts:(Ljava/util/Map;)V
124: aload 6
aload 16
invokevirtual com.sun.tools.sjavac.JavacState.removeSuperfluousArtifacts:(Ljava/util/Set;)V
125: StackMap locals:
StackMap stack:
aload 17
iconst_0
baload
ifeq 126
getstatic com.sun.tools.javac.main.Main$Result.OK:Lcom/sun/tools/javac/main/Main$Result;
goto 127
StackMap locals:
StackMap stack:
126: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
StackMap locals:
StackMap stack: com.sun.tools.javac.main.Main$Result
127: areturn
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 128: StackMap locals: com.sun.tools.sjavac.comp.SjavacImpl java.lang.String[] com.sun.tools.sjavac.options.Options java.nio.file.Path java.nio.file.Path java.nio.file.Path com.sun.tools.sjavac.JavacState java.util.Map java.util.Map com.sun.tools.sjavac.Module
StackMap stack: com.sun.tools.sjavac.ProblemException
astore 10
start local 10 129: aload 10
invokevirtual com.sun.tools.sjavac.ProblemException.getMessage:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
130: aload 10
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/Throwable;)V
131: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
areturn
end local 10 132: StackMap locals:
StackMap stack: java.lang.Exception
astore 10
start local 10 133: aload 10
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/Throwable;)V
134: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 135 0 this Lcom/sun/tools/sjavac/comp/SjavacImpl;
0 135 1 args [Ljava/lang/String;
1 2 2 options Lcom/sun/tools/sjavac/options/Options;
5 135 2 options Lcom/sun/tools/sjavac/options/Options;
3 5 3 e Ljava/lang/IllegalArgumentException;
12 135 3 stateDir Ljava/nio/file/Path;
15 135 4 gensrc Ljava/nio/file/Path;
18 135 5 hdrdir Ljava/nio/file/Path;
22 40 6 context Lcom/sun/tools/javac/util/Context;
23 40 7 strWriter Ljava/io/StringWriter;
24 40 8 printWriter Ljava/io/PrintWriter;
30 40 9 passThroughArgs [Ljava/lang/String;
31 40 10 result Lcom/sun/tools/javac/main/Main$Result;
34 40 11 fileManager Ljavax/tools/JavaFileManager;
38 39 12 es Ljava/io/IOException;
41 135 6 javac_state Lcom/sun/tools/sjavac/JavacState;
42 135 7 suffixRules Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Transformer;>;
45 135 8 modules Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Module;>;
46 135 9 current_module Lcom/sun/tools/sjavac/Module;
48 128 10 sources Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Source;>;
61 128 11 sources_to_link_to Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Source;>;
62 128 12 sourceResolutionLocations Ljava/util/List<Lcom/sun/tools/sjavac/options/SourceLocation;>;
77 128 13 round I
88 128 14 generated_sources Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Source;>;
113 128 15 again Z
103 128 16 recently_compiled Ljava/util/Set<Ljava/lang/String;>;
104 128 17 rc [Z
105 128 18 compilationService Lcom/sun/tools/sjavac/comp/CompilationService;
129 132 10 e Lcom/sun/tools/sjavac/ProblemException;
133 135 10 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
35 36 37 Class java.io.IOException
47 59 128 Class com.sun.tools.sjavac.ProblemException
60 127 128 Class com.sun.tools.sjavac.ProblemException
47 59 132 Class java.lang.Exception
60 127 132 Class java.lang.Exception
MethodParameters:
Name Flags
args
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/sjavac/comp/SjavacImpl;
private static boolean validateOptions(com.sun.tools.sjavac.options.Options);
descriptor: (Lcom/sun/tools/sjavac/options/Options;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual com.sun.tools.sjavac.options.Options.getDestDir:()Ljava/nio/file/Path;
ifnonnull 4
2: ldc "Please specify output directory."
astore 1
3: goto 16
StackMap locals: java.lang.String
StackMap stack:
4: aload 0
invokevirtual com.sun.tools.sjavac.options.Options.isJavaFilesAmongJavacArgs:()Z
ifeq 7
5: ldc "Sjavac does not handle explicit compilation of single .java files."
astore 1
6: goto 16
StackMap locals:
StackMap stack:
7: aload 0
invokevirtual com.sun.tools.sjavac.options.Options.getImplicitPolicy:()Ljava/lang/String;
ldc "none"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: ldc "The only allowed setting for sjavac is -implicit:none"
astore 1
9: goto 16
StackMap locals:
StackMap stack:
10: aload 0
invokevirtual com.sun.tools.sjavac.options.Options.getSources:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 13
aload 0
invokevirtual com.sun.tools.sjavac.options.Options.getStateDir:()Ljava/nio/file/Path;
ifnull 13
11: ldc "You have to specify -src when using --state-dir."
astore 1
12: goto 16
StackMap locals:
StackMap stack:
13: aload 0
invokevirtual com.sun.tools.sjavac.options.Options.getTranslationRules:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iconst_1
if_icmple 16
14: aload 0
invokevirtual com.sun.tools.sjavac.options.Options.getGenSrcDir:()Ljava/nio/file/Path;
ifnonnull 16
15: ldc "You have translators but no gensrc dir (-s) specified!"
astore 1
16: StackMap locals:
StackMap stack:
aload 1
ifnull 18
17: aload 1
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 1
ifnonnull 19
iconst_1
ireturn
StackMap locals:
StackMap stack:
19: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 options Lcom/sun/tools/sjavac/options/Options;
1 20 1 err Ljava/lang/String;
MethodParameters:
Name Flags
options
private static boolean srcDstOverlap(java.util.List<com.sun.tools.sjavac.options.SourceLocation>, java.nio.file.Path);
descriptor: (Ljava/util/List;Ljava/nio/file/Path;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: java.util.List java.nio.file.Path top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.sjavac.options.SourceLocation
astore 2
start local 2 2: aload 2
invokevirtual com.sun.tools.sjavac.options.SourceLocation.getPath:()Ljava/nio/file/Path;
aload 1
invokestatic com.sun.tools.sjavac.comp.SjavacImpl.isOverlapping:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
ifeq 5
3: new java.lang.StringBuilder
dup
ldc "Source location "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.sun.tools.sjavac.options.SourceLocation.getPath:()Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " overlaps with destination "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 locs Ljava/util/List<Lcom/sun/tools/sjavac/options/SourceLocation;>;
0 7 1 dest Ljava/nio/file/Path;
2 5 2 loc Lcom/sun/tools/sjavac/options/SourceLocation;
Signature: (Ljava/util/List<Lcom/sun/tools/sjavac/options/SourceLocation;>;Ljava/nio/file/Path;)Z
MethodParameters:
Name Flags
locs
dest
private static boolean isOverlapping(java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
astore 0
1: aload 1
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
astore 1
2: aload 0
aload 1
invokeinterface java.nio.file.Path.startsWith:(Ljava/nio/file/Path;)Z
ifne 3
aload 1
aload 0
invokeinterface java.nio.file.Path.startsWith:(Ljava/nio/file/Path;)Z
ifne 3
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 p1 Ljava/nio/file/Path;
0 4 1 p2 Ljava/nio/file/Path;
MethodParameters:
Name Flags
p1
p2
private static boolean createIfMissing(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, 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
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 5
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not a directory."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
6: goto 10
StackMap locals:
StackMap stack: java.io.IOException
7: astore 1
start local 1 8: new java.lang.StringBuilder
dup
ldc "Could not create directory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
9: iconst_0
ireturn
end local 1 10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 dir Ljava/nio/file/Path;
8 10 1 e Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class java.io.IOException
MethodParameters:
Name Flags
dir
public static void findSourceFiles(java.util.List<com.sun.tools.sjavac.options.SourceLocation>, java.util.Set<java.lang.String>, java.util.Map<java.lang.String, com.sun.tools.sjavac.Source>, java.util.Map<java.lang.String, com.sun.tools.sjavac.Module>, com.sun.tools.sjavac.Module, boolean, );
descriptor: (Ljava/util/List;Ljava/util/Set;Ljava/util/Map;Ljava/util/Map;Lcom/sun/tools/sjavac/Module;ZZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: java.util.List java.util.Set java.util.Map java.util.Map com.sun.tools.sjavac.Module int int top java.util.Iterator
StackMap stack:
1: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.sjavac.options.SourceLocation
astore 7
start local 7 2: aload 7
aload 1
3: aload 2
4: aload 3
5: aload 4
6: iload 5
7: iload 6
8: invokevirtual com.sun.tools.sjavac.options.SourceLocation.findSourceFiles:(Ljava/util/Set;Ljava/util/Map;Ljava/util/Map;Lcom/sun/tools/sjavac/Module;ZZ)V
end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 sourceLocations Ljava/util/List<Lcom/sun/tools/sjavac/options/SourceLocation;>;
0 11 1 sourceTypes Ljava/util/Set<Ljava/lang/String;>;
0 11 2 foundFiles Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Source;>;
0 11 3 foundModules Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Module;>;
0 11 4 currentModule Lcom/sun/tools/sjavac/Module;
0 11 5 permitSourcesInDefaultPackage Z
0 11 6 inLinksrc Z
2 9 7 source Lcom/sun/tools/sjavac/options/SourceLocation;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/List<Lcom/sun/tools/sjavac/options/SourceLocation;>;Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Source;>;Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/Module;>;Lcom/sun/tools/sjavac/Module;ZZ)V
MethodParameters:
Name Flags
sourceLocations
sourceTypes
foundFiles
foundModules
currentModule
permitSourcesInDefaultPackage
inLinksrc
private static void printRound(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "****************************************"
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
1: new java.lang.StringBuilder
dup
ldc "* Round "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " *"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
2: ldc "****************************************"
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 round I
MethodParameters:
Name Flags
round
private static boolean lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.sjavac.options.Option.SERVER:Lcom/sun/tools/sjavac/options/Option;
getfield com.sun.tools.sjavac.options.Option.arg:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arg Ljava/lang/String;
private static java.lang.String[] lambda$1(int);
descriptor: (I)[Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SjavacImpl.java"
InnerClasses:
public final Result = com.sun.tools.javac.main.Main$Result of com.sun.tools.javac.main.Main
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles