On Thu, 8 Feb 2024 20:58:24 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:
>> Ping. > > I believe this is substantially covered in line 226-227. See the third call > to `test` in the following group of lines: > > > for (String src : sources) { > test(src); > test(src.replaceAll("@Deprecated", "/** @deprecated */")); > test(src.replaceAll("deprecated", "notDeprecated2") // change > class name > .replaceAll("@Deprecated", "/// @deprecated\n")); > } > > > * The first call, `test(src)`, runs all the test cases, using the > `@Deprecated` annotation by default. In these test cases, the name of the > element encodes whether it is expected that the element is deprecated or not. > > * The second call, `test(src.replaceAll("deprecated", "notDeprecated2")`, > runs the test cases again, after changing the annotation to a traditional > (`/** ...*/`) comment containing the `@deprecated` tag. This is a > long-standing call, and tests the legacy behavior of `@deprecated` appearing > in a traditional doc comment. Effectively, it tests whether a `/** > @deprecated */` comment has equivalent behavior to a `@Deprecated` comment. > > * The third call is new to this PR and the functionality to support Markdown > comments. It makes two changes to the source for the test cases, before > running them: > 1. as in the previous test, the annotations are replaced by a comment > containing `@deprecated` -- except that this time, the comment is a new-style > `/// ... ` comment instead of a traditional `/** ... */` comment, and ... > 2. because we do not expect `/// @deprecated` to indicate deprecation, we > need to change the expected result for each test case, which we do by > changing the element name for the test case. The change is the first call to > replace to avoid false positives after changing the doc comment. The change > uses a new name, `notDeprecated2`, in which `notDeprecated` encodes the > expected deprecation status, and the `2` is to differentiate the declarations > from other declarations in the case case that already use the name > `notDeprecated`. While the underlying mechanism in javac for indicating deprecation is the same for all, I accept this is primarily a test for generated class files. I can add a javadoc test for basic behavior of `@deprecated` in Markdown comments. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16388#discussion_r1483628179