# HG changeset patch # User bpatel # Date 1395810475 25200 # Node ID 242d0ecf82e4c73fe9d0e5bdd3fb11ce2606971b # Parent 0db1cfa4dbc432bc988dfc52f0dd13ecce1c21f3 8031625: javadoc problems referencing inner class constructors Reviewed-by: jjg diff -r 0db1cfa4dbc4 -r 242d0ecf82e4 src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Mon Jun 29 21:30:24 2020 +0100 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Tue Mar 25 22:07:55 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, 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 @@ -1441,7 +1441,8 @@ } } if (configuration.currentcd != containing) { - refMemName = containing.name() + "." + refMemName; + refMemName = (refMem instanceof ConstructorDoc) ? + refMemName : containing.name() + "." + refMemName; } if (refMem instanceof ExecutableMemberDoc) { if (refMemName.indexOf('(') < 0) { diff -r 0db1cfa4dbc4 -r 242d0ecf82e4 src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java --- a/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java Mon Jun 29 21:30:24 2020 +0100 +++ b/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java Tue Mar 25 22:07:55 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -399,7 +399,8 @@ private MemberDoc findExecutableMember(String memName, String[] paramarr, ClassDoc referencedClass) { - if (memName.equals(referencedClass.name())) { + String className = referencedClass.name(); + if (memName.equals(className.substring(className.lastIndexOf(".") + 1))) { return ((ClassDocImpl)referencedClass).findConstructor(memName, paramarr); } else { // it's a method. diff -r 0db1cfa4dbc4 -r 242d0ecf82e4 test/com/sun/javadoc/testConstructors/TestConstructors.java --- a/test/com/sun/javadoc/testConstructors/TestConstructors.java Mon Jun 29 21:30:24 2020 +0100 +++ b/test/com/sun/javadoc/testConstructors/TestConstructors.java Tue Mar 25 22:07:55 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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 @@ -23,7 +23,7 @@ /* * @test - * @bug 8025524 + * @bug 8025524 8031625 * @summary Test for constructor name which should be a non-qualified name. * @author Bhavesh Patel * @library ../lib/ @@ -38,6 +38,21 @@ //Input for string search tests. private static final String[][] TEST = { {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "
Inner()
, " + NL +
+ "Inner(int)
, " + NL +
+ "NestedInner()
, " + NL +
+ "NestedInner(int)
, " + NL +
+ "Outer()
, " + NL +
+ "Outer(int)
"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+ "Link: Inner()
, " +
+ "Outer(int)
, " +
+ "" +
+ "NestedInner(int)
"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "Outer.html",
"Outer()"
},
{BUG_ID + FS + "pkg1" + FS + "Outer.html",
@@ -87,6 +102,18 @@
},
{BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
"Outer.Inner.NestedInner-int-"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+ "Outer.Inner()
"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+ "Outer.Inner(int)
"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+ "Outer.Inner.NestedInner()
"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+ "Outer.Inner.NestedInner(int)
"
}
};
diff -r 0db1cfa4dbc4 -r 242d0ecf82e4 test/com/sun/javadoc/testConstructors/pkg1/Outer.java
--- a/test/com/sun/javadoc/testConstructors/pkg1/Outer.java Mon Jun 29 21:30:24 2020 +0100
+++ b/test/com/sun/javadoc/testConstructors/pkg1/Outer.java Tue Mar 25 22:07:55 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -23,6 +23,17 @@
package pkg1;
+/**
+ * Test link tag.
+ * Link: {@link pkg1.Outer.Inner#Inner()}, {@link pkg1.Outer#Outer(int)}, {@link pkg1.Outer.Inner.NestedInner#NestedInner(int)}
+ *
+ * @see Outer.Inner#Inner()
+ * @see Outer.Inner#Inner(int)
+ * @see Outer.Inner.NestedInner#NestedInner()
+ * @see Outer.Inner.NestedInner#NestedInner(int)
+ * @see Outer#Outer()
+ * @see Outer#Outer(int)
+ */
public class Outer {
/**