From c042ad5b788e65e0d0031b8ccbeb2582726cddee Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 2 Nov 2021 17:27:59 +0100 Subject: [PATCH] [java] generate javadoc for records with @params for components (IDEA-281563) GitOrigin-RevId: e5dc8ec3ef6dba979c32897625c48abd46efadb3 --- .../com/intellij/lang/java/JavaDocumentationProvider.java | 7 +++++++ .../testData/codeInsight/addJavadoc/afterRecord.java | 8 ++++++++ .../testData/codeInsight/addJavadoc/beforeRecord.java | 5 +++++ 3 files changed, 20 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/addJavadoc/afterRecord.java create mode 100644 java/java-tests/testData/codeInsight/addJavadoc/beforeRecord.java diff --git a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java index d119774c5a58..75c843af20c5 100644 --- a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java +++ b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java @@ -536,6 +536,13 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext } } else if (commentOwner instanceof PsiClass) { + if (((PsiClass)commentOwner).isRecord()) { + for (PsiRecordComponent component : ((PsiClass)commentOwner).getRecordComponents()) { + builder.append(CodeDocumentationUtil.createDocCommentLine(PARAM_TAG, commentOwner.getContainingFile(), commenter)); + builder.append(component.getName()); + builder.append(LINE_SEPARATOR); + } + } final PsiTypeParameterList typeParameterList = ((PsiClass)commentOwner).getTypeParameterList(); if (typeParameterList != null) { createTypeParamsListComment(builder, commenter, typeParameterList); diff --git a/java/java-tests/testData/codeInsight/addJavadoc/afterRecord.java b/java/java-tests/testData/codeInsight/addJavadoc/afterRecord.java new file mode 100644 index 000000000000..65cf6f591e35 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/afterRecord.java @@ -0,0 +1,8 @@ +// "Add Javadoc" "true" + + +/** + * @param u + */ +record Test(int u) { +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/addJavadoc/beforeRecord.java b/java/java-tests/testData/codeInsight/addJavadoc/beforeRecord.java new file mode 100644 index 000000000000..6bbdc64149a3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/beforeRecord.java @@ -0,0 +1,5 @@ +// "Add Javadoc" "true" + + +record Test(int u) { +} \ No newline at end of file