8192850: method summary tables of inherited methods improperly list static interface methods
authorksrini
Tue, 12 Dec 2017 20:18:14 -0800
changeset 48257 125716343184
parent 48256 472f74fb6c6b
child 48258 1925dbd47e28
8192850: method summary tables of inherited methods improperly list static interface methods Reviewed-by: jjg
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/A.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/B.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/C.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/X.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/Z.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/inheritDist/A.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/inheritDist/B.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/inheritDist/C.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg/BaseClass.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg/BaseInterface.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg/SubClass.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg1/Implementer.java
test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg1/Interface.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/TestMemberInheritence.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/A.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/B.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/C.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/X.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/Z.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/inheritDist/A.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/inheritDist/B.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/inheritDist/C.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg/BaseClass.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg/BaseInterface.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg/SubClass.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg1/Implementer.java
test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg1/Interface.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestMultiInheritance.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethods.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPrivateFlag.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/BaseClass.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/SubClass.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg2/SubClass.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I0.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I1.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I2.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I3.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I4.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg4/Foo.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/Classes.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/Interfaces.java
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/TestEnum.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestBadOverride.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestMultiInheritence.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverrideMethods.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenMethodDocCopy.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenPrivateMethods.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg1/BaseClass.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg1/SubClass.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg2/SubClass.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I0.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I1.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I2.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I3.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I4.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg4/Foo.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg5/Classes.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg5/Interfaces.java
test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg5/TestEnum.java
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java	Tue Dec 12 19:20:39 2017 -0800
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java	Tue Dec 12 20:18:14 2017 -0800
@@ -489,6 +489,10 @@
                         continue;
                     }
 
+                    // Skip static methods in interfaces they are not inherited
+                    if (utils.isInterface(inheritedClass) && utils.isStatic(inheritedMember))
+                        continue;
+
                     // If applicable, filter those overridden methods that
                     // should not be documented in the summary/detail sections,
                     // and instead document them in the footnote. Care must be taken
@@ -496,9 +500,8 @@
                     // but comments for these are synthesized on the output.
                     ExecutableElement inheritedMethod = (ExecutableElement)inheritedMember;
                     if (enclosedSuperMethods.stream()
-                            .anyMatch(e -> utils.executableMembersEqual(inheritedMethod, e)
-                                    && (!utils.isSimpleOverride(e)
-                                    || visibleMemberMap.getPropertyElement(e) != null))) {
+                            .anyMatch(e -> utils.executableMembersEqual(inheritedMethod, e) &&
+                                    (!utils.isSimpleOverride(e) || visibleMemberMap.getPropertyElement(e) != null))) {
                         inheritedMembers.add(inheritedMember);
                     }
                 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2002, 2017, 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
