On Mon, 15 Jan 2024 18:08:54 GMT, Pavel Rappo <pra...@openjdk.org> wrote:
>> Jonathan Gibbons has updated the pull request with a new target base due to >> a merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains seven additional >> commits since the last revision: >> >> - Merge with upstream/master >> - Merge remote-tracking branch 'upstream/master' into >> 8298405.doclet-markdown-v3 >> - Address review comments >> - Fix whitespace >> - Improve handling of embedded inline taglets >> - Customize support for Markdown headings >> - JDK-8298405: Support Markdown in Documentation Comments > > src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java > line 1336: > >> 1334: switch (initialLineKind) { >> 1335: case CODE_FENCE -> { >> 1336: if (lineKind == LineKind.CODE_FENCE && ch >> == term && count(ch) == count) { > > https://spec.commonmark.org/0.30/#example-124 shows that the closing fence > may be longer than the opening one: consider `count(ch) >= count`. > > That said, I note that on my experiment the resulting output was identical > with or without the change I ask you to consider. Perhaps I haven't yet > understood how the parsing works. Good catch. The spec has the words: _and with at least as many backticks or tildes_ Will fix. > src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java > line 1421: > >> 1419: case '#', '=', '-', '+', '_', '`', '~' -> { >> 1420: String line = peekLine(); >> 1421: for (LineKind lk : LineKind.values()) { > > Nothing wrong here, just noting that this is one more way one can depend on > an enum constant order. Change it, and a peeked line kind might change too > (e.g. `OTHER` matches everything.) Like it or not, JLS defines that enum members are ordered, and even has an example 8.9.3-1 of using the `values` method in an enhanced `for` loop. Any change to the order of the members of any enum has the potential to be a breaking change and should never be done lightly. Curiously, JLS 13.4.26 does not say that reordering enum constants may break clients. Anyway, I added comments to the LineKind enum declaration. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16388#discussion_r1470410143 PR Review Comment: https://git.openjdk.org/jdk/pull/16388#discussion_r1470408047