test/tools/javac/6589361/T6589361.java

Sat, 07 Nov 2020 10:30:02 +0800

author
aoqi
date
Sat, 07 Nov 2020 10:30:02 +0800
changeset 3938
93012e2a5d1d
parent 2525
2eb010b6cb22
permissions
-rw-r--r--

Added tag mips-jdk8u275-b01 for changeset eb6ee6a5f2fe

aoqi@0 1 /**
aoqi@0 2 * @test
aoqi@0 3 * @bug 6589361
aoqi@0 4 * @summary 6589361:Failing building ct.sym file as part of the control build
aoqi@0 5 */
aoqi@0 6
aoqi@0 7 import com.sun.tools.javac.file.JavacFileManager;
aoqi@0 8 import com.sun.tools.javac.util.Context;
aoqi@0 9 import java.io.File;
aoqi@0 10 import javax.tools.FileObject;
aoqi@0 11 import javax.tools.JavaFileObject;
aoqi@0 12 import javax.tools.JavaFileObject.Kind;
aoqi@0 13 import javax.tools.StandardLocation;
aoqi@0 14 import java.util.Set;
aoqi@0 15 import java.util.HashSet;
aoqi@0 16
aoqi@0 17 public class T6589361 {
aoqi@0 18 public static void main(String [] args) throws Exception {
aoqi@0 19 JavacFileManager fm = null;
aoqi@0 20 try {
aoqi@0 21 fm = new JavacFileManager(new Context(), false, null);
aoqi@0 22 Set<JavaFileObject.Kind> set = new HashSet<JavaFileObject.Kind>();
aoqi@0 23 set.add(JavaFileObject.Kind.CLASS);
aoqi@0 24 Iterable<JavaFileObject> files = fm.list(StandardLocation.PLATFORM_CLASS_PATH, "java.lang", set, false);
aoqi@0 25 for (JavaFileObject file : files) {
aoqi@0 26 // Note: Zip/Jar entry names use '/', not File.separator, but just to be sure,
aoqi@0 27 // we normalize the filename as well.
aoqi@0 28 if (file.getName().replace(File.separatorChar, '/').contains("java/lang/Object.class")) {
aoqi@0 29 String str = fm.inferBinaryName(StandardLocation.CLASS_PATH, file);
aoqi@0 30 if (!str.equals("java.lang.Object")) {
aoqi@0 31 throw new AssertionError("Error in JavacFileManager.inferBinaryName method!");
aoqi@0 32 }
aoqi@0 33 else {
aoqi@0 34 return;
aoqi@0 35 }
aoqi@0 36 }
aoqi@0 37 }
aoqi@0 38 }
aoqi@0 39 finally {
aoqi@0 40 if (fm != null) {
aoqi@0 41 fm.close();
aoqi@0 42 }
aoqi@0 43 }
aoqi@0 44 throw new AssertionError("Could not find java/lang/Object.class while compiling");
aoqi@0 45 }
aoqi@0 46
aoqi@0 47 }

mercurial