+ * @bug 4638588 4635809 6256068 6270645 8025633 8026567 8162363 8175200
+ *      8192850
+ * @summary Test to make sure that members are inherited properly in the Javadoc.
+ *          Verify that inheritance labels are correct.
+ * @author jamieh
+ * @library ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build JavadocTester
+ * @run main TestMemberInheritance
+ */
+
+public class TestMemberInheritance extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestMemberInheritance tester = new TestMemberInheritance();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "pkg", "diamond", "inheritDist", "pkg1");
+        checkExit(Exit.OK);
+
+        checkOutput("pkg/SubClass.html", true,
+                // Public field should be inherited
+                "<a href=\"../pkg/BaseClass.html#pubField\">",
+                // Public method should be inherited
+                "<a href=\"../pkg/BaseClass.html#pubMethod--\">",
+                // Public inner class should be inherited.
+                "<a href=\"../pkg/BaseClass.pubInnerClass.html\" title=\"class in pkg\">",
+                // Protected field should be inherited
+                "<a href=\"../pkg/BaseClass.html#proField\">",
+                // Protected method should be inherited
+                "<a href=\"../pkg/BaseClass.html#proMethod--\">",
+                // Protected inner class should be inherited.
+                "<a href=\"../pkg/BaseClass.proInnerClass.html\" title=\"class in pkg\">",
+                // New labels as of 1.5.0
+                "Nested classes/interfaces inherited from class&nbsp;pkg."
+                + "<a href=\"../pkg/BaseClass.html\" title=\"class in pkg\">BaseClass</a>",
+                "Nested classes/interfaces inherited from interface&nbsp;pkg."
+                + "<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</a>");
+
+        checkOutput("pkg/BaseClass.html", true,
+                // Test overriding/implementing methods with generic parameters.
+                "<dl>\n"
+                + "<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg/BaseInterface.html#getAnnotation-java.lang.Class-\">"
+                + "getAnnotation</a></code>&nbsp;in interface&nbsp;<code>"
+                + "<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">"
+                + "BaseInterface</a></code></dd>\n"
+                + "</dl>");
+
+        checkOutput("diamond/Z.html", true,
+                // Test diamond inheritance member summary (6256068)
+                "<code><a href=\"../diamond/A.html#aMethod--\">aMethod</a></code>");
+
+        checkOutput("inheritDist/C.html", true,
+                // Test that doc is inherited from closed parent (6270645)
+                "<div class=\"block\">m1-B</div>");
+
+        checkOutput("pkg/SubClass.html", false,
+                "<a href=\"../pkg/BaseClass.html#staticMethod--\">staticMethod</a></code>");
+
+        checkOutput("pkg1/Implementer.html", true,
+                // ensure the method makes it
+                "<td class=\"colFirst\"><code>static java.time.Period</code></td>\n"
+                + "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
+                + "<a href=\"../pkg1/Implementer.html#between-java.time.LocalDate-java.time.LocalDate-\">"
+                + "between</a></span>&#8203;(java.time.LocalDate&nbsp;startDateInclusive,\n"
+                + "       java.time.LocalDate&nbsp;endDateExclusive)</code></th>");
+
+        checkOutput("pkg1/Implementer.html", false,
+                "<h3>Methods inherited from interface&nbsp;pkg1.<a href=\"../pkg1/Interface.html\""
+                + " title=\"interface in pkg1\">Interface</a></h3>\n"
+                + "<code><a href=\"../pkg1/Interface.html#between-java.time.chrono.ChronoLocalDate"
+                + "-java.time.chrono.ChronoLocalDate-\">between</a></code>"
+        );
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/A.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2005, 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 diamond;
+
+//6256068
+public interface A {
+    /**
+     * aDoc.
+     */
+    void aMethod();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/B.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2005, 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 diamond;
+
+public interface B extends A {
+    /**
+     * bDoc.
+     */
+    void bMethod();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/C.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2005, 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 diamond;
+
+public interface C extends B {
+    /**
+     * cDoc.
+     */
+    void cMethod();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/X.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2005, 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 diamond;
+
+public interface X extends A {
+    /**
+     * xDoc.
+     */
+    void xMethod();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/diamond/Z.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2005, 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 diamond;
+
+public interface Z extends X, C {
+    /**
+     * zDoc.
+     */
+    void zMethod();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/inheritDist/A.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2005, 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 inheritDist;
+
+//6270645
+public interface A {
+    /**
+     * m1-A
+     */
+    void m1();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/inheritDist/B.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2005, 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 inheritDist;
+
+public interface B extends A {
+    /**
+     * m1-B
+     */
+    void m1();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/inheritDist/C.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2005, 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 inheritDist;
+
+public class C implements B {
+    public void m1() {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg/BaseClass.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2002, 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.
+ */
+
+package pkg;
+
+import java.lang.annotation.*;
+
+public class BaseClass implements BaseInterface {
+
+  public int pubField = 1;
+
+  public class pubInnerClass{}
+
+  public void pubMethod() {}
+
+  protected int proField = 1;
+
+  protected class proInnerClass{}
+
+  protected void proMethod() {}
+
+  public <B extends Annotation> B getAnnotation(Class<B> annotationClass) {
+      return null;
+  }
+
+  public static void staticMethod(){}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg/BaseInterface.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+package pkg;
+
+import java.lang.annotation.*;
+
+public interface BaseInterface {
+
+    public class NestedClassFromInterface{}
+
+    public <A extends Annotation> A getAnnotation(Class<A> annotationClass);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg/SubClass.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2002, 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.
+ */
+
+package pkg;
+
+import java.lang.annotation.*;
+
+public class SubClass extends BaseClass {
+
+    public <C extends Annotation> C getAnnotation(Class<C> annotationClass) {
+        return null;
+    }
+
+    public static void staticMethod(){}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg1/Implementer.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2014, 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 pkg1;
+
+import java.time.LocalDate;
+import java.time.Period;
+
+public class Implementer implements Interface {
+     public static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive) {
+         return null;
+     }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg1/Interface.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2014, 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 pkg1;
+
+import java.time.chrono.ChronoLocalDate;
+import java.time.chrono.ChronoPeriod;
+
+public interface Interface {
+    public static ChronoPeriod between(ChronoLocalDate startDateInclusive, ChronoLocalDate endDateExclusive) {
+        return null;
+    }
+}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/TestMemberInheritence.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2002, 2017, 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
- * @bug 4638588 4635809 6256068 6270645 8025633 8026567 8162363 8175200
- * @summary Test to make sure that members are inherited properly in the Javadoc.
- *          Verify that inheritence labels are correct.
- * @author jamieh
- * @library ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build JavadocTester
- * @run main TestMemberInheritence
- */
-
-public class TestMemberInheritence extends JavadocTester {
-
-    public static void main(String... args) throws Exception {
-        TestMemberInheritence tester = new TestMemberInheritence();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "pkg", "diamond", "inheritDist", "pkg1");
-        checkExit(Exit.OK);
-
-        checkOutput("pkg/SubClass.html", true,
-                // Public field should be inherited
-                "<a href=\"../pkg/BaseClass.html#pubField\">",
-                // Public method should be inherited
-                "<a href=\"../pkg/BaseClass.html#pubMethod--\">",
-                // Public inner class should be inherited.
-                "<a href=\"../pkg/BaseClass.pubInnerClass.html\" title=\"class in pkg\">",
-                // Protected field should be inherited
-                "<a href=\"../pkg/BaseClass.html#proField\">",
-                // Protected method should be inherited
-                "<a href=\"../pkg/BaseClass.html#proMethod--\">",
-                // Protected inner class should be inherited.
-                "<a href=\"../pkg/BaseClass.proInnerClass.html\" title=\"class in pkg\">",
-                // New labels as of 1.5.0
-                "Nested classes/interfaces inherited from class&nbsp;pkg."
-                + "<a href=\"../pkg/BaseClass.html\" title=\"class in pkg\">BaseClass</a>",
-                "Nested classes/interfaces inherited from interface&nbsp;pkg."
-                + "<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</a>");
-
-        checkOutput("pkg/BaseClass.html", true,
-                // Test overriding/implementing methods with generic parameters.
-                "<dl>\n"
-                + "<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg/BaseInterface.html#getAnnotation-java.lang.Class-\">"
-                + "getAnnotation</a></code>&nbsp;in interface&nbsp;<code>"
-                + "<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">"
-                + "BaseInterface</a></code></dd>\n"
-                + "</dl>");
-
-        checkOutput("diamond/Z.html", true,
-                // Test diamond inheritence member summary (6256068)
-                "<code><a href=\"../diamond/A.html#aMethod--\">aMethod</a></code>");
-
-        checkOutput("inheritDist/C.html", true,
-                // Test that doc is inherited from closed parent (6270645)
-                "<div class=\"block\">m1-B</div>");
-
-        checkOutput("pkg/SubClass.html", false,
-                "<a href=\"../pkg/BaseClass.html#staticMethod--\">staticMethod</a></code>");
-
-        checkOutput("pkg1/Implementer.html", true,
-                // ensure the method makes it
-                "<td class=\"colFirst\"><code>static java.time.Period</code></td>\n"
-                + "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
-                + "<a href=\"../pkg1/Implementer.html#between-java.time.LocalDate-java.time.LocalDate-\">"
-                + "between</a></span>&#8203;(java.time.LocalDate&nbsp;startDateInclusive,\n"
-                + "       java.time.LocalDate&nbsp;endDateExclusive)</code></th>",
-                // check the inherited from interfaces
-                "<h3>Methods inherited from interface&nbsp;pkg1.<a href=\"../pkg1/Interface.html\""
-                + " title=\"interface in pkg1\">Interface</a></h3>\n"
-                + "<code><a href=\"../pkg1/Interface.html#between-java.time.chrono.ChronoLocalDate"
-                + "-java.time.chrono.ChronoLocalDate-\">between</a></code>"
-        );
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/A.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2005, 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 diamond;
-
-//6256068
-public interface A {
-    /**
-     * aDoc.
-     */
-    void aMethod();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/B.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2005, 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 diamond;
-
-public interface B extends A {
-    /**
-     * bDoc.
-     */
-    void bMethod();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/C.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2005, 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 diamond;
-
-public interface C extends B {
-    /**
-     * cDoc.
-     */
-    void cMethod();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/X.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2005, 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 diamond;
-
-public interface X extends A {
-    /**
-     * xDoc.
-     */
-    void xMethod();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/diamond/Z.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2005, 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 diamond;
-
-public interface Z extends X, C {
-    /**
-     * zDoc.
-     */
-    void zMethod();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/inheritDist/A.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2005, 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 inheritDist;
-
-//6270645
-public interface A {
-    /**
-     * m1-A
-     */
-    void m1();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/inheritDist/B.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2005, 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 inheritDist;
-
-public interface B extends A {
-    /**
-     * m1-B
-     */
-    void m1();
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/inheritDist/C.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2005, 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 inheritDist;
-
-public class C implements B {
-    public void m1() {}
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg/BaseClass.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2002, 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.
- */
-
-package pkg;
-
-import java.lang.annotation.*;
-
-public class BaseClass implements BaseInterface {
-
-  public int pubField = 1;
-
-  public class pubInnerClass{}
-
-  public void pubMethod() {}
-
-  protected int proField = 1;
-
-  protected class proInnerClass{}
-
-  protected void proMethod() {}
-
-  public <B extends Annotation> B getAnnotation(Class<B> annotationClass) {
-      return null;
-  }
-
-  public static void staticMethod(){}
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg/BaseInterface.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * 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.
- */
-
-package pkg;
-
-import java.lang.annotation.*;
-
-public interface BaseInterface {
-
-    public class NestedClassFromInterface{}
-
-    public <A extends Annotation> A getAnnotation(Class<A> annotationClass);
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg/SubClass.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2002, 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.
- */
-
-package pkg;
-
-import java.lang.annotation.*;
-
-public class SubClass extends BaseClass {
-
-    public <C extends Annotation> C getAnnotation(Class<C> annotationClass) {
-        return null;
-    }
-
-    public static void staticMethod(){}
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg1/Implementer.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2014, 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 pkg1;
-
-import java.time.LocalDate;
-import java.time.Period;
-
-public class Implementer implements Interface {
-     public static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive) {
-         return null;
-     }
-
-}
--- a/test/langtools/jdk/javadoc/doclet/testMemberInheritence/pkg1/Interface.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2014, 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 pkg1;
-
-import java.time.chrono.ChronoLocalDate;
-import java.time.chrono.ChronoPeriod;
-
-public interface Interface {
-    public static ChronoPeriod between(ChronoLocalDate startDateInclusive, ChronoLocalDate endDateExclusive) {
-        return null;
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2017, 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
+ * @bug      8174839 8175200 8186332
+ * @summary  Bad overriding method should not crash
+ * @library  ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    JavadocTester
+ * @run main TestBadOverride
+ */
+
+public class TestBadOverride extends JavadocTester {
+
+    /**
+     * The entry point of the test.
+     * @param args the array of command line arguments.
+     */
+    public static void main(String... args) throws Exception {
+        TestBadOverride tester = new TestBadOverride();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "pkg4");
+        checkExit(Exit.OK);
+
+        checkOutput("pkg4/Foo.html", true,
+                "<li class=\"blockList\">\n"
+                + "<h4>toString</h4>\n"
+                + "<pre>public&nbsp;void&nbsp;toString()</pre>\n"
+                + "<div class=\"block\">Why can't I do this ?</div>\n"
+                + "</li>");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestMultiInheritance.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2003, 2016, 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
+ * @bug      4933335
+ * @summary  Make sure that all inherited methods from multiple extended
+ *           interfaces are documented
+ * @author   jamieh
+ * @library  ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    JavadocTester
+ * @run main TestMultiInheritance
+ */
+
+public class TestMultiInheritance extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestMultiInheritance tester = new TestMultiInheritance();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "pkg3");
+        checkExit(Exit.OK);
+
+        // Method foo() is inherited from BOTH I2 and I3
+
+        checkOutput("pkg3/I1.html", true,
+                "Methods inherited from interface&nbsp;pkg3."
+                + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
+                + "I2</a>",
+                "Methods inherited from interface&nbsp;pkg3."
+                + "<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">"
+                + "I3</a>");
+
+        checkOutput("pkg3/I0.html", true,
+                "Methods inherited from interface&nbsp;pkg3."
+                + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
+                + "I2</a>",
+                "Methods inherited from interface&nbsp;pkg3."
+                + "<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">"
+                + "I3</a>");
+
+        // Method foo() is NOT inherited from I4 because it is overriden by I3.
+
+        checkOutput("pkg3/I1.html", false,
+                "Methods inherited from interface&nbsp;pkg3."
+                + "<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">"
+                + "I4</a>");
+
+        checkOutput("pkg3/I0.html", false,
+                "Methods inherited from interface&nbsp;pkg3."
+                + "<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">"
+                + "I4</a>");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2003, 2016, 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
+ * @bug      4368820 8025633 8026567
+ * @summary  Inherited comment should link directly to member, not just
+ *           class
+ * @author   jamieh
+ * @library  ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    JavadocTester
+ * @run main TestOverriddenMethodDocCopy
+ */
+
+public class TestOverriddenMethodDocCopy extends JavadocTester {
+
+    /**
+     * The entry point of the test.
+     * @param args the array of command line arguments.
+     */
+    public static void main(String... args) throws Exception {
+        TestOverriddenMethodDocCopy tester = new TestOverriddenMethodDocCopy();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "pkg1", "pkg2");
+        checkExit(Exit.OK);
+
+        checkOutput("pkg1/SubClass.html", true,
+                "<span class=\"descfrmTypeLabel\">Description copied from class:&nbsp;<code>"
+                + "<a href=\"../pkg1/BaseClass.html#overridenMethodWithDocsToCopy--\">"
+                + "BaseClass</a></code></span>");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethods.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2002, 2016, 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
+ * @bug 4634891 8026567
+ * @summary Determine if overridden methods are properly documented when
+ * -protected (default) visibility flag is used.
+ * @author jamieh
+ * @library ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build JavadocTester
+ * @run main TestOverriddenPrivateMethods
+ */
+
+public class TestOverriddenPrivateMethods extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestOverriddenPrivateMethods tester = new TestOverriddenPrivateMethods();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "pkg1", "pkg2");
+        checkExit(Exit.OK);
+
+        // The public method should be overridden
+        checkOutput("pkg1/SubClass.html", true,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
+
+        // The public method in different package should be overridden
+        checkOutput("pkg2/SubClass.html", true,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
+
+        checkOutput("pkg1/SubClass.html", false,
+                //The package private method should be overridden since the base and sub class are in the same
+                //package.  However, the link should not show up because the package private methods are not documented.
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod",
+                //The private method in should not be overridden
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod");
+
+        checkOutput("pkg2/SubClass.html", false,
+                //The private method in different package should not be overridden
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod",
+                //The package private method should not be overridden since the base and sub class are in
+                //different packages.
+                "Overrides:</span></dt><dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2002, 2016, 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
+ * @bug 4634891 8025633 8026567
+ * @summary Determine if overridden methods are properly documented when
+ * -protected (default) visibility flag is used.
+ * @author jamieh
+ * @library ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build JavadocTester
+ * @run main TestOverriddenPrivateMethodsWithPackageFlag
+ */
+
+public class TestOverriddenPrivateMethodsWithPackageFlag extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestOverriddenPrivateMethodsWithPackageFlag tester = new TestOverriddenPrivateMethodsWithPackageFlag();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "-package",
+                "pkg1", "pkg2");
+        checkExit(Exit.OK);
+
+        // The public method should be overridden
+        checkOutput("pkg1/SubClass.html", true,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">"
+                + "publicMethod</a></code>&nbsp;in class&nbsp;<code>"
+                + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
+
+        // The public method in different package should be overridden
+        checkOutput("pkg2/SubClass.html", true,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">"
+                + "publicMethod</a></code>&nbsp;in class&nbsp;<code>"
+                + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
+
+        // The package private method should be overridden since the base and sub class are in the same
+        // package.
+        checkOutput("pkg1/SubClass.html", true,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod--\">"
+                + "packagePrivateMethod</a></code>&nbsp;in class&nbsp;<code>"
+                + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
+
+        // The private method in should not be overridden
+        checkOutput("pkg1/SubClass.html", false,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">");
+
+        // The private method in different package should not be overridden
+        checkOutput("pkg2/SubClass.html", false,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">");
+
+        // The package private method should not be overridden since the base and sub class are in
+        // different packages.
+        checkOutput("pkg2/SubClass.html", false,
+                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+                + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod()\">");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPrivateFlag.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2002, 2016, 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
+ * @bug 4634891 8026567
+ * @summary Determine if overridden methods are properly documented when
+ * -protected (default) visibility flag is used.
+ * @author jamieh
+ * @library ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build JavadocTester
+ * @run main TestOverriddenPrivateMethodsWithPrivateFlag
+ */
+
+public class TestOverriddenPrivateMethodsWithPrivateFlag extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestOverriddenPrivateMethodsWithPrivateFlag tester = new TestOverriddenPrivateMethodsWithPrivateFlag();
+        tester.runTests();
+    }
+
+    @Test
+    void test() {
+        javadoc("-d", "out",
+                "-sourcepath", testSrc,
+                "-private",
+                "pkg1", "pkg2");
+        checkExit(Exit.OK);
+
+        // The public method should be overridden
+        checkOutput("pkg1/SubClass.html", true,
+         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
+                 "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
+
+        // The package private method should be overridden since the base and sub class are in the same
+        // package.
+        checkOutput("pkg1/SubClass.html", true,
+         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
+                 "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod");
+
+        // The public method in different package should be overridden
+        checkOutput("pkg2/SubClass.html", true,
+         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
+                 "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
+
+        // The private method in should not be overridden
+        checkOutput("pkg1/SubClass.html", false,
+         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
+                 "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod");
+
+        // The private method in different package should not be overridden
+        checkOutput("pkg2/SubClass.html", false,
+         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
+                 "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod");
+
+        // The package private method should not be overridden since the base and sub class are in
+        // different packages.
+        checkOutput("pkg2/SubClass.html", false,
+         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
+                 "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,255 @@
+/*
+ * Copyright (c) 2017, 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
+ * @bug 8157000 8192850
+ * @summary  test the behavior of --override-methods option
+ * @library  ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    JavadocTester
+ * @run main TestOverrideMethods
+ */
+
+public class TestOverrideMethods  extends JavadocTester {
+    public static void main(String... args) throws Exception {
+        TestOverrideMethods tester = new TestOverrideMethods();
+        tester.runTests();
+    }
+
+    @Test
+    void testInvalidOption() {
+        // Make sure an invalid argument fails
+        javadoc("-d", "out-bad-option",
+                "-sourcepath", testSrc,
+                "-javafx",
+                "--override-methods=nonsense",
+                "pkg5");
+
+        checkExit(Exit.CMDERR);
+    }
+
+    @Test
+    void testDetail() {
+        // Make sure the option works
+        javadoc("-d", "out-detail",
+                "-sourcepath", testSrc,
+                "-javafx",
+                "--override-methods=detail",
+                "pkg5");
+
+        checkExit(Exit.OK);
+    }
+
+    @Test
+    void testSummary() {
+        javadoc("-d", "out-summary",
+                "-sourcepath", testSrc,
+                "-javafx",
+                "--override-methods=summary",
+                "pkg5");
+
+        checkExit(Exit.OK);
+
+        checkOrder("pkg5/Classes.C.html",
+                // Check properties
+                "Properties declared in class&nbsp;pkg5.<a href=\"../pkg5/Classes.P.html",
+                "Classes.P",
+                "../pkg5/Classes.P.html#rateProperty\">rate",
+
+                // Check nested classes
+                "Nested classes/interfaces declared in class&nbsp;pkg5.",
+                "Classes.P",
+                "./pkg5/Classes.P.PN.html",
+                "Classes.P.PN.html",
+                "type parameter in Classes.P.PN\">K",
+                "type parameter in Classes.P.PN",
+                "V",
+
+                // Check fields
+                "Fields declared in class&nbsp;pkg5.<a href=\"../pkg5/Classes.P.html",
+                "Classes.P",
+                "../pkg5/Classes.P.html#field0\">field0",
+
+                // Check method summary
+                "Method Summary",
+                "void",
+                "../pkg5/Classes.C.html#m1--\">m1",
+                "A modified method",
+
+                "void",
+                "../pkg5/Classes.C.html#m4-java.lang.String-java.lang.String-\">m4",
+                "java.lang.String&nbsp;k,",
+                "java.lang.String",
+                "&nbsp;v)",
+
+                // Check footnotes
+                "Methods declared in class&nbsp;pkg5.<a href=\"../pkg5/Classes.GP.html",
+                "Classes.GP",
+                "../pkg5/Classes.GP.html#m0--\">m0",
+
+                // Check method details for override
+                "overrideSpecifyLabel",
+                "Overrides:",
+                "../pkg5/Classes.GP.html#m7--\">m7",
+                "in class",
+                "../pkg5/Classes.GP.html",
+                "Classes.GP"
+        );
+
+        checkOrder("pkg5/Classes.C.html",
+                // Check footnotes 2
+                "Methods declared in class&nbsp;pkg5.",
+                "../pkg5/Classes.P.html#getRate--\">getRate",
+                "../pkg5/Classes.P.html#m2--\">m2",
+                "../pkg5/Classes.P.html#m3--\">m3",
+                "../pkg5/Classes.P.html#m4-K-V-\">m4",
+                "../pkg5/Classes.P.html#rateProperty--\">rateProperty",
+                "../pkg5/Classes.P.html#setRate-double-\">setRate",
+
+                // Check @link
+                "A test of links to the methods in this class. <p>\n",
+                "../pkg5/Classes.GP.html#m0--",
+                "Classes.GP.m0()",
+                "../pkg5/Classes.C.html#m1--",
+                "m1()",
+                "../pkg5/Classes.P.html#m2--",
+                "Classes.P.m2()",
+                "../pkg5/Classes.P.html#m3--",
+                "Classes.P.m3()",
+                "m4(java.lang.String,java.lang.String)",
+                "../pkg5/Classes.P.html#m5--",
+                "Classes.P.m5()",
+                "../pkg5/Classes.C.html#m6--",
+                "m6()",
+                "../pkg5/Classes.C.html#m7--",
+                "m7()",
+                "End of links",
+
+                // Check @see
+                "See Also:",
+                "../pkg5/Classes.GP.html#m0--",
+                "Classes.GP.m0()",
+                "../pkg5/Classes.C.html#m1--",
+                "m1()",
+                "../pkg5/Classes.P.html#m2--",
+                "Classes.P.m2()",
+                "../pkg5/Classes.P.html#m3--",
+                "Classes.P.m3()",
+                "../pkg5/Classes.C.html#m4-java.lang.String-java.lang.String-",
+                "m4(String k, String v)",
+                "../pkg5/Classes.P.html#m5--\"><code>Classes.P.m5()",
+                "../pkg5/Classes.C.html#m6--\"><code>m6()",
+                "../pkg5/Classes.C.html#m7--\"><code>m7()"
+        );
+
+        // Tests for interfaces
+
+        // Make sure the static methods in the super interface
+        // do not make it to this interface
+        checkOutput("pkg5/Interfaces.D.html", false,
+            "msd", "msn");
+
+        checkOrder("pkg5/Interfaces.D.html",
+                "Start of links <p>",
+                "../pkg5/Interfaces.A.html#m0--\"><code>Interfaces.A.m0()",
+                "../pkg5/Interfaces.A.html#m1--\"><code>Interfaces.A.m1()",
+                "../pkg5/Interfaces.A.html#m2--\"><code>Interfaces.A.m2()",
+                "../pkg5/Interfaces.A.html#m3--\"><code>Interfaces.A.m3()",
+                "../pkg5/Interfaces.D.html#m--\"><code>m()",
+                "../pkg5/Interfaces.D.html#n--\"><code>n()",
+                "../pkg5/Interfaces.C.html#o--\"><code>Interfaces.C.o()",
+                "End of links",
+
+                // Check @see links
+                "See Also:",
+                "../pkg5/Interfaces.A.html#m0--\"><code>Interfaces.A.m0()",
+                "../pkg5/Interfaces.A.html#m1--\"><code>Interfaces.A.m1()",
+                "../pkg5/Interfaces.A.html#m2--\"><code>Interfaces.A.m2()",
+                "../pkg5/Interfaces.A.html#m3--\"><code>Interfaces.A.m3()",
+                "../pkg5/Interfaces.D.html#m--\"><code>m()",
+                "../pkg5/Interfaces.D.html#n--\"><code>n()",
+                "../pkg5/Interfaces.C.html#o--\"><code>Interfaces.C.o()",
+
+                // Check properties
+                "Properties declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.A.html\" "
+                + "title=\"interface in pkg5\">Interfaces.A</a>",
+
+                // Check nested classes
+                "Nested classes/interfaces declared in interface&nbsp;pkg5.",
+                "Interfaces.A",
+                "../pkg5/Interfaces.A.AA.html",
+                "Interfaces.A.AA",
+
+                // Check Fields
+                "Fields declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.A.html",
+                "../pkg5/Interfaces.A.html#f",
+                "../pkg5/Interfaces.A.html#QUOTE\">QUOTE",
+                "../pkg5/Interfaces.A.html#rate\">rate",
+
+                // Check Method Summary
+                "Method Summary",
+                "../pkg5/Interfaces.D.html#m--\">m",
+                "../pkg5/Interfaces.D.html#n--\">n",
+
+                // Check footnotes
+                "Methods declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.A.html",
+                "../pkg5/Interfaces.A.html#getRate--\">getRate",
+                "../pkg5/Interfaces.A.html#rateProperty--\">rateProperty",
+                "../pkg5/Interfaces.A.html#setRate-double-",
+                "Methods declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.B.html",
+                "../pkg5/Interfaces.B.html#m1--\">m1",
+                "../pkg5/Interfaces.B.html#m3--\">m3",
+                "Methods declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.C.html",
+                "<a href=\"../pkg5/Interfaces.C.html#o--\">o</a>"
+        );
+
+        // Test synthetic values and valuesof of an enum.
+        checkOrder("index-all.html",
+                "<h2 class=\"title\">M</h2>",
+                "<a href=\"pkg5/Interfaces.C.html#m--\">m()",
+                "<a href=\"pkg5/Interfaces.D.html#m--\">m()</a>",
+                "<a href=\"pkg5/Classes.GP.html#m0--\">m0()",
+                "<a href=\"pkg5/Interfaces.A.html#m0--\">m0()</a>",
+                "<a href=\"pkg5/Classes.C.html#m1--\">m1()</a>",
+                "<a href=\"pkg5/Classes.P.html#m1--\">m1()</a>",
+                "<a href=\"pkg5/Interfaces.A.html#m1--\">m1()</a>",
+                "<a href=\"pkg5/Interfaces.B.html#m1--\">m1()</a>",
+                "<a href=\"pkg5/Classes.P.html#m2--\">m2()</a>",
+                "<a href=\"pkg5/Interfaces.A.html#m2--\">m2()</a>",
+                "<a href=\"pkg5/Classes.P.html#m3--\">m3()</a>",
+                "<a href=\"pkg5/Interfaces.A.html#m3--\">m3()</a>",
+                "<a href=\"pkg5/Interfaces.B.html#m3--\">m3()</a>",
+                "<a href=\"pkg5/Classes.C.html#m4-java.lang.String-java.lang.String-\">m4(String, String)</a>",
+                "<a href=\"pkg5/Classes.P.html#m4-K-V-\">m4(K, V)</a>",
+                "<a href=\"pkg5/Classes.P.html#m5--\">m5()</a>",
+                "<a href=\"pkg5/Classes.C.html#m6--\">m6()</a>",
+                "<a href=\"pkg5/Classes.P.html#m6--\">m6()</a>",
+                "<a href=\"pkg5/Classes.C.html#m7--\">m7()</a>",
+                "<a href=\"pkg5/Classes.GP.html#m7--\">m7()</a>",
+                "Returns the enum constant of this type with the specified name.",
+                "Returns an array containing the constants of this enum type, in\n" +
+                        "the order they are declared."
+        );
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/BaseClass.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2002, 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.
+ */
+
+package pkg1;
+
+public class BaseClass {
+
+  /*************************************************
+   * A public method that can be overriden.
+   *
+   */
+  public void publicMethod() {}
+
+
+  /*************************************************
+   * A package private method that can only
+   * be overriden by sub classes in the same package.
+   *
+   */
+  void packagePrivateMethod() {}
+
+  /*************************************************
+   * A private that cannot be overriden.
+   *
+   */
+  private void privateMethod() {}
+
+  /**
+   * These comments will be copied to the overriden method.
+   */
+  public void overridenMethodWithDocsToCopy() {}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/SubClass.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2002, 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.
+ */
+
+package pkg1;
+
+public class SubClass extends BaseClass {
+
+  /*************************************************
+   * This method should override the same public
+   * method in the base class.
+   *
+   */
+  public void publicMethod() {}
+
+
+  /*************************************************
+   * This method should override the same package
+   * private method in the base class because they
+   * are in the same package.
+   */
+  public void packagePrivateMethod() {}
+
+  /*************************************************
+   * This method should not override anything because
+   * the same method in the base class is private.
+   *
+   */
+  public void privateMethod() {}
+
+  public void overridenMethodWithDocsToCopy() {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg2/SubClass.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2002, 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 pkg2;
+
+import pkg1.*;
+
+public class SubClass extends BaseClass {
+
+  /*************************************************
+   * This method should override the same public
+   * method in the base class.
+   *
+   */
+  public void publicMethod() {}
+
+
+  /*************************************************
+   * This method should not override the same package
+   * private method in the base class because they
+   * are in different packages.
+   */
+  public void packagePrivateMethod() {}
+
+  /*************************************************
+   * This method should not override anything because
+   * the same method in the base class is private.
+   *
+   */
+  public void privateMethod() {}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I0.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+package pkg3;
+
+public interface I0 extends I2, I3, I4 {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I1.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+package pkg3;
+
+public interface I1 extends I2, I4, I3 {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I2.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+
+package pkg3;
+
+public interface I2 {
+
+        public void foo();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I3.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+
+package pkg3;
+
+public interface I3 extends I4 {
+
+        public void foo();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg3/I4.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+
+package pkg3;
+
+public interface I4 {
+
+        public void foo();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg4/Foo.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017, 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 pkg4;
+
+public class Foo {
+    /**
+     * Why can't I do this ?
+     */
+    public void toString() {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/Classes.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2017, 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 pkg5;
+
+public class Classes {
+
+   public static class GP {
+      /** m0 in grand parent */
+      public void m0() {}
+
+      /** m7 in grand parent */
+      public void m7() {}
+   }
+
+    public static class P<K, V> extends GP {
+
+       /** A nested class in parent */
+       public class PN<K, V>{}
+
+       /** A property in parent */
+       private DoubleProperty rate;
+       public final void setRate(double l){}
+       public final double getRate(){return 1;}
+       public DoubleProperty rateProperty() {return null;}
+
+        /** A ctor in parent */
+       public P() {}
+
+       /**
+        * A ctor in parent.
+        * @param s string
+        */
+       public P(String s) {}
+
+       /** field0 in parent */
+       public int field0;
+
+       /** field1 in parent */
+       public int field1;
+
+
+       // m0 in parent
+       public void m0() {}
+
+       /** m1 in parent */
+       public void m1() {}
+
+       /** m2 in parent */
+       public void m2() {}
+
+       /** m3 in parent */
+       public void m3() {}
+
+       /** m4 in parent
+           @param k a key
+           @param v a value
+        */
+       public void m4(K k, V v) {}
+
+       // No comment
+       public void m5() {}
+
+       // No comment
+       public void m6() {}
+
+        /** {@inheritDoc} */
+        public void m7() {}
+
+    }
+
+    public static class C extends P {
+
+       public C(String s) {}
+
+       public int field1;
+
+       /** A modified method */
+       public void m1() {}
+
+       /** {@inheritDoc} */
+       public void m2() {}
+
+       // No comment method
+       public void m3() {}
+
+       public void m4(String k, String v) {}
+
+       // Do something else than the parent
+       public void m5() {}
+
+       /** A test of links to the methods in this class. <p>
+        * {@link m0},
+        * {@link m1},
+        * {@link m2},
+        * {@link m3},
+        * {@link m4},
+        * {@link m5},
+        * {@link m6},
+        * {@link m7},
+        * End of links
+        *
+        * @see #m0()
+        * @see #m1()
+        * @see #m2()
+        * @see #m3()
+        * @see #m4(String k, String v)
+        * @see #m5()
+        * @see #m6()
+        * @see #m7()
+        */
+       public void m6() {}
+
+        /** m7 in Child. */
+        public void m7() {}
+    }
+
+    /** Tickle this {@link TestEnum#doSomething()} */
+    public class DoubleProperty {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/Interfaces.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2017, 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 pkg5;
+
+public class Interfaces {
+     public interface A {
+
+         /** field f in A */
+         public int f = 0;
+
+         public static String QUOTE = "Winter is coming";
+
+         /** a documented static method */
+         public static void msd() {}
+
+         /* An undocumented static method */
+         public static void msn() {}
+
+         /** A property in parent */
+         DoubleProperty rate = null;
+         public void setRate(double l);
+         public double getRate();
+         public DoubleProperty rateProperty();
+         // A support class
+         public interface DoubleProperty {}
+
+         /** AA in A */
+         public interface AA {}
+
+         /** m0 in A */
+         public void m0();
+
+         /** m1 in A */
+         public void m1();
+
+         /** m2 in A */
+         public void m2();
+
+         /** m3 in A */
+         public void m3();
+     }
+
+     public interface B extends A {
+         // No comment
+         public void m0();
+
+         /** m1 in B */
+         public void m1();
+
+         /** {@inheritDoc} */
+         public void m2();
+
+         /** @throws Exception e */
+         public void m3() throws Exception;
+
+         /** n in B */
+         public void n();
+     }
+
+     public interface C extends A, B  {
+         /** m in C */
+         public void m();
+
+         /** o in C */
+         public void o();
+     }
+
+    /**
+     * The child of all children.
+     *
+     * Start of links <p>
+     * {@link m0},
+     * {@link m1},
+     * {@link m2},
+     * {@link m3},
+     * {@link m},
+     * {@link n},
+     * {@link o},
+     * End of links
+     *
+     * @see #m0()
+     * @see #m1()
+     * @see #m2()
+     * @see #m3()
+     * @see #m
+     * @see #n
+     * @see #o
+     */
+    public interface D extends A, B, C {
+         /** m in D */
+         public void m();
+
+         /** n in D */
+         public void n();
+
+         // no comment
+         public void o();
+     }
+ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/TestEnum.java	Tue Dec 12 20:18:14 2017 -0800
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017, 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.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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 pkg5;
+
+/** Test Enum */
+public enum TestEnum {
+    A, B, C, D;
+    /** A useful method. */
+    public void doSomething(){}
+}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestBadOverride.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2017, 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
- * @bug      8174839 8175200 8186332
- * @summary  Bad overriding method should not crash
- * @library  ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build    JavadocTester
- * @run main TestBadOverride
- */
-
-public class TestBadOverride extends JavadocTester {
-
-    /**
-     * The entry point of the test.
-     * @param args the array of command line arguments.
-     */
-    public static void main(String... args) throws Exception {
-        TestBadOverride tester = new TestBadOverride();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "pkg4");
-        checkExit(Exit.OK);
-
-        checkOutput("pkg4/Foo.html", true,
-                "<li class=\"blockList\">\n"
-                + "<h4>toString</h4>\n"
-                + "<pre>public&nbsp;void&nbsp;toString()</pre>\n"
-                + "<div class=\"block\">Why can't I do this ?</div>\n"
-                + "</li>");
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestMultiInheritence.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2003, 2016, 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
- * @bug      4933335
- * @summary  Make sure that all inherited methods from multiple extended
- *           interfaces are documented
- * @author   jamieh
- * @library  ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build    JavadocTester
- * @run main TestMultiInheritence
- */
-
-// TODO: should be TestMultiInheritance
-public class TestMultiInheritence extends JavadocTester {
-
-    public static void main(String... args) throws Exception {
-        TestMultiInheritence tester = new TestMultiInheritence();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "pkg3");
-        checkExit(Exit.OK);
-
-        // Method foo() is inherited from BOTH I2 and I3
-
-        checkOutput("pkg3/I1.html", true,
-                "Methods inherited from interface&nbsp;pkg3."
-                + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
-                + "I2</a>",
-                "Methods inherited from interface&nbsp;pkg3."
-                + "<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">"
-                + "I3</a>");
-
-        checkOutput("pkg3/I0.html", true,
-                "Methods inherited from interface&nbsp;pkg3."
-                + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
-                + "I2</a>",
-                "Methods inherited from interface&nbsp;pkg3."
-                + "<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">"
-                + "I3</a>");
-
-        // Method foo() is NOT inherited from I4 because it is overriden by I3.
-
-        checkOutput("pkg3/I1.html", false,
-                "Methods inherited from interface&nbsp;pkg3."
-                + "<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">"
-                + "I4</a>");
-
-        checkOutput("pkg3/I0.html", false,
-                "Methods inherited from interface&nbsp;pkg3."
-                + "<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">"
-                + "I4</a>");
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverrideMethods.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 2017, 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
- * @bug 8157000
- * @summary  test the behavior of --override-methods option
- * @library  ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build    JavadocTester
- * @run main TestOverrideMethods
- */
-
-public class TestOverrideMethods  extends JavadocTester {
-    public static void main(String... args) throws Exception {
-        TestOverrideMethods tester = new TestOverrideMethods();
-        tester.runTests();
-    }
-
-    @Test
-    void testInvalidOption() {
-        // Make sure an invalid argument fails
-        javadoc("-d", "out-bad-option",
-                "-sourcepath", testSrc,
-                "-javafx",
-                "--override-methods=nonsense",
-                "pkg5");
-
-        checkExit(Exit.CMDERR);
-    }
-
-    @Test
-    void testDetail() {
-        // Make sure the option works
-        javadoc("-d", "out-detail",
-                "-sourcepath", testSrc,
-                "-javafx",
-                "--override-methods=detail",
-                "pkg5");
-
-        checkExit(Exit.OK);
-    }
-
-    @Test
-    void testSummary() {
-        javadoc("-d", "out-summary",
-                "-sourcepath", testSrc,
-                "-javafx",
-                "--override-methods=summary",
-                "pkg5");
-
-        checkExit(Exit.OK);
-
-        checkOutput("pkg5/Classes.C.html", true,
-                // Check properties
-                "<h3>Properties declared in class&nbsp;pkg5.<a href=\"../pkg5/Classes.P.html\" "
-                + "title=\"class in pkg5\">Classes.P</a></h3>\n"
-                + "<code><a href=\"../pkg5/Classes.P.html#rateProperty\">rate</a>",
-
-                // Check nested classes
-                "<h3>Nested classes/interfaces declared in class&nbsp;pkg5."
-                + "<a href=\"../pkg5/Classes.P.html\" title=\"class in pkg5\">Classes.P</a></h3>\n"
-                + "<code><a href=\"../pkg5/Classes.P.PN.html\" title=\"class in pkg5\">"
-                + "Classes.P.PN</a>&lt;<a href=\"../pkg5/Classes.P.PN.html\" "
-                + "title=\"type parameter in Classes.P.PN\">K</a>,"
-                + "<a href=\"../pkg5/Classes.P.PN.html\" title=\"type parameter in Classes.P.PN\">"
-                + "V</a>&gt;</code></li>\n",
-
-                // Check fields
-                "<h3>Fields declared in class&nbsp;pkg5.<a href=\"../pkg5/Classes.P.html\" "
-                + "title=\"class in pkg5\">Classes.P</a></h3>\n"
-                + "<code><a href=\"../pkg5/Classes.P.html#field0\">field0</a></code></li>\n",
-
-                // Check method summary
-                "<td class=\"colFirst\"><code>void</code></td>\n"
-                + "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
-                + "<a href=\"../pkg5/Classes.C.html#m1--\">m1</a></span>()</code></th>\n"
-                + "<td class=\"colLast\">\n"
-                + "<div class=\"block\">A modified method</div>\n",
-
-                "<td class=\"colFirst\"><code>void</code></td>\n"
-                + "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
-                + "<a href=\"../pkg5/Classes.C.html#m4-java.lang.String-java.lang.String-\">m4"
-                + "</a></span>&#8203;(java.lang.String&nbsp;k,\n"
-                + "  java.lang.String&nbsp;v)</code></th>\n",
-
-                // Check footnotes
-                "<h3>Methods declared in class&nbsp;pkg5.<a href=\"../pkg5/Classes.GP.html\" "
-                + "title=\"class in pkg5\">Classes.GP</a></h3>\n"
-                + "<code><a href=\"../pkg5/Classes.GP.html#m0--\">m0</a>",
-
-                // Check method details for override
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg5/Classes.GP.html#m7--\">m7</a>"
-                + "</code>&nbsp;in class&nbsp;<code><a href=\"../pkg5/Classes.GP.html\" "
-                + "title=\"class in pkg5\">Classes.GP</a></code></dd>\n"
-        );
-
-        // Check footnotes 2
-        checkOrder("pkg5/Classes.C.html",
-                "Methods declared in class&nbsp;pkg5.",
-                "<code><a href=\"../pkg5/Classes.P.html#getRate--\">getRate</a>, ",
-                "<a href=\"../pkg5/Classes.P.html#m2--\">m2</a>, ",
-                "<a href=\"../pkg5/Classes.P.html#m3--\">m3</a>, ",
-                "<a href=\"../pkg5/Classes.P.html#m4-K-V-\">m4</a>, ",
-                "<a href=\"../pkg5/Classes.P.html#rateProperty--\">rateProperty</a>, ",
-                "<a href=\"../pkg5/Classes.P.html#setRate-double-\">setRate</a>"
-        );
-
-        // Check @link
-        checkOrder("pkg5/Classes.C.html",
-                "A test of links to the methods in this class. <p>\n",
-                "<a href=\"../pkg5/Classes.GP.html#m0--\"><code>Classes.GP.m0()</code></a>",
-                "<a href=\"../pkg5/Classes.C.html#m1--\"><code>m1()</code></a>",
-                "<a href=\"../pkg5/Classes.P.html#m2--\"><code>Classes.P.m2()</code></a>",
-                "<a href=\"../pkg5/Classes.P.html#m3--\"><code>Classes.P.m3()</code></a>",
-                "<code>m4(java.lang.String,java.lang.String)</code></a>",
-                "<a href=\"../pkg5/Classes.P.html#m5--\"><code>Classes.P.m5()</code></a>",
-                "<a href=\"../pkg5/Classes.C.html#m6--\"><code>m6()</code></a>",
-                "<a href=\"../pkg5/Classes.C.html#m7--\"><code>m7()</code></a>",
-                "End of links"
-        );
-
-        // Check @see
-        checkOrder("pkg5/Classes.C.html",
-                "See Also:",
-                "<a href=\"../pkg5/Classes.GP.html#m0--\"><code>Classes.GP.m0()</code>",
-                "<a href=\"../pkg5/Classes.C.html#m1--\"><code>m1()</code></a>",
-                "<a href=\"../pkg5/Classes.P.html#m2--\"><code>Classes.P.m2()</code></a>",
-                "<a href=\"../pkg5/Classes.P.html#m3--\"><code>Classes.P.m3()</code></a>",
-                "<a href=\"../pkg5/Classes.C.html#m4-java.lang.String-java.lang.String-\">"
-                + "<code>m4(String k, String v)</code>",
-                "<a href=\"../pkg5/Classes.P.html#m5--\"><code>Classes.P.m5()</code></a>",
-                "<a href=\"../pkg5/Classes.C.html#m6--\"><code>m6()</code></a>",
-                "<a href=\"../pkg5/Classes.C.html#m7--\"><code>m7()</code></a>"
-        );
-
-        checkOutput("pkg5/Interfaces.D.html", true,
-                // Check properties
-                "<h3>Properties declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.A.html\" "
-                + "title=\"interface in pkg5\">Interfaces.A</a>",
-
-                // Check nested classes
-                "<h3>Nested classes/interfaces declared in interface&nbsp;pkg5."
-                + "<a href=\"../pkg5/Interfaces.A.html\" title=\"interface in pkg5\">"
-                + "Interfaces.A</a></h3>\n"
-                + "<code><a href=\"../pkg5/Interfaces.A.AA.html\" "
-                + "title=\"interface in pkg5\">Interfaces.A.AA</a>",
-
-                // Check fields
-                "<h3>Fields declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.A.html\" "
-                + "title=\"interface in pkg5\">Interfaces.A</a></h3>\n"
-                + "<code><a href=\"../pkg5/Interfaces.A.html#f\">f</a>",
-
-                // Check method summary
-                "<td class=\"colFirst\"><code>void</code></td>\n"
-                + "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
-                + "<a href=\"../pkg5/Interfaces.D.html#m--\">m</a></span>()</code></th>\n"
-                + "<td class=\"colLast\">\n"
-                + "<div class=\"block\">m in D</div>\n",
-
-                "<td class=\"colFirst\"><code>void</code></td>\n"
-                + "<th class=\"colSecond\" scope=\"row\"><code><span class=\"memberNameLink\">"
-                + "<a href=\"../pkg5/Interfaces.D.html#n--\">n</a></span>()</code></th>\n"
-                + "<td class=\"colLast\">\n"
-                + "<div class=\"block\">n in D</div>\n",
-
-                // Check footnote
-                "<h3>Methods declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.A.html\" "
-                + "title=\"interface in pkg5\">Interfaces.A</a></h3>\n"
-                + "<code><a href=\"../pkg5/Interfaces.A.html#getRate--\">getRate</a>, "
-                + "<a href=\"../pkg5/Interfaces.A.html#rateProperty--\">rateProperty</a>, "
-                + "<a href=\"../pkg5/Interfaces.A.html#setRate-double-\">setRate</a>",
-
-                "<h3>Methods declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.B.html\" "
-                + "title=\"interface in pkg5\">Interfaces.B</a></h3>\n"
-                + "<code><a href=\"../pkg5/Interfaces.B.html#m1--\">m1</a>, "
-                + "<a href=\"../pkg5/Interfaces.B.html#m3--\">m3</a>",
-
-                "<h3>Methods declared in interface&nbsp;pkg5.<a href=\"../pkg5/Interfaces.C.html\" "
-                + "title=\"interface in pkg5\">Interfaces.C</a></h3>\n"
-                + "<code><a href=\"../pkg5/Interfaces.C.html#o--\">o</a>"
-        );
-
-        checkOrder("pkg5/Interfaces.D.html",
-                "Start of links <p>",
-                "<a href=\"../pkg5/Interfaces.A.html#m0--\"><code>Interfaces.A.m0()</code></a>",
-                "<a href=\"../pkg5/Interfaces.A.html#m1--\"><code>Interfaces.A.m1()</code></a>",
-                "<a href=\"../pkg5/Interfaces.A.html#m2--\"><code>Interfaces.A.m2()</code></a>",
-                "<a href=\"../pkg5/Interfaces.A.html#m3--\"><code>Interfaces.A.m3()</code></a>",
-                "<a href=\"../pkg5/Interfaces.D.html#m--\"><code>m()</code></a>",
-                "<a href=\"../pkg5/Interfaces.D.html#n--\"><code>n()</code></a>",
-                "<a href=\"../pkg5/Interfaces.C.html#o--\"><code>Interfaces.C.o()</code></a>",
-                "End of links");
-
-        checkOrder("pkg5/Interfaces.D.html",
-                "See Also:",
-                "<a href=\"../pkg5/Interfaces.A.html#m0--\"><code>Interfaces.A.m0()</code></a>",
-                "<a href=\"../pkg5/Interfaces.A.html#m1--\"><code>Interfaces.A.m1()</code></a>",
-                "<a href=\"../pkg5/Interfaces.A.html#m2--\"><code>Interfaces.A.m2()</code></a>",
-                "<a href=\"../pkg5/Interfaces.A.html#m3--\"><code>Interfaces.A.m3()</code></a>",
-                "<a href=\"../pkg5/Interfaces.D.html#m--\"><code>m()</code></a>",
-                "<a href=\"../pkg5/Interfaces.D.html#n--\"><code>n()</code></a>",
-                "<a href=\"../pkg5/Interfaces.C.html#o--\"><code>Interfaces.C.o()</code></a>");
-
-        // Test synthetic values and valuesof of an enum.
-        checkOrder("index-all.html",
-                "<h2 class=\"title\">M</h2>",
-                "<a href=\"pkg5/Interfaces.C.html#m--\">m()",
-                "<a href=\"pkg5/Interfaces.D.html#m--\">m()</a>",
-                "<a href=\"pkg5/Classes.GP.html#m0--\">m0()",
-                "<a href=\"pkg5/Interfaces.A.html#m0--\">m0()</a>",
-                "<a href=\"pkg5/Classes.C.html#m1--\">m1()</a>",
-                "<a href=\"pkg5/Classes.P.html#m1--\">m1()</a>",
-                "<a href=\"pkg5/Interfaces.A.html#m1--\">m1()</a>",
-                "<a href=\"pkg5/Interfaces.B.html#m1--\">m1()</a>",
-                "<a href=\"pkg5/Classes.P.html#m2--\">m2()</a>",
-                "<a href=\"pkg5/Interfaces.A.html#m2--\">m2()</a>",
-                "<a href=\"pkg5/Classes.P.html#m3--\">m3()</a>",
-                "<a href=\"pkg5/Interfaces.A.html#m3--\">m3()</a>",
-                "<a href=\"pkg5/Interfaces.B.html#m3--\">m3()</a>",
-                "<a href=\"pkg5/Classes.C.html#m4-java.lang.String-java.lang.String-\">m4(String, String)</a>",
-                "<a href=\"pkg5/Classes.P.html#m4-K-V-\">m4(K, V)</a>",
-                "<a href=\"pkg5/Classes.P.html#m5--\">m5()</a>",
-                "<a href=\"pkg5/Classes.C.html#m6--\">m6()</a>",
-                "<a href=\"pkg5/Classes.P.html#m6--\">m6()</a>",
-                "<a href=\"pkg5/Classes.C.html#m7--\">m7()</a>",
-                "<a href=\"pkg5/Classes.GP.html#m7--\">m7()</a>",
-                "Returns the enum constant of this type with the specified name.",
-                "Returns an array containing the constants of this enum type, in\n" +
-                        "the order they are declared."
-        );
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenMethodDocCopy.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2003, 2016, 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
- * @bug      4368820 8025633 8026567
- * @summary  Inherited comment should link directly to member, not just
- *           class
- * @author   jamieh
- * @library  ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build    JavadocTester
- * @run main TestOverridenMethodDocCopy
- */
-
-public class TestOverridenMethodDocCopy extends JavadocTester {
-
-    /**
-     * The entry point of the test.
-     * @param args the array of command line arguments.
-     */
-    public static void main(String... args) throws Exception {
-        TestOverridenMethodDocCopy tester = new TestOverridenMethodDocCopy();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "pkg1", "pkg2");
-        checkExit(Exit.OK);
-
-        checkOutput("pkg1/SubClass.html", true,
-                "<span class=\"descfrmTypeLabel\">Description copied from class:&nbsp;<code>"
-                + "<a href=\"../pkg1/BaseClass.html#overridenMethodWithDocsToCopy--\">"
-                + "BaseClass</a></code></span>");
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenPrivateMethods.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2002, 2016, 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
- * @bug 4634891 8026567
- * @summary Determine if overriden methods are properly documented when
- * -protected (default) visibility flag is used.
- * @author jamieh
- * @library ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build JavadocTester
- * @run main TestOverridenPrivateMethods
- */
-
-public class TestOverridenPrivateMethods extends JavadocTester {
-
-    public static void main(String... args) throws Exception {
-        TestOverridenPrivateMethods tester = new TestOverridenPrivateMethods();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "pkg1", "pkg2");
-        checkExit(Exit.OK);
-
-        // The public method should be overridden
-        checkOutput("pkg1/SubClass.html", true,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
-
-        // The public method in different package should be overridden
-        checkOutput("pkg2/SubClass.html", true,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
-
-        checkOutput("pkg1/SubClass.html", false,
-                //The package private method should be overridden since the base and sub class are in the same
-                //package.  However, the link should not show up because the package private methods are not documented.
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod",
-                //The private method in should not be overridden
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod");
-
-        checkOutput("pkg2/SubClass.html", false,
-                //The private method in different package should not be overridden
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod",
-                //The package private method should not be overridden since the base and sub class are in
-                //different packages.
-                "Overrides:</span></dt><dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod");
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2002, 2016, 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
- * @bug 4634891 8025633 8026567
- * @summary Determine if overridden methods are properly documented when
- * -protected (default) visibility flag is used.
- * @author jamieh
- * @library ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build JavadocTester
- * @run main TestOverridenPrivateMethodsWithPackageFlag
- */
-
-public class TestOverridenPrivateMethodsWithPackageFlag extends JavadocTester {
-
-    public static void main(String... args) throws Exception {
-        TestOverridenPrivateMethodsWithPackageFlag tester = new TestOverridenPrivateMethodsWithPackageFlag();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "-package",
-                "pkg1", "pkg2");
-        checkExit(Exit.OK);
-
-        // The public method should be overridden
-        checkOutput("pkg1/SubClass.html", true,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">"
-                + "publicMethod</a></code>&nbsp;in class&nbsp;<code>"
-                + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
-
-        // The public method in different package should be overridden
-        checkOutput("pkg2/SubClass.html", true,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">"
-                + "publicMethod</a></code>&nbsp;in class&nbsp;<code>"
-                + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
-
-        // The package private method should be overridden since the base and sub class are in the same
-        // package.
-        checkOutput("pkg1/SubClass.html", true,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod--\">"
-                + "packagePrivateMethod</a></code>&nbsp;in class&nbsp;<code>"
-                + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
-
-        // The private method in should not be overridden
-        checkOutput("pkg1/SubClass.html", false,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">");
-
-        // The private method in different package should not be overridden
-        checkOutput("pkg2/SubClass.html", false,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">");
-
-        // The package private method should not be overridden since the base and sub class are in
-        // different packages.
-        checkOutput("pkg2/SubClass.html", false,
-                "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
-                + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod()\">");
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2002, 2016, 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
- * @bug 4634891 8026567
- * @summary Determine if overridden methods are properly documented when
- * -protected (default) visibility flag is used.
- * @author jamieh
- * @library ../lib
- * @modules jdk.javadoc/jdk.javadoc.internal.tool
- * @build JavadocTester
- * @run main TestOverridenPrivateMethodsWithPrivateFlag
- */
-
-public class TestOverridenPrivateMethodsWithPrivateFlag extends JavadocTester {
-
-    public static void main(String... args) throws Exception {
-        TestOverridenPrivateMethodsWithPrivateFlag tester = new TestOverridenPrivateMethodsWithPrivateFlag();
-        tester.runTests();
-    }
-
-    @Test
-    void test() {
-        javadoc("-d", "out",
-                "-sourcepath", testSrc,
-                "-private",
-                "pkg1", "pkg2");
-        checkExit(Exit.OK);
-
-        // The public method should be overridden
-        checkOutput("pkg1/SubClass.html", true,
-         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
-                 "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
-
-        // The package private method should be overridden since the base and sub class are in the same
-        // package.
-        checkOutput("pkg1/SubClass.html", true,
-         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
-                 "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod");
-
-        // The public method in different package should be overridden
-        checkOutput("pkg2/SubClass.html", true,
-         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
-                 "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod");
-
-        // The private method in should not be overridden
-        checkOutput("pkg1/SubClass.html", false,
-         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
-                 "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod");
-
-        // The private method in different package should not be overridden
-        checkOutput("pkg2/SubClass.html", false,
-         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
-                 "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod");
-
-        // The package private method should not be overridden since the base and sub class are in
-        // different packages.
-        checkOutput("pkg2/SubClass.html", false,
-         "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
-                 "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod");
-    }
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg1/BaseClass.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2002, 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.
- */
-
-package pkg1;
-
-public class BaseClass {
-
-  /*************************************************
-   * A public method that can be overriden.
-   *
-   */
-  public void publicMethod() {}
-
-
-  /*************************************************
-   * A package private method that can only
-   * be overriden by sub classes in the same package.
-   *
-   */
-  void packagePrivateMethod() {}
-
-  /*************************************************
-   * A private that cannot be overriden.
-   *
-   */
-  private void privateMethod() {}
-
-  /**
-   * These comments will be copied to the overriden method.
-   */
-  public void overridenMethodWithDocsToCopy() {}
-
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg1/SubClass.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2002, 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.
- */
-
-package pkg1;
-
-public class SubClass extends BaseClass {
-
-  /*************************************************
-   * This method should override the same public
-   * method in the base class.
-   *
-   */
-  public void publicMethod() {}
-
-
-  /*************************************************
-   * This method should override the same package
-   * private method in the base class because they
-   * are in the same package.
-   */
-  public void packagePrivateMethod() {}
-
-  /*************************************************
-   * This method should not override anything because
-   * the same method in the base class is private.
-   *
-   */
-  public void privateMethod() {}
-
-  public void overridenMethodWithDocsToCopy() {}
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg2/SubClass.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2002, 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 pkg2;
-
-import pkg1.*;
-
-public class SubClass extends BaseClass {
-
-  /*************************************************
-   * This method should override the same public
-   * method in the base class.
-   *
-   */
-  public void publicMethod() {}
-
-
-  /*************************************************
-   * This method should not override the same package
-   * private method in the base class because they
-   * are in different packages.
-   */
-  public void packagePrivateMethod() {}
-
-  /*************************************************
-   * This method should not override anything because
-   * the same method in the base class is private.
-   *
-   */
-  public void privateMethod() {}
-
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I0.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * 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.
- */
-
-package pkg3;
-
-public interface I0 extends I2, I3, I4 {}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I1.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * 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.
- */
-
-package pkg3;
-
-public interface I1 extends I2, I4, I3 {}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I2.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * 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.
- */
-
-package pkg3;
-
-public interface I2 {
-
-        public void foo();
-
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I3.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * 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.
- */
-
-package pkg3;
-
-public interface I3 extends I4 {
-
-        public void foo();
-
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg3/I4.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * 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.
- */
-
-package pkg3;
-
-public interface I4 {
-
-        public void foo();
-
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg4/Foo.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2017, 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 pkg4;
-
-public class Foo {
-    /**
-     * Why can't I do this ?
-     */
-    public void toString() {}
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg5/Classes.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2017, 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 pkg5;
-
-public class Classes {
-
-   public static class GP {
-      /** m0 in grand parent */
-      public void m0() {}
-
-      /** m7 in grand parent */
-      public void m7() {}
-   }
-
-    public static class P<K, V> extends GP {
-
-       /** A nested class in parent */
-       public class PN<K, V>{}
-
-       /** A property in parent */
-       private DoubleProperty rate;
-       public final void setRate(double l){}
-       public final double getRate(){return 1;}
-       public DoubleProperty rateProperty() {return null;}
-
-        /** A ctor in parent */
-       public P() {}
-
-       /**
-        * A ctor in parent.
-        * @param s string
-        */
-       public P(String s) {}
-
-       /** field0 in parent */
-       public int field0;
-
-       /** field1 in parent */
-       public int field1;
-
-
-       // m0 in parent
-       public void m0() {}
-
-       /** m1 in parent */
-       public void m1() {}
-
-       /** m2 in parent */
-       public void m2() {}
-
-       /** m3 in parent */
-       public void m3() {}
-
-       /** m4 in parent
-           @param k a key
-           @param v a value
-        */
-       public void m4(K k, V v) {}
-
-       // No comment
-       public void m5() {}
-
-       // No comment
-       public void m6() {}
-
-        /** {@inheritDoc} */
-        public void m7() {}
-
-    }
-
-    public static class C extends P {
-
-       public C(String s) {}
-
-       public int field1;
-
-       /** A modified method */
-       public void m1() {}
-
-       /** {@inheritDoc} */
-       public void m2() {}
-
-       // No comment method
-       public void m3() {}
-
-       public void m4(String k, String v) {}
-
-       // Do something else than the parent
-       public void m5() {}
-
-       /** A test of links to the methods in this class. <p>
-        * {@link m0},
-        * {@link m1},
-        * {@link m2},
-        * {@link m3},
-        * {@link m4},
-        * {@link m5},
-        * {@link m6},
-        * {@link m7},
-        * End of links
-        *
-        * @see #m0()
-        * @see #m1()
-        * @see #m2()
-        * @see #m3()
-        * @see #m4(String k, String v)
-        * @see #m5()
-        * @see #m6()
-        * @see #m7()
-        */
-       public void m6() {}
-
-        /** m7 in Child. */
-        public void m7() {}
-    }
-
-    /** Tickle this {@link TestEnum#doSomething()} */
-    public class DoubleProperty {}
-}
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg5/Interfaces.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2017, 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 pkg5;
-
-public class Interfaces {
-     public interface A {
-
-         /** field f in A */
-         public int f = 0;
-
-         /** A property in parent */
-         DoubleProperty rate = null;
-         public void setRate(double l);
-         public double getRate();
-         public DoubleProperty rateProperty();
-         // A support class
-         public interface DoubleProperty {}
-
-         /** AA in A */
-         public interface AA {}
-
-         /** m0 in A */
-         public void m0();
-
-         /** m1 in A */
-         public void m1();
-
-         /** m2 in A */
-         public void m2();
-
-         /** m3 in A */
-         public void m3();
-     }
-
-     public interface B extends A {
-         // No comment
-         public void m0();
-
-         /** m1 in B */
-         public void m1();
-
-         /** {@inheritDoc} */
-         public void m2();
-
-         /** @throws Exception e */
-         public void m3() throws Exception;
-
-         /** n in B */
-         public void n();
-     }
-
-     public interface C extends A, B  {
-         /** m in C */
-         public void m();
-
-         /** o in C */
-         public void o();
-     }
-
-    /**
-     * The child of all children.
-     *
-     * Start of links <p>
-     * {@link m0},
-     * {@link m1},
-     * {@link m2},
-     * {@link m3},
-     * {@link m},
-     * {@link n},
-     * {@link o},
-     * End of links
-     *
-     * @see #m0()
-     * @see #m1()
-     * @see #m2()
-     * @see #m3()
-     * @see #m
-     * @see #n
-     * @see #o
-     */
-    public interface D extends A, B, C {
-         /** m in D */
-         public void m();
-
-         /** n in D */
-         public void n();
-
-         // no comment
-         public void o();
-     }
- }
--- a/test/langtools/jdk/javadoc/doclet/testOverridenMethods/pkg5/TestEnum.java	Tue Dec 12 19:20:39 2017 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2017, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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 pkg5;
-
-/** Test Enum */
-public enum TestEnum {
-    A, B, C, D;
-    /** A useful method. */
-    public void doSomething(){}
-}