< prev index next >
src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java
Print this page
rev 2988 : JDK-8058150
*** 27,36 ****
--- 27,37 ----
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Set;
+ import java.util.stream.Collectors;
import javax.annotation.processing.Processor;
import javax.lang.model.element.Element;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.util.Elements;
*** 44,53 ****
--- 45,56 ----
import com.sun.source.util.TaskListener;
import com.sun.tools.doclint.DocLint;
import com.sun.tools.javac.main.JavaCompiler;
import com.sun.tools.javac.model.JavacElements;
import com.sun.tools.javac.model.JavacTypes;
+ import com.sun.tools.javac.platform.PlatformProvider;
+ import com.sun.tools.javac.platform.PlatformProvider.PluginInfo;
import com.sun.tools.javac.processing.JavacProcessingEnvironment;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.util.Context;
import com.sun.tools.javac.util.DefinedBy;
import com.sun.tools.javac.util.DefinedBy.Api;
*** 169,178 ****
--- 172,197 ----
public Context getContext() {
return context;
}
public void initPlugins(Set<List<String>> pluginOpts) {
+ PlatformProvider platformProvider = context.get(PlatformProvider.class);
+
+ if (platformProvider != null) {
+ for (PluginInfo<Plugin> pluginDesc : platformProvider.getPlugins()) {
+ java.util.List<String> options =
+ pluginDesc.getOptions().entrySet().stream()
+ .map(e -> e.getKey() + "=" + e.getValue())
+ .collect(Collectors.toList());
+ try {
+ pluginDesc.getPlugin().init(this, options.toArray(new String[options.size()]));
+ } catch (RuntimeException ex) {
+ throw new PropagatedException(ex);
+ }
+ }
+ }
+
if (pluginOpts.isEmpty())
return;
Set<List<String>> pluginsToCall = new LinkedHashSet<>(pluginOpts);
JavacProcessingEnvironment pEnv = JavacProcessingEnvironment.instance(context);
< prev index next >