# HG changeset patch # User jjg # Date 1360165771 28800 # Node ID 7b2411328a5cf3bda50fc3c10c497921efde1ec8 # Parent 37a81a6987acb9e316b869a549eccd50f0a6bc5b 8007566: DocLint too aggressive with not allowed here:

Reviewed-by: mcimadamore diff -r 37a81a6987ac -r 7b2411328a5c langtools/src/share/classes/com/sun/tools/doclint/Checker.java --- a/langtools/src/share/classes/com/sun/tools/doclint/Checker.java Wed Feb 06 14:04:43 2013 +0000 +++ b/langtools/src/share/classes/com/sun/tools/doclint/Checker.java Wed Feb 06 07:49:31 2013 -0800 @@ -245,12 +245,19 @@ if (t == null) { env.messages.error(HTML, tree, "dc.tag.unknown", treeName); } else { + boolean done = false; for (TagStackItem tsi: tagStack) { if (tsi.tag.accepts(t)) { while (tagStack.peek() != tsi) tagStack.pop(); + done = true; break; - } else if (tsi.tag.endKind != HtmlTag.EndKind.OPTIONAL) + } else if (tsi.tag.endKind != HtmlTag.EndKind.OPTIONAL) { + done = true; break; + } + } + if (!done && HtmlTag.BODY.accepts(t)) { + tagStack.clear(); } checkStructure(tree, t); diff -r 37a81a6987ac -r 7b2411328a5c langtools/test/tools/doclint/ParaTagTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/doclint/ParaTagTest.java Wed Feb 06 07:49:31 2013 -0800 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2013, 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 8007566 + * @summary DocLint too aggressive with not allowed here:

+ * @build DocLintTester + * @run main DocLintTester -Xmsgs ParaTagTest.java + */ + +/** + * First line. + *

Para c1.

+ *

Para c2. + *

Para c3.

+ */ +public class ParaTagTest { + /** + * m1 code . + *

Para m1. + *

Para m2. + */ + public void m() {} + + /** + * m2. + *

Para z1. + *

Para z2. + *

+     *    Preformat 1.
+     * 
+ */ + public void z() {} +}