Как JavaDoc запись без предупреждений от -Xdoclint?

Я пытался ознакомиться с записями, но столкнулся с чем-то, что действительно похоже на ошибку в инструменте Java для линтинга JavaDoc -Xdoclint.

Я пытался использовать эту команду...

 javac     -Xdoclint:all       XdoclintDoesntHandleRecordJavadocCorrectly.java

...чтобы проверить мой JavaDoc для этого файла...

/**
 *
 * Comment.
 *
 * @param a Comment.
 * @param b Comment.
 * @param c Comment.
 *
 */
public record XdoclintDoesntHandleRecordJavadocCorrectly(
/** Comment. */
int a,
/** b Comment. */
int b,
/** @param c Comment. */
int c
) {}

... который дал мне эту ошибку ...

XdoclintDoesntHandleRecordJavadocCorrectly.java:14: warning: no comment
int a,
    ^
XdoclintDoesntHandleRecordJavadocCorrectly.java:16: warning: no comment
int b,
    ^
XdoclintDoesntHandleRecordJavadocCorrectly.java:18: warning: no comment
int c
    ^
3 warnings

... что не имеет для меня никакого смысла.

Является ли это ошибкой в ​​инструменте Java -Xdoclint? Обычно я бы не стал так быстро предъявлять претензии, но это не первый случай, когда инструмент -Xdoclint содержит ошибки, которые позже исправила Java..

И, наконец, вот моя версия Java.

$ java --version
java 18 2022-03-22
Java(TM) SE Runtime Environment (build 18+36-2087)
Java HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку Пример Javadoc для записей в репозитории OpenJDK выдает такое же предупреждение, это, безусловно, ошибка.

edit: Спецификация языка Java дает подсказку:

For each record component, a record class has a field with the same name as the record component and the same type as the declared type of the record component. This field, which is declared implicitly, is known as a component field.

Таким образом, «без комментариев» вполне может относиться к этому неявно объявленное поле компонента записи класс, которая является результатом записи и не может быть прокомментирована, аналогично выводы из проблемы, на которую вы ссылались.

Хотя сопровождающие, кажется, знают об этом предупреждении и даже включил его в один из интеграционных тестов.

Knight Industries 05.04.2022 23:57

Большое спасибо! Это хорошо изученный ответ, который хорошо доказывает свою точку зрения. Я хотел убедиться, что не ошибся, прежде чем двигаться вперед. Я бы присудил награду сейчас, но StackOverflow говорит мне, что мне нужно подождать 18 часов.

davidalayachew 06.04.2022 03:55

Еще раз спасибо! Я собираюсь сообщить об этом в Oracle как об ошибке и надеюсь, что они исправят это, так же, как они сделали другое.

davidalayachew 09.04.2022 05:48

Другие вопросы по теме