duke@1: /** duke@1: * @test duke@1: * @bug 6589361 duke@1: * @summary 6589361:Failing building ct.sym file as part of the control build duke@1: */ duke@1: jjg@50: import com.sun.tools.javac.file.JavacFileManager; duke@1: import com.sun.tools.javac.util.Context; duke@1: import java.io.File; duke@1: import javax.tools.FileObject; duke@1: import javax.tools.JavaFileObject; duke@1: import javax.tools.JavaFileObject.Kind; duke@1: import javax.tools.StandardLocation; duke@1: import java.util.Set; duke@1: import java.util.HashSet; duke@1: duke@1: public class T6589361 { duke@1: public static void main(String [] args) throws Exception { duke@1: JavacFileManager fm = null; duke@1: try { duke@1: fm = new JavacFileManager(new Context(), false, null); duke@1: Set set = new HashSet(); duke@1: set.add(JavaFileObject.Kind.CLASS); duke@1: Iterable files = fm.list(StandardLocation.PLATFORM_CLASS_PATH, "java.lang", set, false); duke@1: for (JavaFileObject file : files) { jjg@392: // Note: Zip/Jar entry names use '/', not File.separator, but just to be sure, jjg@392: // we normalize the filename as well. jjg@415: if (file.getName().replace(File.separatorChar, '/').contains("java/lang/Object.class")) { duke@1: String str = fm.inferBinaryName(StandardLocation.CLASS_PATH, file); duke@1: if (!str.equals("java.lang.Object")) { duke@1: throw new AssertionError("Error in JavacFileManager.inferBinaryName method!"); duke@1: } duke@1: else { duke@1: return; duke@1: } duke@1: } duke@1: } duke@1: } duke@1: finally { duke@1: if (fm != null) { duke@1: fm.close(); duke@1: } duke@1: } jjg@392: throw new AssertionError("Could not find java/lang/Object.class while compiling"); duke@1: } duke@1: duke@1: }