diff --git a/make/common/JavaCompilation.gmk b/make/common/JavaCompilation.gmk index 1d25dc6dbeb..cb93131a124 100644 --- a/make/common/JavaCompilation.gmk +++ b/make/common/JavaCompilation.gmk @@ -269,7 +269,7 @@ define SetupJavaCompilationBody # Tell javac to do exactly as told and no more PARANOIA_FLAGS := -implicit:none -Xprefer:source -XDignore.symbol.file=true -encoding ascii - $1_FLAGS += -g -Xlint:all --doclint-format html5 $$($1_TARGET_RELEASE) $$(PARANOIA_FLAGS) $$(JAVA_WARNINGS_ARE_ERRORS) + $1_FLAGS += -g -Xlint:all $$($1_TARGET_RELEASE) $$(PARANOIA_FLAGS) $$(JAVA_WARNINGS_ARE_ERRORS) $1_FLAGS += $$($1_JAVAC_FLAGS) ifneq ($$($1_DISABLED_WARNINGS), ) diff --git a/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java b/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java index f4e6e241bbe..0a52e70169a 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java @@ -41,7 +41,6 @@ import com.sun.source.util.Plugin; public abstract class DocLint implements Plugin { public static final String XMSGS_OPTION = "-Xmsgs"; public static final String XMSGS_CUSTOM_PREFIX = "-Xmsgs:"; - public static final String XHTML_VERSION_PREFIX = "-XhtmlVersion:"; public static final String XCHECK_PACKAGE = "-XcheckPackage:"; private static ServiceLoader.Provider docLintProvider; diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java index 00e2d435ddc..2c67eb1b819 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java @@ -853,11 +853,6 @@ public class Arguments { doclintOpts.add(DocLint.XCHECK_PACKAGE + checkPackages); } - String format = options.get(Option.DOCLINT_FORMAT); - if (format != null) { - doclintOpts.add(DocLint.XHTML_VERSION_PREFIX + format); - } - return List.from(doclintOpts.toArray(new String[doclintOpts.size()])); } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java index a12db6ce668..2eae5da0b6c 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java @@ -159,8 +159,6 @@ public enum Option { } }, - DOCLINT_FORMAT("--doclint-format", "opt.doclint.format", EXTENDED, BASIC, ONEOF, "html5"), - // -nowarn is retained for command-line backward compatibility NOWARN("-nowarn", "opt.nowarn", STANDARD, BASIC) { @Override diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties index 4bb02bd8a5d..4264a2e12a5 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties @@ -286,9 +286,6 @@ javac.opt.Xdoclint.package.desc=\ expands to all sub-packages of the given package. Each can be prefixed\n\ with '-' to disable checks for the specified package or packages. -javac.opt.doclint.format=\ - Specify the format for documentation comments - javac.opt.Xstdout=\ Redirect standard output javac.opt.X=\ diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java index ef785603a5e..f65462eb92d 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java @@ -798,8 +798,6 @@ public abstract class BaseConfiguration { doclintOpts.add(DocLint.XCUSTOM_TAGS_PREFIX + customTags); } - doclintOpts.add(DocLint.XHTML_VERSION_PREFIX + "html5"); - doclint = new DocLint(); doclint.init(docEnv.getDocTrees(), docEnv.getElementUtils(), docEnv.getTypeUtils(), doclintOpts.toArray(new String[0])); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java index f9286d532ce..2cbb48518ad 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java @@ -91,6 +91,7 @@ import com.sun.tools.javac.util.DefinedBy; import com.sun.tools.javac.util.DefinedBy.Api; import jdk.javadoc.internal.doclint.HtmlTag.AttrKind; +import jdk.javadoc.internal.doclint.HtmlTag.ElemKind; import static jdk.javadoc.internal.doclint.Messages.Group.*; @@ -324,8 +325,8 @@ public class Checker extends DocTreePathScanner { final HtmlTag t = HtmlTag.get(treeName); if (t == null) { env.messages.error(HTML, tree, "dc.tag.unknown", treeName); - } else if (t.allowedVersion != HtmlVersion.ALL && t.allowedVersion != env.htmlVersion) { - env.messages.error(HTML, tree, "dc.tag.not.supported", treeName); + } else if (t.elemKind == ElemKind.HTML4) { + env.messages.error(HTML, tree, "dc.tag.not.supported.html5", treeName); } else { boolean done = false; for (TagStackItem tsi: tagStack) { @@ -413,8 +414,7 @@ public class Checker extends DocTreePathScanner { // so-called "self-closing" tags are only permitted in HTML 5, for void elements // https://html.spec.whatwg.org/multipage/syntax.html#start-tags private boolean isSelfClosingAllowed(HtmlTag tag) { - return env.htmlVersion == HtmlVersion.HTML5 - && tag.endKind == HtmlTag.EndKind.NONE; + return tag.endKind == HtmlTag.EndKind.NONE; } private void checkStructure(StartElementTree tree, HtmlTag t) { @@ -535,7 +535,7 @@ public class Checker extends DocTreePathScanner { case SECTION: case ARTICLE: - if (env.htmlVersion == HtmlVersion.HTML5 && !top.flags.contains(Flag.HAS_HEADING)) { + if (!top.flags.contains(Flag.HAS_HEADING)) { env.messages.error(HTML, tree, "dc.tag.requires.heading", treeName); } break; @@ -579,7 +579,8 @@ public class Checker extends DocTreePathScanner { if (tsi.tag.flags.contains(HtmlTag.Flag.EXPECT_CONTENT) && !tsi.flags.contains(Flag.HAS_TEXT) && !tsi.flags.contains(Flag.HAS_ELEMENT) - && !tsi.flags.contains(Flag.HAS_INLINE_TAG)) { + && !tsi.flags.contains(Flag.HAS_INLINE_TAG) + && !(tsi.tag.elemKind == ElemKind.HTML4)) { DocTree tree = (endTree != null) ? endTree : tsi.tree; Name treeName = ((StartElementTree) tsi.tree).getName(); env.messages.warning(HTML, tree, "dc.tag.empty", treeName); @@ -594,13 +595,10 @@ public class Checker extends DocTreePathScanner { @Override @DefinedBy(Api.COMPILER_TREE) @SuppressWarnings("fallthrough") public Void visitAttribute(AttributeTree tree, Void ignore) { HtmlTag currTag = tagStack.peek().tag; - if (currTag != null) { + if (currTag != null && currTag.elemKind != ElemKind.HTML4) { Name name = tree.getName(); HtmlTag.Attr attr = currTag.getAttr(name); if (attr != null) { - if (env.htmlVersion == HtmlVersion.HTML4 && attr.name().contains("-")) { - env.messages.error(HTML, tree, "dc.attr.not.supported.html4", name); - } boolean first = tagStack.peek().attrs.add(attr); if (!first) env.messages.error(HTML, tree, "dc.attr.repeated", name); @@ -609,30 +607,29 @@ public class Checker extends DocTreePathScanner { // without checking the validity or applicability of the name if (!name.toString().startsWith("on")) { AttrKind k = currTag.getAttrKind(name); - switch (env.htmlVersion) { - case HTML4: - validateHtml4Attrs(tree, name, k); + switch (k) { + case OK: break; - - case HTML5: - validateHtml5Attrs(tree, name, k); + case OBSOLETE: + env.messages.warning(HTML, tree, "dc.attr.obsolete", name); + break; + case HTML4: + env.messages.error(HTML, tree, "dc.attr.not.supported.html5", name); + break; + case INVALID: + env.messages.error(HTML, tree, "dc.attr.unknown", name); break; } } if (attr != null) { switch (attr) { - case NAME: - if (currTag != HtmlTag.A) { - break; - } - // fallthrough case ID: String value = getAttrValue(tree); if (value == null) { env.messages.error(HTML, tree, "dc.anchor.value.missing"); } else { - if (!validName.matcher(value).matches()) { + if (!validId.matcher(value).matches()) { env.messages.error(HTML, tree, "dc.invalid.anchor", value); } if (!checkAnchor(value)) { @@ -674,12 +671,20 @@ public class Checker extends DocTreePathScanner { if (currTag == HtmlTag.TABLE) { String v = getAttrValue(tree); try { - if (env.htmlVersion == HtmlVersion.HTML5 - && (v == null || (!v.isEmpty() && Integer.parseInt(v) != 1))) { - env.messages.error(HTML, tree, "dc.attr.table.border.html5", attr); + if (v == null || (!v.isEmpty() && Integer.parseInt(v) != 1)) { + env.messages.error(HTML, tree, "dc.attr.table.border.not.valid", attr); } } catch (NumberFormatException ex) { - env.messages.error(HTML, tree, "dc.attr.table.border.html5", attr); + env.messages.error(HTML, tree, "dc.attr.table.border.not.number", attr); + } + } else if (currTag == HtmlTag.IMG) { + String v = getAttrValue(tree); + try { + if (v == null || (!v.isEmpty() && Integer.parseInt(v) != 0)) { + env.messages.error(HTML, tree, "dc.attr.img.border.not.valid", attr); + } + } catch (NumberFormatException ex) { + env.messages.error(HTML, tree, "dc.attr.img.border.not.number", attr); } } break; @@ -701,44 +706,6 @@ public class Checker extends DocTreePathScanner { return null; } - private void validateHtml4Attrs(AttributeTree tree, Name name, AttrKind k) { - switch (k) { - case ALL: - case HTML4: - break; - - case INVALID: - env.messages.error(HTML, tree, "dc.attr.unknown", name); - break; - - case OBSOLETE: - env.messages.warning(HTML, tree, "dc.attr.obsolete", name); - break; - - case USE_CSS: - env.messages.warning(HTML, tree, "dc.attr.obsolete.use.css", name); - break; - - case HTML5: - env.messages.error(HTML, tree, "dc.attr.not.supported.html4", name); - break; - } - } - - private void validateHtml5Attrs(AttributeTree tree, Name name, AttrKind k) { - switch (k) { - case ALL: - case HTML5: - break; - - case INVALID: - case OBSOLETE: - case USE_CSS: - case HTML4: - env.messages.error(HTML, tree, "dc.attr.not.supported.html5", name); - break; - } - } private boolean checkAnchor(String name) { Element e = getEnclosingPackageOrClass(env.currElement); @@ -765,8 +732,8 @@ public class Checker extends DocTreePathScanner { return e; } - // http://www.w3.org/TR/html401/types.html#type-name - private static final Pattern validName = Pattern.compile("[A-Za-z][A-Za-z0-9-_:.]*"); + // https://html.spec.whatwg.org/#the-id-attribute + private static final Pattern validId = Pattern.compile("[^\\s]+"); private static final Pattern validNumber = Pattern.compile("-?[0-9]+"); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java index a7c5f8df8fd..5ef7c1ada2b 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java @@ -83,7 +83,6 @@ public class DocLint extends com.sun.tools.doclint.DocLint { public static final String XMSGS_CUSTOM_PREFIX = "-Xmsgs:"; private static final String STATS = "-stats"; public static final String XCUSTOM_TAGS_PREFIX = "-XcustomTags:"; - public static final String XHTML_VERSION_PREFIX = "-XhtmlVersion:"; public static final String XCHECK_PACKAGE = "-XcheckPackage:"; public static final String SEPARATOR = ","; @@ -223,14 +222,6 @@ public class DocLint extends com.sun.tools.doclint.DocLint { env.messages.setOptions(arg.substring(arg.indexOf(":") + 1)); } else if (arg.startsWith(XCUSTOM_TAGS_PREFIX)) { env.setCustomTags(arg.substring(arg.indexOf(":") + 1)); - } else if (arg.startsWith(XHTML_VERSION_PREFIX)) { - String argsVersion = arg.substring(arg.indexOf(":") + 1); - HtmlVersion htmlVersion = HtmlVersion.getHtmlVersion(argsVersion); - if (htmlVersion != null) { - env.setHtmlVersion(htmlVersion); - } else { - throw new BadArgs("dc.bad.value.for.option", arg, argsVersion); - } } else if (arg.equals("-h") || arg.equals("-help") || arg.equals("--help") || arg.equals("-?") || arg.equals("-usage")) { needHelp = true; @@ -345,14 +336,6 @@ public class DocLint extends com.sun.tools.doclint.DocLint { env.messages.setOptions(arg.substring(arg.indexOf(":") + 1)); } else if (arg.startsWith(XCUSTOM_TAGS_PREFIX)) { env.setCustomTags(arg.substring(arg.indexOf(":") + 1)); - } else if (arg.startsWith(XHTML_VERSION_PREFIX)) { - String argsVersion = arg.substring(arg.indexOf(":") + 1); - HtmlVersion htmlVersion = HtmlVersion.getHtmlVersion(argsVersion); - if (htmlVersion != null) { - env.setHtmlVersion(htmlVersion); - } else { - throw new IllegalArgumentException(argsVersion); - } } else if (arg.startsWith(XCHECK_PACKAGE)) { env.setCheckPackages(arg.substring(arg.indexOf(":") + 1)); } else diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java index 321cd708043..a822f4f157e 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2020, 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 @@ -98,8 +98,6 @@ public class Env { Set includePackages; Set excludePackages; - HtmlVersion htmlVersion = HtmlVersion.HTML4; - // Utility classes DocTrees trees; Elements elements; @@ -190,10 +188,6 @@ public class Env { return true; } - void setHtmlVersion(HtmlVersion version) { - htmlVersion = version; - } - /** Set the current declaration and its doc comment. */ void setCurrent(TreePath path, DocCommentTree comment) { currPath = path; diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java index a5107017da7..da1bc22b1af 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2020, 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 @@ -57,30 +57,30 @@ import static jdk.javadoc.internal.doclint.HtmlTag.Attr.*; */ public enum HtmlTag { A(BlockType.INLINE, EndKind.REQUIRED, - attrs(AttrKind.ALL, HREF, TARGET, ID), + attrs(AttrKind.OK, HREF, TARGET, ID), attrs(AttrKind.HTML4, REV, CHARSET, SHAPE, COORDS, NAME)), ABBR(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), - ACRONYM(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED, + ACRONYM(ElemKind.HTML4, BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), ADDRESS(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), - ARTICLE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + ARTICLE(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), - ASIDE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + ASIDE(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), B(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), - BDI(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED), + BDI(BlockType.INLINE, EndKind.REQUIRED), - BIG(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED, + BIG(ElemKind.HTML4, BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT)), BLOCKQUOTE(BlockType.BLOCK, EndKind.REQUIRED, @@ -89,13 +89,13 @@ public enum HtmlTag { BODY(BlockType.OTHER, EndKind.REQUIRED), BR(BlockType.INLINE, EndKind.NONE, - attrs(AttrKind.USE_CSS, CLEAR)), + attrs(AttrKind.HTML4, CLEAR)), CAPTION(BlockType.TABLE_ITEM, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT), - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), - CENTER(HtmlVersion.HTML4, BlockType.BLOCK, EndKind.REQUIRED, + CENTER(ElemKind.HTML4, BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), CITE(BlockType.INLINE, EndKind.REQUIRED, @@ -120,18 +120,18 @@ public enum HtmlTag { DEL(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST), - attrs(AttrKind.ALL, Attr.CITE, Attr.DATETIME)), + attrs(AttrKind.OK, Attr.CITE, Attr.DATETIME)), DFN(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), DIV(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE), - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), DL(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.USE_CSS, COMPACT)) { + attrs(AttrKind.HTML4, COMPACT)) { @Override public boolean accepts(HtmlTag t) { return (t == DT) || (t == DD); @@ -144,11 +144,11 @@ public enum HtmlTag { EM(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.NO_NEST)), - FONT(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED, // tag itself is deprecated + FONT(ElemKind.HTML4, BlockType.INLINE, EndKind.REQUIRED, // tag itself is deprecated EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.USE_CSS, SIZE, COLOR, FACE)), + attrs(AttrKind.HTML4, SIZE, COLOR, FACE)), - FOOTER(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + FOOTER(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)) { @Override public boolean accepts(HtmlTag t) { @@ -161,31 +161,31 @@ public enum HtmlTag { } }, - FIGURE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + FIGURE(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), - FIGCAPTION(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED), + FIGCAPTION(BlockType.BLOCK, EndKind.REQUIRED), - FRAME(HtmlVersion.HTML4, BlockType.OTHER, EndKind.NONE), + FRAME(ElemKind.HTML4, BlockType.OTHER, EndKind.NONE), - FRAMESET(HtmlVersion.HTML4, BlockType.OTHER, EndKind.REQUIRED), + FRAMESET(ElemKind.HTML4, BlockType.OTHER, EndKind.REQUIRED), H1(BlockType.BLOCK, EndKind.REQUIRED, - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), H2(BlockType.BLOCK, EndKind.REQUIRED, - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), H3(BlockType.BLOCK, EndKind.REQUIRED, - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), H4(BlockType.BLOCK, EndKind.REQUIRED, - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), H5(BlockType.BLOCK, EndKind.REQUIRED, - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), H6(BlockType.BLOCK, EndKind.REQUIRED, - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), HEAD(BlockType.OTHER, EndKind.REQUIRED), - HEADER(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + HEADER(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)) { @Override public boolean accepts(HtmlTag t) { @@ -199,8 +199,7 @@ public enum HtmlTag { }, HR(BlockType.BLOCK, EndKind.NONE, - attrs(AttrKind.HTML4, WIDTH), - attrs(AttrKind.USE_CSS, ALIGN, NOSHADE, SIZE)), + attrs(AttrKind.HTML4, WIDTH, ALIGN, NOSHADE, SIZE)), HTML(BlockType.OTHER, EndKind.REQUIRED), @@ -210,28 +209,26 @@ public enum HtmlTag { IFRAME(BlockType.OTHER, EndKind.REQUIRED), IMG(BlockType.INLINE, EndKind.NONE, - attrs(AttrKind.ALL, SRC, ALT, HEIGHT, WIDTH), - attrs(AttrKind.HTML5, CROSSORIGIN), - attrs(AttrKind.OBSOLETE, NAME), - attrs(AttrKind.USE_CSS, ALIGN, HSPACE, VSPACE, BORDER)), + attrs(AttrKind.OK, SRC, ALT, HEIGHT, WIDTH, CROSSORIGIN), + attrs(AttrKind.HTML4, NAME, ALIGN, HSPACE, VSPACE, BORDER)), INS(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST), - attrs(AttrKind.ALL, Attr.CITE, Attr.DATETIME)), + attrs(AttrKind.OK, Attr.CITE, Attr.DATETIME)), KBD(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), LI(BlockType.LIST_ITEM, EndKind.OPTIONAL, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE), - attrs(AttrKind.ALL, VALUE), - attrs(AttrKind.USE_CSS, TYPE)), + attrs(AttrKind.OK, VALUE), + attrs(AttrKind.HTML4, TYPE)), LINK(BlockType.OTHER, EndKind.NONE), - MAIN(HtmlVersion.HTML5, BlockType.OTHER, EndKind.REQUIRED), + MAIN(BlockType.OTHER, EndKind.REQUIRED), - MARK(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED), + MARK(BlockType.INLINE, EndKind.REQUIRED), MENU(BlockType.BLOCK, EndKind.REQUIRED) { @Override @@ -242,18 +239,17 @@ public enum HtmlTag { META(BlockType.OTHER, EndKind.NONE), - NAV(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + NAV(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), - NOFRAMES(HtmlVersion.HTML4, BlockType.OTHER, EndKind.REQUIRED), + NOFRAMES(ElemKind.HTML4, BlockType.OTHER, EndKind.REQUIRED), NOSCRIPT(BlockType.BLOCK, EndKind.REQUIRED), OL(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.ALL, START, TYPE), - attrs(AttrKind.HTML5, REVERSED), - attrs(AttrKind.USE_CSS, COMPACT)) { + attrs(AttrKind.OK, START, TYPE, REVERSED), + attrs(AttrKind.HTML4, COMPACT)) { @Override public boolean accepts(HtmlTag t) { return (t == LI); @@ -262,11 +258,11 @@ public enum HtmlTag { P(BlockType.BLOCK, EndKind.OPTIONAL, EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.USE_CSS, ALIGN)), + attrs(AttrKind.HTML4, ALIGN)), PRE(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.USE_CSS, WIDTH)) { + attrs(AttrKind.HTML4, WIDTH)) { @Override public boolean accepts(HtmlTag t) { switch (t) { @@ -288,9 +284,9 @@ public enum HtmlTag { EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), SCRIPT(BlockType.OTHER, EndKind.REQUIRED, - attrs(AttrKind.ALL, SRC)), + attrs(AttrKind.OK, SRC)), - SECTION(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + SECTION(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), SMALL(BlockType.INLINE, EndKind.REQUIRED, @@ -299,7 +295,7 @@ public enum HtmlTag { SPAN(BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT)), - STRIKE(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED, + STRIKE(ElemKind.HTML4, BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT)), STRONG(BlockType.INLINE, EndKind.REQUIRED, @@ -315,9 +311,9 @@ public enum HtmlTag { TABLE(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.ALL, BORDER), - attrs(AttrKind.HTML4, SUMMARY, CELLPADDING, CELLSPACING, Attr.FRAME, RULES, WIDTH), - attrs(AttrKind.USE_CSS, ALIGN, BGCOLOR)) { + attrs(AttrKind.OK, BORDER), + attrs(AttrKind.HTML4, SUMMARY, CELLPADDING, CELLSPACING, + Attr.FRAME, RULES, WIDTH, ALIGN, BGCOLOR)) { @Override public boolean accepts(HtmlTag t) { switch (t) { @@ -334,8 +330,7 @@ public enum HtmlTag { TBODY(BlockType.TABLE_ITEM, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT), - attrs(AttrKind.ALL, VALIGN), - attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF)) { + attrs(AttrKind.HTML4, ALIGN, VALIGN, CHAR, CHAROFF)) { @Override public boolean accepts(HtmlTag t) { return (t == TR); @@ -344,16 +339,15 @@ public enum HtmlTag { TD(BlockType.TABLE_ITEM, EndKind.OPTIONAL, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE), - attrs(AttrKind.ALL, COLSPAN, ROWSPAN, HEADERS, VALIGN), - attrs(AttrKind.HTML4, AXIS, Attr.ABBR, SCOPE, ALIGN, CHAR, CHAROFF), - attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)), + attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS), + attrs(AttrKind.HTML4, AXIS, Attr.ABBR, SCOPE, ALIGN, VALIGN, CHAR, CHAROFF, + WIDTH, BGCOLOR, HEIGHT, NOWRAP)), - TEMPLATE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED, + TEMPLATE(BlockType.BLOCK, EndKind.REQUIRED, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)), TFOOT(BlockType.TABLE_ITEM, EndKind.REQUIRED, - attrs(AttrKind.ALL, VALIGN), - attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF)) { + attrs(AttrKind.HTML4, ALIGN, VALIGN, CHAR, CHAROFF)) { @Override public boolean accepts(HtmlTag t) { return (t == TR); @@ -362,35 +356,30 @@ public enum HtmlTag { TH(BlockType.TABLE_ITEM, EndKind.OPTIONAL, EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE), - attrs(AttrKind.ALL, COLSPAN, ROWSPAN, HEADERS, SCOPE, Attr.ABBR, - VALIGN), - attrs(AttrKind.HTML4, AXIS, ALIGN, CHAR, CHAROFF), - attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)), + attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, Attr.ABBR), + attrs(AttrKind.HTML4, WIDTH, BGCOLOR, HEIGHT, NOWRAP, AXIS, ALIGN, CHAR, CHAROFF, VALIGN)), THEAD(BlockType.TABLE_ITEM, EndKind.REQUIRED, - attrs(AttrKind.ALL, VALIGN), - attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF)) { + attrs(AttrKind.HTML4, ALIGN, VALIGN, CHAR, CHAROFF)) { @Override public boolean accepts(HtmlTag t) { return (t == TR); } }, - TIME(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED), + TIME(BlockType.INLINE, EndKind.REQUIRED), TITLE(BlockType.OTHER, EndKind.REQUIRED), TR(BlockType.TABLE_ITEM, EndKind.OPTIONAL, - attrs(AttrKind.ALL, VALIGN), - attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF), - attrs(AttrKind.USE_CSS, BGCOLOR)) { + attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF, BGCOLOR, VALIGN)) { @Override public boolean accepts(HtmlTag t) { return (t == TH) || (t == TD); } }, - TT(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED, + TT(ElemKind.HTML4, BlockType.INLINE, EndKind.REQUIRED, EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)), U(BlockType.INLINE, EndKind.REQUIRED, @@ -405,10 +394,20 @@ public enum HtmlTag { } }, - WBR(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED), + WBR(BlockType.INLINE, EndKind.REQUIRED), VAR(BlockType.INLINE, EndKind.REQUIRED); + /** + * Enum representing the supportability of HTML element. + */ + public static enum ElemKind { + OK, + INVALID, + OBSOLETE, + HTML4 + } + /** * Enum representing the type of HTML element. */ @@ -534,12 +533,10 @@ public enum HtmlTag { } public static enum AttrKind { - HTML4, - HTML5, + OK, INVALID, OBSOLETE, - USE_CSS, - ALL + HTML4 } // This class exists to avoid warnings from using parameterized vararg type @@ -552,52 +549,52 @@ public enum HtmlTag { } - public final HtmlVersion allowedVersion; + public final ElemKind elemKind; public final BlockType blockType; public final EndKind endKind; public final Set flags; private final Map attrs; HtmlTag(BlockType blockType, EndKind endKind, AttrMap... attrMaps) { - this(HtmlVersion.ALL, blockType, endKind, Collections.emptySet(), attrMaps); + this(ElemKind.OK, blockType, endKind, Collections.emptySet(), attrMaps); } - HtmlTag(HtmlVersion allowedVersion, BlockType blockType, EndKind endKind, AttrMap... attrMaps) { - this(allowedVersion, blockType, endKind, Collections.emptySet(), attrMaps); + HtmlTag(ElemKind elemKind, BlockType blockType, EndKind endKind, AttrMap... attrMaps) { + this(elemKind, blockType, endKind, Collections.emptySet(), attrMaps); } HtmlTag(BlockType blockType, EndKind endKind, Set flags, AttrMap... attrMaps) { - this(HtmlVersion.ALL, blockType, endKind, flags, attrMaps); + this(ElemKind.OK, blockType, endKind, flags, attrMaps); } - HtmlTag(HtmlVersion allowedVersion, BlockType blockType, EndKind endKind, Set flags, AttrMap... attrMaps) { - this.allowedVersion = allowedVersion; + HtmlTag(ElemKind elemKind, BlockType blockType, EndKind endKind, Set flags, AttrMap... attrMaps) { + this.elemKind = elemKind; this.blockType = blockType; this.endKind = endKind; this.flags = flags; this.attrs = new EnumMap<>(Attr.class); for (Map m: attrMaps) this.attrs.putAll(m); - attrs.put(Attr.CLASS, AttrKind.ALL); - attrs.put(Attr.ID, AttrKind.ALL); - attrs.put(Attr.STYLE, AttrKind.ALL); - attrs.put(Attr.ROLE, AttrKind.HTML5); + attrs.put(Attr.CLASS, AttrKind.OK); + attrs.put(Attr.ID, AttrKind.OK); + attrs.put(Attr.STYLE, AttrKind.OK); + attrs.put(Attr.ROLE, AttrKind.OK); // for now, assume that all ARIA attributes are allowed on all tags. - attrs.put(Attr.ARIA_ACTIVEDESCENDANT, AttrKind.HTML5); - attrs.put(Attr.ARIA_CONTROLS, AttrKind.HTML5); - attrs.put(Attr.ARIA_DESCRIBEDBY, AttrKind.HTML5); - attrs.put(Attr.ARIA_EXPANDED, AttrKind.HTML5); - attrs.put(Attr.ARIA_LABEL, AttrKind.HTML5); - attrs.put(Attr.ARIA_LABELLEDBY, AttrKind.HTML5); - attrs.put(Attr.ARIA_LEVEL, AttrKind.HTML5); - attrs.put(Attr.ARIA_MULTISELECTABLE, AttrKind.HTML5); - attrs.put(Attr.ARIA_OWNS, AttrKind.HTML5); - attrs.put(Attr.ARIA_POSINSET, AttrKind.HTML5); - attrs.put(Attr.ARIA_READONLY, AttrKind.HTML5); - attrs.put(Attr.ARIA_REQUIRED, AttrKind.HTML5); - attrs.put(Attr.ARIA_SELECTED, AttrKind.HTML5); - attrs.put(Attr.ARIA_SETSIZE, AttrKind.HTML5); - attrs.put(Attr.ARIA_SORT, AttrKind.HTML5); + attrs.put(Attr.ARIA_ACTIVEDESCENDANT, AttrKind.OK); + attrs.put(Attr.ARIA_CONTROLS, AttrKind.OK); + attrs.put(Attr.ARIA_DESCRIBEDBY, AttrKind.OK); + attrs.put(Attr.ARIA_EXPANDED, AttrKind.OK); + attrs.put(Attr.ARIA_LABEL, AttrKind.OK); + attrs.put(Attr.ARIA_LABELLEDBY, AttrKind.OK); + attrs.put(Attr.ARIA_LEVEL, AttrKind.OK); + attrs.put(Attr.ARIA_MULTISELECTABLE, AttrKind.OK); + attrs.put(Attr.ARIA_OWNS, AttrKind.OK); + attrs.put(Attr.ARIA_POSINSET, AttrKind.OK); + attrs.put(Attr.ARIA_READONLY, AttrKind.OK); + attrs.put(Attr.ARIA_REQUIRED, AttrKind.OK); + attrs.put(Attr.ARIA_SELECTED, AttrKind.OK); + attrs.put(Attr.ARIA_SETSIZE, AttrKind.OK); + attrs.put(Attr.ARIA_SORT, AttrKind.OK); } public boolean accepts(HtmlTag t) { diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlVersion.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlVersion.java deleted file mode 100644 index 6fadc3ccfd5..00000000000 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlVersion.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 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. 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 jdk.javadoc.internal.doclint; - -/** - * Enum representing HTML version of the documentation comment. - * - * @author Bhavesh Patel - */ -public enum HtmlVersion { - - HTML4, - HTML5, - ALL; - - public static HtmlVersion getHtmlVersion(String argsVersion) { - switch (argsVersion) { - case "html4": - return HtmlVersion.HTML4; - case "html5": - return HtmlVersion.HTML5; - default: - return null; - } - } -} diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint.properties b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint.properties index aa0881e502e..5704c581fd6 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint.properties +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint.properties @@ -27,12 +27,13 @@ dc.anchor.already.defined = anchor already defined: "{0}" dc.anchor.value.missing = no value given for anchor dc.attr.lacks.value = attribute lacks value dc.attr.not.number = attribute value is not a number -dc.attr.not.supported.html4 = attribute not supported in HTML4: {0} dc.attr.not.supported.html5 = attribute not supported in HTML5: {0} dc.attr.obsolete = attribute obsolete: {0} -dc.attr.obsolete.use.css = attribute obsolete, use CSS instead: {0} dc.attr.repeated = repeated attribute: {0} -dc.attr.table.border.html5 = attribute border for table only accepts "" or "1", use CSS instead: {0} +dc.attr.img.border.not.valid = attribute "border" for img only accepts "0": {0} +dc.attr.img.border.not.number = invalid value for attribute "border": {0} +dc.attr.table.border.not.valid = attribute "border" for table only accepts "" or "1": {0} +dc.attr.table.border.not.number = invalid value for attribute "border": {0} dc.attr.unknown = unknown attribute: {0} dc.bad.option = bad option: {0} dc.bad.value.for.option = bad value for option: {0} {1} @@ -54,7 +55,7 @@ dc.missing.param = no @param for {0} dc.missing.return = no @return dc.missing.throws = no @throws for {0} dc.no.alt.attr.for.image = no "alt" attribute for image -dc.no.summary.or.caption.for.table=no summary or caption for table +dc.no.summary.or.caption.for.table=no caption for table dc.param.name.not.found = @param name not found dc.ref.not.found = reference not found dc.return.not.first = '{@return} not at beginning of description @@ -79,7 +80,7 @@ dc.tag.requires.heading = heading not found for dc.tag.self.closing = self-closing element not allowed dc.tag.start.unmatched = end tag missing: dc.tag.unknown = unknown tag: {0} -dc.tag.not.supported = tag not supported in the generated HTML version: {0} +dc.tag.not.supported.html5 = tag not supported in HTML5: {0} dc.text.not.allowed = text not allowed in <{0}> element dc.unexpected.comment=documentation comment not expected here dc.value.not.allowed.here='{@value} not allowed here diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties index 03f7f10d10d..581ce27e66e 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2020, 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 @@ -27,12 +27,12 @@ dc.anchor.already.defined = \u30A2\u30F3\u30AB\u30FC\u304C\u3059\u3067\u306B\u5B dc.anchor.value.missing = \u30A2\u30F3\u30AB\u30FC\u306B\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 dc.attr.lacks.value = \u5C5E\u6027\u306B\u5024\u304C\u3042\u308A\u307E\u305B\u3093 dc.attr.not.number = \u5C5E\u6027\u5024\u304C\u6570\u5B57\u3067\u306F\u3042\u308A\u307E\u305B\u3093 -dc.attr.not.supported.html4 = \u5C5E\u6027\u306FHTML4\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {0} dc.attr.not.supported.html5 = \u5C5E\u6027\u306FHTML5\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {0} dc.attr.obsolete = \u5C5E\u6027\u306F\u5EC3\u6B62\u3055\u308C\u3066\u3044\u307E\u3059: {0} dc.attr.obsolete.use.css = \u5C5E\u6027\u306F\u5EC3\u6B62\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u304B\u308F\u308A\u306BCSS\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044: {0} dc.attr.repeated = \u7E70\u308A\u8FD4\u3055\u308C\u305F\u5C5E\u6027: {0} -dc.attr.table.border.html5 = \u8868\u306E\u5C5E\u6027\u30DC\u30FC\u30C0\u30FC\u306F""\u307E\u305F\u306F"1"\u306E\u307F\u53D7\u3051\u5165\u308C\u307E\u3059\u3002\u304B\u308F\u308A\u306BCSS\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044: {0} +dc.attr.img.border = \u753b\u50cf\u306e\u5c5e\u6027\u30DC\u30FC\u30C0\u30FC\u306F""\u307E\u305F\u306F"1"\u306E\u307F\u53D7\u3051\u5165\u308C\u307E\u3059\u3002\u304B\u308F\u308A\u306BCSS\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044: {0} +dc.attr.table.border = \u8868\u306E\u5C5E\u6027\u30DC\u30FC\u30C0\u30FC\u306F""\u307E\u305F\u306F"1"\u306E\u307F\u53D7\u3051\u5165\u308C\u307E\u3059\u3002\u304B\u308F\u308A\u306BCSS\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044: {0} dc.attr.unknown = \u4E0D\u660E\u306A\u5C5E\u6027: {0} dc.bad.option = \u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0} dc.bad.value.for.option = \u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059: {0} {1} @@ -78,7 +78,7 @@ dc.tag.requires.heading = \u306E\u898B\u51FA\u3057\u304C\u898B\u3064\u304B dc.tag.self.closing = \u81EA\u5DF1\u7D42\u4E86\u8981\u7D20\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 dc.tag.start.unmatched = \u7D42\u4E86\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093: dc.tag.unknown = \u4E0D\u660E\u306A\u30BF\u30B0: {0} -dc.tag.not.supported = \u30BF\u30B0\u306F\u3001\u751F\u6210\u6E08HTML\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {0} +dc.tag.not.supported.html5 = \u30bf\u30b0\u306fHTML5\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0} dc.text.not.allowed = <{0}>\u8981\u7D20\u3067\u306F\u30C6\u30AD\u30B9\u30C8\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 dc.type.arg.not.allowed = \u578B\u5F15\u6570\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 dc.unexpected.comment=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30B3\u30E1\u30F3\u30C8\u306F\u3053\u3053\u3067\u306F\u5FC5\u8981\u3042\u308A\u307E\u305B\u3093 diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties index 4790ce7ed0c..50b6ad80bfd 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2020, 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 @@ -27,12 +27,12 @@ dc.anchor.already.defined = \u951A\u5B9A\u70B9\u5DF2\u5B9A\u4E49: "{0}" dc.anchor.value.missing = \u6CA1\u6709\u4E3A\u951A\u5B9A\u70B9\u6307\u5B9A\u503C dc.attr.lacks.value = \u5C5E\u6027\u7F3A\u5C11\u503C dc.attr.not.number = \u5C5E\u6027\u503C\u4E0D\u662F\u6570\u5B57 -dc.attr.not.supported.html4 = \u5C5E\u6027\u5728 HTML4 \u4E2D\u4E0D\u53D7\u652F\u6301: {0} dc.attr.not.supported.html5 = \u5C5E\u6027\u5728 HTML5 \u4E2D\u4E0D\u53D7\u652F\u6301: {0} dc.attr.obsolete = \u5C5E\u6027\u5DF2\u8FC7\u65F6: {0} dc.attr.obsolete.use.css = \u5C5E\u6027\u5DF2\u8FC7\u65F6, \u8BF7\u6539\u7528 CSS: {0} dc.attr.repeated = \u5C5E\u6027\u91CD\u590D: {0} -dc.attr.table.border.html5 = \u8868\u7684\u5C5E\u6027\u8FB9\u6846\u53EA\u63A5\u53D7 "" \u6216 "1", \u6539\u4E3A\u4F7F\u7528 CSS: {0} +dc.attr.img.border = \u56FE\u50CF\u6027\u8FB9\u6846\u53EA\u63A5\u53D7 "" \u6216 "1", \u6539\u4E3A\u4F7F\u7528 CSS: {0} +dc.attr.table.border = \u8868\u7684\u5C5E\u6027\u8FB9\u6846\u53EA\u63A5\u53D7 "" \u6216 "1", \u6539\u4E3A\u4F7F\u7528 CSS: {0} dc.attr.unknown = \u672A\u77E5\u5C5E\u6027: {0} dc.bad.option = \u9009\u9879\u9519\u8BEF: {0} dc.bad.value.for.option = \u9009\u9879\u7684\u503C\u9519\u8BEF: {0} {1} @@ -78,7 +78,7 @@ dc.tag.requires.heading = \u672A\u627E\u5230 \u7684\u6807\u9898 dc.tag.self.closing = \u4E0D\u5141\u8BB8\u4F7F\u7528\u81EA\u5173\u95ED\u5143\u7D20 dc.tag.start.unmatched = \u7F3A\u5C11\u7ED3\u675F\u6807\u8BB0: dc.tag.unknown = \u672A\u77E5\u6807\u8BB0: {0} -dc.tag.not.supported = \u6807\u8BB0\u5728\u751F\u6210\u7684 HTML \u7248\u672C\u4E2D\u4E0D\u53D7\u652F\u6301: {0} +dc.tag.not.supported.html5 = \u6807\u8BB0\u5728\u751F\u6210\u7684 HTML \u7248\u672C\u4E2D\u4E0D\u53D7\u652F\u6301: {0} dc.text.not.allowed = <{0}> \u5143\u7D20\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u6587\u672C dc.type.arg.not.allowed = \u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u53C2\u6570 dc.unexpected.comment=\u6B64\u5904\u672A\u9884\u671F\u6587\u6863\u6CE8\u91CA diff --git a/test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java b/test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java index 248edc2607a..34cc2e5944a 100644 --- a/test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java +++ b/test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java @@ -50,7 +50,7 @@ public class TestHtmlTableStyles extends JavadocTester { checkOutput(Output.OUT, true, "attribute not supported in HTML5: summary", """ - attribute border for table only accepts "" or "1", use CSS instead: BORDER""", + attribute "border" for table only accepts "" or "1": BORDER""", "attribute not supported in HTML5: cellpadding", "attribute not supported in HTML5: cellspacing", "attribute not supported in HTML5: align"); diff --git a/test/langtools/tools/doclint/AccessibilityTest.java b/test/langtools/tools/doclint/AccessibilityTest.java index 5d7e34fe00d..17e9c9aa48c 100644 --- a/test/langtools/tools/doclint/AccessibilityTest.java +++ b/test/langtools/tools/doclint/AccessibilityTest.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8004832 + * @bug 8004832 8247955 8247957 * @summary Add new doclint package * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester @@ -47,11 +47,6 @@ public class AccessibilityTest { */ public void missing_alt() { } - /** - *
head
data
- */ - public void table_with_summary() { } - /** *
ok
head
data
*/ @@ -60,6 +55,12 @@ public class AccessibilityTest { /** *
head
data
*/ - public void table_without_summary_and_caption() { } + public void table_without_caption() { } + + /** + *
head
data
+ */ + public void table_presentation() { } + } diff --git a/test/langtools/tools/doclint/AccessibilityTest.out b/test/langtools/tools/doclint/AccessibilityTest.out index 94c7611232a..b3497ce8185 100644 --- a/test/langtools/tools/doclint/AccessibilityTest.out +++ b/test/langtools/tools/doclint/AccessibilityTest.out @@ -19,7 +19,7 @@ AccessibilityTest.java:41: error: heading used out of sequence:
, compared t AccessibilityTest.java:46: error: no "alt" attribute for image * ^ -AccessibilityTest.java:61: error: no summary or caption for table +AccessibilityTest.java:56: error: no caption for table *
head
data
^ 8 errors diff --git a/test/langtools/tools/doclint/AccessibilityTest5.java b/test/langtools/tools/doclint/AccessibilityTest5.java deleted file mode 100644 index a5393b3d544..00000000000 --- a/test/langtools/tools/doclint/AccessibilityTest5.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * @test /nodynamiccopyright/ - * @bug 8247955 - * @summary Add new doclint package - * @modules jdk.javadoc/jdk.javadoc.internal.doclint - * @build DocLintTester - * @run main DocLintTester -XhtmlVersion:html5 -Xmsgs:-accessibility AccessibilityTest5.java - * @run main DocLintTester -XhtmlVersion:html5 -ref AccessibilityTest5.out AccessibilityTest5.java - */ - -// This test should be merged into AccessibilityTest.java when we drop support for html4. - -/** */ -public class AccessibilityTest5 { - /** - *
ok
head
data
- */ - public void table_with_caption() { } - - /** - *
head
data
- */ - public void table_without_caption() { } - - /** - *
head
data
- */ - public void table_presentation() { } -} - diff --git a/test/langtools/tools/doclint/AccessibilityTest5.out b/test/langtools/tools/doclint/AccessibilityTest5.out deleted file mode 100644 index 23ccfda6681..00000000000 --- a/test/langtools/tools/doclint/AccessibilityTest5.out +++ /dev/null @@ -1,4 +0,0 @@ -AccessibilityTest5.java:21: error: no summary or caption for table - *
head
data
- ^ -1 error diff --git a/test/langtools/tools/doclint/AnchorTest.java b/test/langtools/tools/doclint/AnchorTest.java index d2d9324189d..7bce8a51966 100644 --- a/test/langtools/tools/doclint/AnchorTest.java +++ b/test/langtools/tools/doclint/AnchorTest.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8004832 + * @bug 8004832 8247957 * @summary Add new doclint package * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester @@ -9,37 +9,10 @@ /** */ public class AnchorTest { - // tests for - - /** - * - */ - public void a_name_foo() { } - - /** - * - */ - public void a_name_already_defined() { } - - /** - * - */ - public void a_name_empty() { } - - /** - * - */ - public void a_name_invalid() { } - - /** - * - */ - public void a_name_missing() { } - // tests for /** - * + * */ public void a_id_foo() { } @@ -54,7 +27,7 @@ public class AnchorTest { public void a_id_empty() { } /** - * + * */ public void a_id_invalid() { } @@ -81,7 +54,7 @@ public class AnchorTest { public void p_id_empty() { } /** - *

text

+ *

text

*/ public void p_id_invalid() { } diff --git a/test/langtools/tools/doclint/AnchorTest.out b/test/langtools/tools/doclint/AnchorTest.out index 70bb1383ee3..72c062e4acb 100644 --- a/test/langtools/tools/doclint/AnchorTest.out +++ b/test/langtools/tools/doclint/AnchorTest.out @@ -1,49 +1,31 @@ AnchorTest.java:20: error: anchor already defined: "foo" - * - ^ -AnchorTest.java:25: error: invalid name for anchor: "" - * - ^ -AnchorTest.java:30: error: invalid name for anchor: "123" - * - ^ -AnchorTest.java:35: error: no value given for anchor - * - ^ -AnchorTest.java:47: error: anchor already defined: "foo" * ^ -AnchorTest.java:52: error: invalid name for anchor: "" +AnchorTest.java:25: error: invalid name for anchor: "" * ^ -AnchorTest.java:52: error: anchor already defined: "" - * +AnchorTest.java:30: error: invalid name for anchor: "123 " + * ^ -AnchorTest.java:57: error: invalid name for anchor: "123" - * - ^ -AnchorTest.java:57: error: anchor already defined: "123" - * - ^ -AnchorTest.java:62: error: no value given for anchor +AnchorTest.java:35: error: no value given for anchor * ^ -AnchorTest.java:74: error: anchor already defined: "foo" +AnchorTest.java:47: error: anchor already defined: "foo" *

text

^ -AnchorTest.java:79: error: invalid name for anchor: "" +AnchorTest.java:52: error: invalid name for anchor: "" *

text

^ -AnchorTest.java:79: error: anchor already defined: "" +AnchorTest.java:52: error: anchor already defined: "" *

text

^ -AnchorTest.java:84: error: invalid name for anchor: "123" - *

text

+AnchorTest.java:57: error: invalid name for anchor: "123 " + *

text

^ -AnchorTest.java:84: error: anchor already defined: "123" - *

text

+AnchorTest.java:57: error: anchor already defined: "123 " + *

text

^ -AnchorTest.java:89: error: no value given for anchor +AnchorTest.java:62: error: no value given for anchor *

text

^ -16 errors +10 errors diff --git a/test/langtools/tools/doclint/AnchorTest2.java b/test/langtools/tools/doclint/AnchorTest2.java index 79b668677f1..ac827032213 100644 --- a/test/langtools/tools/doclint/AnchorTest2.java +++ b/test/langtools/tools/doclint/AnchorTest2.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8020313 + * @bug 8020313 8247957 * @summary doclint doesn't reset HTML anchors correctly * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester @@ -10,12 +10,12 @@ /** */ public class AnchorTest2 { - /** */ + /** */ public void a_name_AnchorTest2() { } - /** */ + /** */ public void a_name_AnchorTest2_already_defined() { } - /** */ + /** */ public void a_name_AnchorTest2a_defined_in_other_file() { } } diff --git a/test/langtools/tools/doclint/AnchorTest2.out b/test/langtools/tools/doclint/AnchorTest2.out index 755e6073eb6..b74020b560a 100644 --- a/test/langtools/tools/doclint/AnchorTest2.out +++ b/test/langtools/tools/doclint/AnchorTest2.out @@ -1,4 +1,4 @@ AnchorTest2.java:16: error: anchor already defined: "AnchorTest2" - /** */ + /** */ ^ 1 error diff --git a/test/langtools/tools/doclint/AnchorTest2a.java b/test/langtools/tools/doclint/AnchorTest2a.java index 3a197138931..984f60d7e0f 100644 --- a/test/langtools/tools/doclint/AnchorTest2a.java +++ b/test/langtools/tools/doclint/AnchorTest2a.java @@ -1,7 +1,7 @@ /* /nodynamiccopyright/ */ /** - * + * */ public class AnchorTest2a { } diff --git a/test/langtools/tools/doclint/EndTagsTest.java b/test/langtools/tools/doclint/EndTagsTest.java index ad2d1cebc68..ef5ca8bf400 100644 --- a/test/langtools/tools/doclint/EndTagsTest.java +++ b/test/langtools/tools/doclint/EndTagsTest.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8006236 + * @bug 8006236 8247957 * @summary doclint: structural issue hidden * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester @@ -10,10 +10,10 @@ /** */ public class EndTagsTest { - /**

text image

*/ + /**

text image

*/ public void valid_all() { } - /**

text image */ + /**

text image */ public void valid_omit_optional_close() { } /** */ diff --git a/test/langtools/tools/doclint/HtmlAttrsTest.java b/test/langtools/tools/doclint/HtmlAttrsTest.java index 5d31702f0c4..f90b3f8461b 100644 --- a/test/langtools/tools/doclint/HtmlAttrsTest.java +++ b/test/langtools/tools/doclint/HtmlAttrsTest.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8004832 8258916 + * @bug 8004832 8258916 8247957 * @summary Add new doclint package * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester diff --git a/test/langtools/tools/doclint/HtmlAttrsTest.out b/test/langtools/tools/doclint/HtmlAttrsTest.out index 889d99ed446..59b3294a00f 100644 --- a/test/langtools/tools/doclint/HtmlAttrsTest.out +++ b/test/langtools/tools/doclint/HtmlAttrsTest.out @@ -1,12 +1,11 @@ HtmlAttrsTest.java:14: error: unknown attribute: xyz *

text

^ -HtmlAttrsTest.java:19: warning: attribute obsolete: name +HtmlAttrsTest.java:19: error: attribute not supported in HTML5: name * alt ^ -HtmlAttrsTest.java:24: warning: attribute obsolete, use CSS instead: size +HtmlAttrsTest.java:24: error: tag not supported in HTML5: font * text - ^ -1 error -2 warnings + ^ +3 errors diff --git a/test/langtools/tools/doclint/HtmlTagsTest.java b/test/langtools/tools/doclint/HtmlTagsTest.java index 8f1926cf17a..d8b033d2fbb 100644 --- a/test/langtools/tools/doclint/HtmlTagsTest.java +++ b/test/langtools/tools/doclint/HtmlTagsTest.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8004832 + * @bug 8004832 8247957 * @summary Add new doclint package * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester diff --git a/test/langtools/tools/doclint/HtmlTagsTest.out b/test/langtools/tools/doclint/HtmlTagsTest.out index 9e0b22de3dc..66d80e365e6 100644 --- a/test/langtools/tools/doclint/HtmlTagsTest.out +++ b/test/langtools/tools/doclint/HtmlTagsTest.out @@ -7,9 +7,6 @@ HtmlTagsTest.java:14: error: unknown tag: xyz HtmlTagsTest.java:19: error: unknown tag: xyz *
^ -HtmlTagsTest.java:24: error: self-closing element not allowed - *
- ^ HtmlTagsTest.java:29: error: element not allowed in documentation comments: * ^ @@ -43,5 +40,5 @@ HtmlTagsTest.java:60: error: text not allowed in
    element HtmlTagsTest.java:65: error: tag not allowed here: *
      text
    • ...
    ^ -14 errors +13 errors 1 warning diff --git a/test/langtools/tools/doclint/HtmlVersionTest.java b/test/langtools/tools/doclint/HtmlVersionTest.java deleted file mode 100644 index 04ea2af3bd1..00000000000 --- a/test/langtools/tools/doclint/HtmlVersionTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 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. - */ - -/* - * @test - * @bug 8072945 - * @summary test HTML version - * @library .. - * @modules jdk.javadoc/jdk.javadoc.internal.doclint - * @build DocLintTester - * @run main DocLintTester -XhtmlVersion:html5 HtmlVersionTest.java - * @run main DocLintTester -XhtmlVersion:html4 HtmlVersionTest.java - * @run main DocLintTester -badargs -XhtmlVersion: HtmlVersionTest.java - * @run main DocLintTester HtmlVersionTest.java - */ - -/** - * Test HTML version option. - */ -public class HtmlVersionTest { -} diff --git a/test/langtools/tools/doclint/anchorTests/p/Test.java b/test/langtools/tools/doclint/anchorTests/p/Test.java index bc734c9eb5b..a46f994cce1 100644 --- a/test/langtools/tools/doclint/anchorTests/p/Test.java +++ b/test/langtools/tools/doclint/anchorTests/p/Test.java @@ -1,5 +1,5 @@ /* @test /nodynamiccopyright/ - * @bug 8025246 + * @bug 8025246 8247957 * @summary doclint is showing error on anchor already defined when it's not * @library ../.. * @modules jdk.javadoc/jdk.javadoc.internal.doclint @@ -11,43 +11,43 @@ package p; /** - * dupTest - * dupTest again + * dupTest + * dupTest again * - * dupTestField - * dupTestMethod + * dupTestField + * dupTestMethod - * okClass - * okField - * okMethod + * okClass + * okField + * okMethod */ public class Test { - /** dupTestField again */ + /** dupTestField again */ public int f; - /** dupTestMethod again */ + /** dupTestMethod again */ public void m() { } /** - * dupNested - * dupNested again - * dupNestedField - * dupNestedMethod + * dupNested + * dupNested again + * dupNestedField + * dupNestedMethod * - * okClass again + * okClass again */ public class Nested { /** - * dupNestedField + * dupNestedField * - * okField again + * okField again */ public int f; /** - * dupNestedMethod + * dupNestedMethod * - * okMethod again + * okMethod again */ public void m() { } } diff --git a/test/langtools/tools/doclint/anchorTests/p/Test.out b/test/langtools/tools/doclint/anchorTests/p/Test.out index 3448c423e98..e55d25aaf3d 100644 --- a/test/langtools/tools/doclint/anchorTests/p/Test.out +++ b/test/langtools/tools/doclint/anchorTests/p/Test.out @@ -1,19 +1,19 @@ Test.java:15: error: anchor already defined: "dupTest" - * dupTest again + * dupTest again ^ Test.java:25: error: anchor already defined: "dupTestField" - /** dupTestField again */ + /** dupTestField again */ ^ Test.java:28: error: anchor already defined: "dupTestMethod" - /** dupTestMethod again */ + /** dupTestMethod again */ ^ Test.java:33: error: anchor already defined: "dupNested" - * dupNested again + * dupNested again ^ Test.java:41: error: anchor already defined: "dupNestedField" - * dupNestedField + * dupNestedField ^ Test.java:48: error: anchor already defined: "dupNestedMethod" - * dupNestedMethod + * dupNestedMethod ^ 6 errors diff --git a/test/langtools/tools/doclint/anchorTests/p/package-info.java b/test/langtools/tools/doclint/anchorTests/p/package-info.java index 9a586ad6af0..75915015506 100644 --- a/test/langtools/tools/doclint/anchorTests/p/package-info.java +++ b/test/langtools/tools/doclint/anchorTests/p/package-info.java @@ -1,5 +1,5 @@ /* @test /nodynamiccopyright/ - * @bug 8025246 + * @bug 8025246 8247957 * @summary doclint is showing error on anchor already defined when it's not * @library ../.. * @modules jdk.javadoc/jdk.javadoc.internal.doclint @@ -9,8 +9,10 @@ */ /** - * here - * here again + * here + * here again + * obsolete anchor + * obsolete anchor again */ package p; diff --git a/test/langtools/tools/doclint/anchorTests/p/package-info.javac.out b/test/langtools/tools/doclint/anchorTests/p/package-info.javac.out index f6b8948560d..6edee352de8 100644 --- a/test/langtools/tools/doclint/anchorTests/p/package-info.javac.out +++ b/test/langtools/tools/doclint/anchorTests/p/package-info.javac.out @@ -1,2 +1,4 @@ package-info.java:13:7: compiler.err.proc.messager: anchor already defined: "here" -1 error +package-info.java:14:7: compiler.err.proc.messager: attribute not supported in HTML5: name +package-info.java:15:7: compiler.err.proc.messager: attribute not supported in HTML5: name +3 errors diff --git a/test/langtools/tools/doclint/anchorTests/p/package-info.out b/test/langtools/tools/doclint/anchorTests/p/package-info.out index 4eaa98adc9c..1594f466538 100644 --- a/test/langtools/tools/doclint/anchorTests/p/package-info.out +++ b/test/langtools/tools/doclint/anchorTests/p/package-info.out @@ -1,4 +1,10 @@ package-info.java:13: error: anchor already defined: "here" - * here again + * here again ^ -1 error +package-info.java:14: error: attribute not supported in HTML5: name + * obsolete anchor + ^ +package-info.java:15: error: attribute not supported in HTML5: name + * obsolete anchor again + ^ +3 errors diff --git a/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java b/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java index 21da610ff31..4e699232de2 100644 --- a/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java +++ b/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java @@ -1,14 +1,11 @@ /* * @test /nodynamiccopyright/ - * @bug 8072945 + * @bug 8072945 8247957 * @summary test tags and attributes specific to the output HTML version * @library .. * @modules jdk.javadoc/jdk.javadoc.internal.doclint * @build DocLintTester - * @run main DocLintTester -XhtmlVersion:html5 -ref HtmlVersionTagsAttrsTestHtml5.out HtmlVersionTagsAttrsTest.java - * @run main DocLintTester -XhtmlVersion:html4 -ref HtmlVersionTagsAttrsTestHtml4.out HtmlVersionTagsAttrsTest.java - * @run main DocLintTester -badargs -XhtmlVersion: HtmlVersionTagsAttrsTest.java - * @run main DocLintTester -ref HtmlVersionTagsAttrsTestHtml4.out HtmlVersionTagsAttrsTest.java + * @run main DocLintTester -Xmaxerrs 200 -ref HtmlVersionTagsAttrsTest.out HtmlVersionTagsAttrsTest.java */ /** @@ -73,7 +70,7 @@ public class HtmlVersionTagsAttrsTest { * Test border * */ - public void SupportedAttrs_in_html4_not_in_html5() { } + public void notSupportedAttrs_html5() { } /** *
      @@ -88,7 +85,7 @@ public class HtmlVersionTagsAttrsTest { *

      Label test

      * */ - public void SupportedAttrs_in_html5_not_in_html4() { } + public void SupportedAttrs_html5() { } /** *

      Bigger text test

      @@ -156,7 +153,7 @@ public class HtmlVersionTagsAttrsTest { *

      Test current time is at night

      *

      Test WBR text

      */ - public void SupportedTags_in_html5_not_in_html4() { } + public void SupportedTags_html5() { } /** *
      diff --git a/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTestHtml5.out b/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.out similarity index 65% rename from test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTestHtml5.out rename to test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.out index 9c51141bd5a..69b31d53831 100644 --- a/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTestHtml5.out +++ b/test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.out @@ -1,299 +1,314 @@ -HtmlVersionTagsAttrsTest.java:19: error: attribute not supported in HTML5: rev +HtmlVersionTagsAttrsTest.java:16: error: attribute not supported in HTML5: rev * Help Page ^ -HtmlVersionTagsAttrsTest.java:20: error: attribute not supported in HTML5: charset +HtmlVersionTagsAttrsTest.java:17: error: attribute not supported in HTML5: charset * Test page ^ -HtmlVersionTagsAttrsTest.java:21: error: attribute not supported in HTML5: shape +HtmlVersionTagsAttrsTest.java:18: error: attribute not supported in HTML5: shape * Location ^ -HtmlVersionTagsAttrsTest.java:21: error: attribute not supported in HTML5: coords +HtmlVersionTagsAttrsTest.java:18: error: attribute not supported in HTML5: coords * Location ^ -HtmlVersionTagsAttrsTest.java:22: error: attribute not supported in HTML5: name +HtmlVersionTagsAttrsTest.java:19: error: attribute not supported in HTML5: name * alt ^ -HtmlVersionTagsAttrsTest.java:24: error: attribute not supported in HTML5: axis +HtmlVersionTagsAttrsTest.java:21: error: attribute not supported in HTML5: axis * Description ^ -HtmlVersionTagsAttrsTest.java:25: error: attribute not supported in HTML5: axis +HtmlVersionTagsAttrsTest.java:22: error: attribute not supported in HTML5: axis * Axis_Test ^ -HtmlVersionTagsAttrsTest.java:25: error: attribute not supported in HTML5: abbr +HtmlVersionTagsAttrsTest.java:22: error: attribute not supported in HTML5: abbr * Axis_Test ^ -HtmlVersionTagsAttrsTest.java:25: error: attribute not supported in HTML5: scope +HtmlVersionTagsAttrsTest.java:22: error: attribute not supported in HTML5: scope * Axis_Test ^ -HtmlVersionTagsAttrsTest.java:26: error: no summary or caption for table +HtmlVersionTagsAttrsTest.java:23: error: no caption for table * ^ -HtmlVersionTagsAttrsTest.java:27: error: attribute not supported in HTML5: summary +HtmlVersionTagsAttrsTest.java:24: error: attribute not supported in HTML5: summary *
      Test Row
      ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: bgcolor +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: bgcolor *
      ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: cellpadding +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: cellpadding *
      ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: cellspacing +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: cellspacing *
      ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: frame +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: frame *
      ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: rules +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: rules *
      ^ -HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: width +HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: width *
      ^ -HtmlVersionTagsAttrsTest.java:30: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:27: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: valign +HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: valign * ^ -HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: width +HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: width * ^ -HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:30: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: valign +HtmlVersionTagsAttrsTest.java:30: error: attribute not supported in HTML5: valign * ^ -HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: width +HtmlVersionTagsAttrsTest.java:30: error: attribute not supported in HTML5: width * ^ -HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: valign + * + ^ +HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: bgcolor +HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: bgcolor * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:34: error: attribute not supported in HTML5: valign + * + ^ +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: bgcolor +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: bgcolor * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: height +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: height * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: width +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: valign + * + ^ +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: width * ^ -HtmlVersionTagsAttrsTest.java:38: error: attribute not supported in HTML5: nowrap +HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: nowrap * ^ -HtmlVersionTagsAttrsTest.java:42: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:39: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:42: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:39: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:42: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:39: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:48: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:39: error: attribute not supported in HTML5: valign + * + ^ +HtmlVersionTagsAttrsTest.java:45: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:48: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:45: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:48: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:45: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:45: error: attribute not supported in HTML5: valign + * + ^ +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: align * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: char +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: char * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: charoff +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: charoff * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: bgcolor +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: bgcolor * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: height +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: height * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: width +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: valign + * + ^ +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: width * ^ -HtmlVersionTagsAttrsTest.java:50: error: attribute not supported in HTML5: nowrap +HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: nowrap * ^ -HtmlVersionTagsAttrsTest.java:55: error: attribute not supported in HTML5: clear +HtmlVersionTagsAttrsTest.java:52: error: attribute not supported in HTML5: clear *
      ^ -HtmlVersionTagsAttrsTest.java:56: error: attribute not supported in HTML5: compact +HtmlVersionTagsAttrsTest.java:53: error: attribute not supported in HTML5: compact *
        ^ -HtmlVersionTagsAttrsTest.java:60: error: attribute not supported in HTML5: type +HtmlVersionTagsAttrsTest.java:57: error: attribute not supported in HTML5: type *
          ^ -HtmlVersionTagsAttrsTest.java:60: error: attribute not supported in HTML5: compact +HtmlVersionTagsAttrsTest.java:57: error: attribute not supported in HTML5: compact *
            ^ -HtmlVersionTagsAttrsTest.java:61: error: attribute not supported in HTML5: type +HtmlVersionTagsAttrsTest.java:58: error: attribute not supported in HTML5: type *
          • Test list
          • ^ -HtmlVersionTagsAttrsTest.java:64: error: attribute not supported in HTML5: compact +HtmlVersionTagsAttrsTest.java:61: error: attribute not supported in HTML5: compact *
            ^ -HtmlVersionTagsAttrsTest.java:68: error: attribute not supported in HTML5: hspace +HtmlVersionTagsAttrsTest.java:65: error: attribute not supported in HTML5: hspace * imgTest ^ -HtmlVersionTagsAttrsTest.java:68: error: attribute not supported in HTML5: vspace +HtmlVersionTagsAttrsTest.java:65: error: attribute not supported in HTML5: vspace * imgTest ^ -HtmlVersionTagsAttrsTest.java:68: error: attribute not supported in HTML5: border +HtmlVersionTagsAttrsTest.java:65: error: attribute not supported in HTML5: border * imgTest ^ -HtmlVersionTagsAttrsTest.java:69: error: attribute not supported in HTML5: size +HtmlVersionTagsAttrsTest.java:66: error: attribute not supported in HTML5: size *
            ^ -HtmlVersionTagsAttrsTest.java:69: error: attribute not supported in HTML5: noshade +HtmlVersionTagsAttrsTest.java:66: error: attribute not supported in HTML5: noshade *
            ^ -HtmlVersionTagsAttrsTest.java:70: error: attribute not supported in HTML5: width +HtmlVersionTagsAttrsTest.java:67: error: attribute not supported in HTML5: width *
            Test Pre
            ^ -HtmlVersionTagsAttrsTest.java:71: error: attribute not supported in HTML5: name +HtmlVersionTagsAttrsTest.java:68: error: attribute not supported in HTML5: name * Anchor Test ^ -HtmlVersionTagsAttrsTest.java:72: error: attribute border for table only accepts "" or "1", use CSS instead: BORDER +HtmlVersionTagsAttrsTest.java:69: error: attribute "border" for table only accepts "" or "1": BORDER *
      Test table, caption, col, colgroup, tbody, ^ -HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: align +HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: align *
      HeadCol1HeadCol1HeadCol1HeadCol1HeadCol1HeadCol1HeadCol1HeadCol1
      BodyCol1BodyCol1BodyCol1BodyCol1BodyCol1BodyCol1BodyCol1BodyCol1
      ^ -HtmlVersionTagsAttrsTest.java:74: error: no summary or caption for table +HtmlVersionTagsAttrsTest.java:71: error: no caption for table *
      ^ -HtmlVersionTagsAttrsTest.java:94: error: tag not supported in the generated HTML version: big +HtmlVersionTagsAttrsTest.java:91: error: tag not supported in HTML5: big *

      Bigger text test

      ^ -HtmlVersionTagsAttrsTest.java:94: warning: empty

      tag +HtmlVersionTagsAttrsTest.java:91: warning: empty

      tag *

      Bigger text test

      ^ -HtmlVersionTagsAttrsTest.java:95: error: tag not supported in the generated HTML version: center +HtmlVersionTagsAttrsTest.java:92: error: tag not supported in HTML5: center *
      Center text test
      ^ -HtmlVersionTagsAttrsTest.java:96: error: tag not supported in the generated HTML version: font +HtmlVersionTagsAttrsTest.java:93: error: tag not supported in HTML5: font * Font test ^ -HtmlVersionTagsAttrsTest.java:96: error: attribute not supported in HTML5: size - * Font test - ^ -HtmlVersionTagsAttrsTest.java:97: error: tag not supported in the generated HTML version: strike +HtmlVersionTagsAttrsTest.java:94: error: tag not supported in HTML5: strike *

      Text strike

      ^ -HtmlVersionTagsAttrsTest.java:98: error: tag not supported in the generated HTML version: tt +HtmlVersionTagsAttrsTest.java:95: error: tag not supported in HTML5: tt *

      Teletype text

      ^ -HtmlVersionTagsAttrsTest.java:98: warning: empty

      tag +HtmlVersionTagsAttrsTest.java:95: warning: empty

      tag *

      Teletype text

      ^ -HtmlVersionTagsAttrsTest.java:100: error: unknown tag: hgroup +HtmlVersionTagsAttrsTest.java:97: error: unknown tag: hgroup *
      ^ -HtmlVersionTagsAttrsTest.java:103: error: unknown tag: hgroup +HtmlVersionTagsAttrsTest.java:100: error: unknown tag: hgroup *
      ^ -HtmlVersionTagsAttrsTest.java:106: error: unknown tag: details +HtmlVersionTagsAttrsTest.java:103: error: unknown tag: details *
      ^ -HtmlVersionTagsAttrsTest.java:107: error: unknown tag: summary +HtmlVersionTagsAttrsTest.java:104: error: unknown tag: summary * Summary ^ -HtmlVersionTagsAttrsTest.java:107: error: unknown tag: summary +HtmlVersionTagsAttrsTest.java:104: error: unknown tag: summary * Summary ^ -HtmlVersionTagsAttrsTest.java:109: error: unknown tag: details +HtmlVersionTagsAttrsTest.java:106: error: unknown tag: details *
      ^ -HtmlVersionTagsAttrsTest.java:132: error: element not allowed in documentation comments:
      +HtmlVersionTagsAttrsTest.java:129: error: element not allowed in documentation comments:
      *
      ^ -HtmlVersionTagsAttrsTest.java:164: error: heading not found for
      +HtmlVersionTagsAttrsTest.java:161: error: heading not found for * ^ -HtmlVersionTagsAttrsTest.java:167: error: heading not found for +HtmlVersionTagsAttrsTest.java:164: error: heading not found for * ^ -HtmlVersionTagsAttrsTest.java:169: error: tag not allowed here:
      +HtmlVersionTagsAttrsTest.java:166: error: tag not allowed here:
      *
      ^ -HtmlVersionTagsAttrsTest.java:172: error: tag not allowed here: