# HG changeset patch # User lana # Date 1422574581 28800 # Node ID ac59fe6cd98f75e049a9156af53a3be1b42f9cfc # Parent 9a354cef4d398532e9e53c9e371ff1ad81d6d965# Parent 2ec91c67b30b451dd2a36eba5a3e26f6e67c45c1 Merge diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java Thu Jan 29 15:36:21 2015 -0800 @@ -783,45 +783,4 @@ && (n.endsWith(".jar") || n.endsWith(".zip")); } - /** - * Utility method for converting a search path string to an array of directory and JAR file - * URLs. - * - * Note that this method is called by the DocletInvoker. - * - * @param path the search path string - * @return the resulting array of directory and JAR file URLs - */ - public static URL[] pathToURLs(String path) { - java.util.List urls = new ArrayList<>(); - for (String s: path.split(Pattern.quote(File.pathSeparator))) { - if (!s.isEmpty()) { - URL url = fileToURL(Paths.get(s)); - if (url != null) { - urls.add(url); - } - } - } - return urls.toArray(new URL[urls.size()]); - } - - /** - * Returns the directory or JAR file URL corresponding to the specified local file name. - * - * @param file the Path object - * @return the resulting directory or JAR file URL, or null if unknown - */ - private static URL fileToURL(Path file) { - Path p; - try { - p = file.toRealPath(); - } catch (IOException e) { - p = file.toAbsolutePath(); - } - try { - return p.normalize().toUri().toURL(); - } catch (MalformedURLException e) { - return null; - } - } } diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java --- a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Analyzer.java Thu Jan 29 15:36:21 2015 -0800 @@ -218,7 +218,7 @@ Archive targetArchive = findArchive(t); if (filter.accepts(o, archive, t, targetArchive)) { addDep(o, t); - if (!requires.contains(targetArchive)) { + if (archive != targetArchive && !requires.contains(targetArchive)) { requires.add(targetArchive); } } diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Archive.java --- a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Archive.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/Archive.java Thu Jan 29 15:36:21 2015 -0800 @@ -75,20 +75,11 @@ } public void addClass(Location origin) { - Set set = deps.get(origin); - if (set == null) { - set = new HashSet<>(); - deps.put(origin, set); - } + deps.computeIfAbsent(origin, _k -> new HashSet<>()); } public void addClass(Location origin, Location target) { - Set set = deps.get(origin); - if (set == null) { - set = new HashSet<>(); - deps.put(origin, set); - } - set.add(target); + deps.computeIfAbsent(origin, _k -> new HashSet<>()).add(target); } public Set getClasses() { @@ -115,6 +106,10 @@ return filename; } + public Path path() { + return path; + } + interface Visitor { void visit(Location origin, Location target); } diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/JdepsTask.java --- a/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/JdepsTask.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/src/jdk.dev/share/classes/com/sun/tools/jdeps/JdepsTask.java Thu Jan 29 15:36:21 2015 -0800 @@ -611,6 +611,9 @@ deque.add(cn); } a.addClass(d.getOrigin(), d.getTarget()); + } else { + // ensure that the parsed class is added the archive + a.addClass(d.getOrigin()); } } for (String name : a.reader().skippedEntries()) { @@ -643,6 +646,7 @@ // if name is a fully-qualified class name specified // from command-line, this class might already be parsed doneClasses.add(classFileName); + for (Dependency d : finder.findDependencies(cf)) { if (depth == 0) { // ignore the dependency @@ -654,6 +658,9 @@ if (!doneClasses.contains(cn) && !deque.contains(cn)) { deque.add(cn); } + } else { + // ensure that the parsed class is added the archive + a.addClass(d.getOrigin()); } } } @@ -809,36 +816,53 @@ } } - private List getClassPathArchives(String paths) throws IOException { + /* + * Returns the list of Archive specified in cpaths and not included + * initialArchives + */ + private List getClassPathArchives(String cpaths) + throws IOException + { List result = new ArrayList<>(); - if (paths.isEmpty()) { + if (cpaths.isEmpty()) { return result; } - for (String p : paths.split(File.pathSeparator)) { + List paths = new ArrayList<>(); + for (String p : cpaths.split(File.pathSeparator)) { if (p.length() > 0) { - List files = new ArrayList<>(); // wildcard to parse all JAR files e.g. -classpath dir/* int i = p.lastIndexOf(".*"); if (i > 0) { Path dir = Paths.get(p.substring(0, i)); try (DirectoryStream stream = Files.newDirectoryStream(dir, "*.jar")) { for (Path entry : stream) { - files.add(entry); + paths.add(entry); } } } else { - files.add(Paths.get(p)); - } - for (Path f : files) { - if (Files.exists(f)) { - result.add(Archive.getInstance(f)); - } + paths.add(Paths.get(p)); } } } + for (Path path : paths) { + boolean found = initialArchives.stream() + .map(Archive::path) + .anyMatch(p -> isSameFile(path, p)); + if (!found && Files.exists(path)) { + result.add(Archive.getInstance(path)); + } + } return result; } + private boolean isSameFile(Path p1, Path p2) { + try { + return Files.isSameFile(p1, p2); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + class RawOutputFormatter implements Analyzer.Visitor { private final PrintWriter writer; private String pkg = ""; diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocletInvoker.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocletInvoker.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocletInvoker.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,19 +26,25 @@ package com.sun.tools.javadoc; import java.io.File; +import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.regex.Pattern; import javax.tools.DocumentationTool; import javax.tools.JavaFileManager; import com.sun.javadoc.*; -import com.sun.tools.javac.file.Locations; import com.sun.tools.javac.util.ClientCodeException; import com.sun.tools.javac.util.List; + import static com.sun.javadoc.LanguageVersion.*; @@ -108,7 +114,7 @@ cpString = appendPath(System.getProperty("env.class.path"), cpString); cpString = appendPath(System.getProperty("java.class.path"), cpString); cpString = appendPath(docletPath, cpString); - URL[] urls = Locations.pathToURLs(cpString); + URL[] urls = pathToURLs(cpString); if (docletParentClassLoader == null) appClassLoader = new URLClassLoader(urls, getDelegationClassLoader(docletClassName)); else @@ -191,7 +197,7 @@ return false; } if (retVal instanceof Boolean) { - return ((Boolean)retVal).booleanValue(); + return ((Boolean)retVal); } else { messager.error(Messager.NOPOS, "main.must_return_boolean", docletClassName, methodName); @@ -215,7 +221,7 @@ return -1; } if (retVal instanceof Integer) { - return ((Integer)retVal).intValue(); + return ((Integer)retVal); } else { messager.error(Messager.NOPOS, "main.must_return_int", docletClassName, methodName); @@ -240,7 +246,7 @@ return false; } if (retVal instanceof Boolean) { - return ((Boolean)retVal).booleanValue(); + return ((Boolean)retVal); } else { messager.error(Messager.NOPOS, "main.must_return_boolean", docletClassName, methodName); @@ -326,11 +332,53 @@ } else { messager.error(Messager.NOPOS, "main.exception_thrown", docletClassName, methodName, exc.toString()); - exc.getTargetException().printStackTrace(); + exc.getTargetException().printStackTrace(System.err); } throw new DocletInvokeException(); } finally { Thread.currentThread().setContextClassLoader(savedCCL); } } + + /** + * Utility method for converting a search path string to an array of directory and JAR file + * URLs. + * + * Note that this method is called by the DocletInvoker. + * + * @param path the search path string + * @return the resulting array of directory and JAR file URLs + */ + private static URL[] pathToURLs(String path) { + java.util.List urls = new ArrayList<>(); + for (String s: path.split(Pattern.quote(File.pathSeparator))) { + if (!s.isEmpty()) { + URL url = fileToURL(Paths.get(s)); + if (url != null) { + urls.add(url); + } + } + } + return urls.toArray(new URL[urls.size()]); + } + + /** + * Returns the directory or JAR file URL corresponding to the specified local file name. + * + * @param file the Path object + * @return the resulting directory or JAR file URL, or null if unknown + */ + private static URL fileToURL(Path file) { + Path p; + try { + p = file.toRealPath(); + } catch (IOException e) { + p = file.toAbsolutePath(); + } + try { + return p.normalize().toUri().toURL(); + } catch (MalformedURLException e) { + return null; + } + } } diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/6359949/T6359949a.java --- a/langtools/test/tools/javac/annotations/6359949/T6359949a.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/annotations/6359949/T6359949a.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,31 +1,8 @@ /* - * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/** - * @test + * @test /nodynamiccopyright/ * @bug 6359949 * @summary (at)Override of static shouldn't be accepted (compiler shouldissue an error/warning) - * @compile/fail T6359949a.java + * @compile/fail/ref=T6359949a.out -XDrawDiagnostics T6359949a.java */ class Example { diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/6359949/T6359949a.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/annotations/6359949/T6359949a.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +T6359949a.java:15:5: compiler.err.method.does.not.override.superclass +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/default/A.java --- a/langtools/test/tools/javac/annotations/default/A.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/annotations/default/A.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,37 +1,12 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4901262 * @summary Constraints regarding annotation defaults * @author gafter * - * @compile A.java - * @compile B.java - * @compile C.java - * @compile/fail Derr.java - * @compile/fail Eerr.java + * @compile A.java B.java C.java + * @compile/fail/ref=Derr.out -XDrawDiagnostics Derr.java + * @compile/fail/ref=Eerr.out -XDrawDiagnostics Eerr.java */ public @interface A { diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/default/Derr.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/annotations/default/Derr.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +Derr.java:24:1: compiler.err.annotation.missing.default.value: A, x +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/default/Eerr.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/annotations/default/Eerr.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +Eerr.java:24:9: compiler.err.duplicate.annotation.member.value: x, A +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/neg/Dep.java --- a/langtools/test/tools/javac/annotations/neg/Dep.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/annotations/neg/Dep.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,34 +1,10 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4903501 * @summary Please add annotation Deprecated to supplant the javadoc tag * @author gafter * - * @compile/fail -Xlint:dep-ann -Werror Dep.java - * @compile -Xlint:dep-ann Dep.java + * @compile/fail/ref=Dep.out -XDrawDiagnostics -Xlint:dep-ann -Werror Dep.java */ /** @deprecated */ diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/annotations/neg/Dep.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/annotations/neg/Dep.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,4 @@ +Dep.java:11:1: compiler.warn.missing.deprecated.annotation +- compiler.err.warnings.and.werror +1 error +1 warning diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/lint/Deprecation.java --- a/langtools/test/tools/javac/lint/Deprecation.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/lint/Deprecation.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4821359 * @summary Add -Xlint flag * @author gafter * - * @compile/fail -Xlint:deprecation -Werror Deprecation.java + * @compile/fail/ref=Deprecation.out -XDrawDiagnostics -Xlint:deprecation -Werror Deprecation.java */ /** @deprecated */ diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/lint/Deprecation.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/lint/Deprecation.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,4 @@ +Deprecation.java:14:17: compiler.warn.has.been.deprecated: A, compiler.misc.unnamed.package +- compiler.err.warnings.and.werror +1 error +1 warning diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/lint/FallThrough.java --- a/langtools/test/tools/javac/lint/FallThrough.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/lint/FallThrough.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4821359 4981267 * @summary Add -Xlint flag * @author gafter * - * @compile/fail -Xlint:fallthrough -Werror FallThrough.java + * @compile/fail/ref=FallThrough.out -XDrawDiagnostics -Xlint:fallthrough -Werror FallThrough.java */ class FallThrough { diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/lint/FallThrough.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/lint/FallThrough.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,4 @@ +FallThrough.java:16:9: compiler.warn.possible.fall-through.into.case +- compiler.err.warnings.and.werror +1 error +1 warning diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/lint/Unchecked.java --- a/langtools/test/tools/javac/lint/Unchecked.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/lint/Unchecked.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4821359 * @summary Add -Xlint flag * @author gafter * - * @compile/fail -Xlint:unchecked -Werror Unchecked.java + * @compile/fail/ref=Unchecked.out -XDrawDiagnostics -Xlint:unchecked -Werror Unchecked.java */ class Unchecked { diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/lint/Unchecked.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/lint/Unchecked.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,4 @@ +Unchecked.java:12:32: compiler.warn.prob.found.req: (compiler.misc.unchecked.assign), Unchecked, Unchecked +- compiler.err.warnings.and.werror +1 error +1 warning diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/Ambig1.java --- a/langtools/test/tools/javac/staticImport/Ambig1.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/staticImport/Ambig1.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4929736 * @summary Missing ambiguity error when two methods are equally specific * @author gafter * - * @compile/fail Ambig1.java + * @compile/fail/ref=Ambig1.out -XDrawDiagnostics Ambig1.java */ package ambig1; diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/Ambig1.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/staticImport/Ambig1.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +Ambig1.java:24:9: compiler.err.ref.ambiguous: f, kindname.method, f(int), ambig1.B, kindname.method, f(int), ambig1.A +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/ImportPrivate.java --- a/langtools/test/tools/javac/staticImport/ImportPrivate.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/staticImport/ImportPrivate.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4979456 * @summary NPE while compiling static import of inaccessible class member * @author gafter * - * @compile/fail ImportPrivate.java + * @compile/fail/ref=ImportPrivate.out -XDrawDiagnostics ImportPrivate.java */ package importPrivate; diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/ImportPrivate.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/staticImport/ImportPrivate.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,3 @@ +ImportPrivate.java:12:1: compiler.err.cant.resolve.location: kindname.static, m, , , kindname.class, importPrivate.A +ImportPrivate.java:22:9: compiler.err.cant.resolve.location.args: kindname.method, m, , , (compiler.misc.location: kindname.class, importPrivate.MyTest, null) +2 errors diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/PrivateStaticImport.java --- a/langtools/test/tools/javac/staticImport/PrivateStaticImport.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/staticImport/PrivateStaticImport.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4912075 * @summary static import of private field crashes compiler * @author gafter * - * @compile/fail PrivateStaticImport.java + * @compile/fail/ref=PrivateStaticImport.out -XDrawDiagnostics PrivateStaticImport.java */ package psi; diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/PrivateStaticImport.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/staticImport/PrivateStaticImport.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +PrivateStaticImport.java:18:17: compiler.err.cant.resolve.location: kindname.variable, FOO_VALUE, , , (compiler.misc.location: kindname.class, psi.Bar, null) +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/Shadow.java --- a/langtools/test/tools/javac/staticImport/Shadow.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/staticImport/Shadow.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 5017254 * @summary compiler fails to shadow inapplicable method with static import * @author gafter * - * @compile/fail Shadow.java + * @compile/fail/ref=Shadow.out -XDrawDiagnostics Shadow.java */ package shadow; diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/Shadow.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/staticImport/Shadow.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +Shadow.java:25:9: compiler.err.cant.apply.symbol: kindname.method, m1, int, compiler.misc.no.args, kindname.class, shadow.T2, (compiler.misc.arg.length.mismatch) +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/StaticImport2.java --- a/langtools/test/tools/javac/staticImport/StaticImport2.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/javac/staticImport/StaticImport2.java Thu Jan 29 15:36:21 2015 -0800 @@ -1,33 +1,10 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test + * @test /nodynamiccopyright/ * @bug 4855358 * @summary add support for JSR 201's static import facility * @author gafter * - * @compile/fail StaticImport2.java + * @compile/fail/ref=StaticImport2.out -XDrawDiagnostics StaticImport2.java */ package p; diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/javac/staticImport/StaticImport2.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/staticImport/StaticImport2.out Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,2 @@ +StaticImport2.java:24:17: compiler.err.ref.ambiguous: K, kindname.variable, K, p.B, kindname.variable, K, p.A +1 error diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/jdeps/Basic.java --- a/langtools/test/tools/jdeps/Basic.java Wed Jan 28 16:45:50 2015 -0800 +++ b/langtools/test/tools/jdeps/Basic.java Thu Jan 29 15:36:21 2015 -0800 @@ -23,9 +23,9 @@ /* * @test - * @bug 8003562 8005428 8015912 8027481 8048063 + * @bug 8003562 8005428 8015912 8027481 8048063 8068937 * @summary Basic tests for jdeps tool - * @build Test p.Foo p.Bar javax.activity.NotCompactProfile + * @build Test p.Foo p.Bar p.C p.SubClass q.Gee javax.activity.NotCompactProfile * @run main Basic */ @@ -90,6 +90,18 @@ new String[] {"compact1"}, new String[] {"-verbose:package", "-e", "java\\.lang\\..*"}); + // parse p.C, p.SubClass and q.* + // p.SubClass have no dependency other than p.C + // q.Gee depends on p.SubClass that should be found + test(testDir, + new String[] {"java.lang", "p"}, + new String[] {"compact1", testDir.getName()}, + new String[] {"-include", "p.C|p.SubClass|q\\..*"}); + test(testDir, + new String[] {"java.lang", "p"}, + new String[] {"compact1", testDir.getName()}, + new String[] {"-classpath", testDir.getPath(), "-include", "p.C|p.SubClass|q\\..*"}); + // test -classpath and -include options test(null, new String[] {"java.lang", "java.util", "java.lang.management", diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/jdeps/p/C.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/jdeps/p/C.java Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package p; + +public class C { + public String name() { + return "C"; + } +} diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/jdeps/p/SubClass.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/jdeps/p/SubClass.java Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package p; + +// SubClass only references types in package p +public class SubClass extends C { +} diff -r 9a354cef4d39 -r ac59fe6cd98f langtools/test/tools/jdeps/q/Gee.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/jdeps/q/Gee.java Thu Jan 29 15:36:21 2015 -0800 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package q; + +public class Gee extends p.SubClass { +}