8192850: method summary tables of inherited methods improperly list static interface methods
Reviewed-by: jjg
--- 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 pkg."
+ + "<a href=\"../pkg/BaseClass.html\" title=\"class in pkg\">BaseClass</a>",
+ "Nested classes/interfaces inherited from interface 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> in interface <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>​(java.time.LocalDate startDateInclusive,\n"
+ + " java.time.LocalDate endDateExclusive)</code></th>");
+
+ checkOutput("pkg1/Implementer.html", false,
+ "<h3>Methods inherited from interface 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 pkg."
- + "<a href=\"../pkg/BaseClass.html\" title=\"class in pkg\">BaseClass</a>",
- "Nested classes/interfaces inherited from interface 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> in interface <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>​(java.time.LocalDate startDateInclusive,\n"
- + " java.time.LocalDate endDateExclusive)</code></th>",
- // check the inherited from interfaces
- "<h3>Methods inherited from interface 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 void 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 pkg3."
+ + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
+ + "I2</a>",
+ "Methods inherited from interface pkg3."
+ + "<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">"
+ + "I3</a>");
+
+ checkOutput("pkg3/I0.html", true,
+ "Methods inherited from interface pkg3."
+ + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
+ + "I2</a>",
+ "Methods inherited from interface 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 pkg3."
+ + "<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">"
+ + "I4</a>");
+
+ checkOutput("pkg3/I0.html", false,
+ "Methods inherited from interface 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: <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> in class <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> in class <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> in class <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 pkg5.<a href=\"../pkg5/Classes.P.html",
+ "Classes.P",
+ "../pkg5/Classes.P.html#rateProperty\">rate",
+
+ // Check nested classes
+ "Nested classes/interfaces declared in class 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 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 k,",
+ "java.lang.String",
+ " v)",
+
+ // Check footnotes
+ "Methods declared in class 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 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 pkg5.<a href=\"../pkg5/Interfaces.A.html\" "
+ + "title=\"interface in pkg5\">Interfaces.A</a>",
+
+ // Check nested classes
+ "Nested classes/interfaces declared in interface pkg5.",
+ "Interfaces.A",
+ "../pkg5/Interfaces.A.AA.html",
+ "Interfaces.A.AA",
+
+ // Check Fields
+ "Fields declared in interface 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 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 pkg5.<a href=\"../pkg5/Interfaces.B.html",
+ "../pkg5/Interfaces.B.html#m1--\">m1",
+ "../pkg5/Interfaces.B.html#m3--\">m3",
+ "Methods declared in interface 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 void 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 pkg3."
- + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
- + "I2</a>",
- "Methods inherited from interface pkg3."
- + "<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">"
- + "I3</a>");
-
- checkOutput("pkg3/I0.html", true,
- "Methods inherited from interface pkg3."
- + "<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">"
- + "I2</a>",
- "Methods inherited from interface 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 pkg3."
- + "<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">"
- + "I4</a>");
-
- checkOutput("pkg3/I0.html", false,
- "Methods inherited from interface 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 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 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><<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>></code></li>\n",
-
- // Check fields
- "<h3>Fields declared in class 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>​(java.lang.String k,\n"
- + " java.lang.String v)</code></th>\n",
-
- // Check footnotes
- "<h3>Methods declared in class 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> in class <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 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 pkg5.<a href=\"../pkg5/Interfaces.A.html\" "
- + "title=\"interface in pkg5\">Interfaces.A</a>",
-
- // Check nested classes
- "<h3>Nested classes/interfaces declared in interface 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 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 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 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 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: <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> in class <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> in class <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> in class <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(){}
-}