1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/test/tools/javac/6589361/T6589361.java Sat Dec 01 00:00:00 2007 +0000 1.3 @@ -0,0 +1,46 @@ 1.4 +/** 1.5 + * @test 1.6 + * @bug 6589361 1.7 + * @summary 6589361:Failing building ct.sym file as part of the control build 1.8 + */ 1.9 + 1.10 +import com.sun.tools.javac.util.Context; 1.11 +import com.sun.tools.javac.util.JavacFileManager; 1.12 +import java.io.File; 1.13 +import javax.tools.FileObject; 1.14 +import javax.tools.JavaFileObject; 1.15 +import javax.tools.JavaFileObject.Kind; 1.16 +import javax.tools.StandardLocation; 1.17 +import java.util.Set; 1.18 +import java.util.HashSet; 1.19 + 1.20 +public class T6589361 { 1.21 + public static void main(String [] args) throws Exception { 1.22 + JavacFileManager fm = null; 1.23 + try { 1.24 + fm = new JavacFileManager(new Context(), false, null); 1.25 + Set<JavaFileObject.Kind> set = new HashSet<JavaFileObject.Kind>(); 1.26 + set.add(JavaFileObject.Kind.CLASS); 1.27 + Iterable<JavaFileObject> files = fm.list(StandardLocation.PLATFORM_CLASS_PATH, "java.lang", set, false); 1.28 + for (JavaFileObject file : files) { 1.29 + 1.30 + if (file.toString().startsWith("java" + File.separator + "lang" + File.separator + "Object.class")) { 1.31 + String str = fm.inferBinaryName(StandardLocation.CLASS_PATH, file); 1.32 + if (!str.equals("java.lang.Object")) { 1.33 + throw new AssertionError("Error in JavacFileManager.inferBinaryName method!"); 1.34 + } 1.35 + else { 1.36 + return; 1.37 + } 1.38 + } 1.39 + } 1.40 + } 1.41 + finally { 1.42 + if (fm != null) { 1.43 + fm.close(); 1.44 + } 1.45 + } 1.46 + throw new AssertionError("Could not fing java/lang/Object.class while compiling"); 1.47 + } 1.48 + 1.49 +}