# 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", + "
See Also:
" + NL + + "
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 { /**