From 25d64eb4bc71b892d08cf6f4d5373fa93b6cff8c Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Thu, 10 Sep 2015 21:10:20 +0200 Subject: [PATCH] 8132885: langtools/test/tools/javac/sym/ElementStructureTest.java is also searching default classpath Explicitly setting classpath when inspecting the platform classes; using the java.util.ServiceLoader instead of the javac's copy Reviewed-by: jjg --- langtools/test/tools/javac/sym/ElementStructureTest.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/langtools/test/tools/javac/sym/ElementStructureTest.java b/langtools/test/tools/javac/sym/ElementStructureTest.java index 1abaf0f4cfe..43b945e3640 100644 --- a/langtools/test/tools/javac/sym/ElementStructureTest.java +++ b/langtools/test/tools/javac/sym/ElementStructureTest.java @@ -56,6 +56,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.ServiceLoader; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; @@ -76,6 +77,7 @@ import javax.lang.model.element.TypeParameterElement; import javax.lang.model.element.VariableElement; import javax.lang.model.type.TypeMirror; import javax.tools.FileObject; +import javax.tools.JavaCompiler; import javax.tools.JavaFileManager; import javax.tools.JavaFileObject; import javax.tools.JavaFileObject.Kind; @@ -88,7 +90,6 @@ import com.sun.tools.classfile.ConstantPoolException; import com.sun.tools.javac.api.JavacTaskImpl; import com.sun.tools.javac.code.Symbol.CompletionFailure; import com.sun.tools.javac.platform.PlatformProvider; -import com.sun.tools.javac.util.ServiceLoader; /**To generate the hash values for version N, invoke this class like: * @@ -243,7 +244,11 @@ public class ElementStructureTest { } void run(Writer output, String version) throws Exception { - JavacTaskImpl task = (JavacTaskImpl) ToolProvider.getSystemJavaCompiler().getTask(null, null, null, Arrays.asList("-release", version), null, Arrays.asList(new ToolBox.JavaSource("Test", ""))); + List options = Arrays.asList("-release", version, "-classpath", ""); + List files = Arrays.asList(new ToolBox.JavaSource("Test", "")); + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + JavacTaskImpl task = (JavacTaskImpl) compiler.getTask(null, null, null, options, null, files); + task.parse(); JavaFileManager fm = task.getContext().get(JavaFileManager.class);