diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavaDocLocalInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavaDocLocalInspectionBase.java index 4001db3f89d2..d54e8bda0086 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavaDocLocalInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavaDocLocalInspectionBase.java @@ -305,6 +305,7 @@ public class JavaDocLocalInspectionBase extends LocalInspectionTool { } if (isTagRequired(METHOD_OPTIONS, "param")) { JavadocHighlightUtil.checkMissingParamTags(tags, method, docComment.getFirstChild(), holder); + JavadocHighlightUtil.checkMissingTypeParamTags(method, tags, docComment.getFirstChild(), holder); } if (isTagRequired(METHOD_OPTIONS, "throws")) { JavadocHighlightUtil.checkMissingThrowsTags(tags, method, docComment.getFirstChild(), holder); diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavadocHighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavadocHighlightUtil.java index 0eb224b1ef0b..7c20c0ffc9c9 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavadocHighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/javaDoc/JavadocHighlightUtil.java @@ -323,14 +323,14 @@ public class JavadocHighlightUtil { }); } - static void checkMissingTypeParamTags(@NotNull PsiClass psiClass, + static void checkMissingTypeParamTags(@NotNull PsiTypeParameterListOwner parameterListOwner, @NotNull PsiDocTag[] tags, @NotNull PsiElement toHighlight, @NotNull ProblemHolder holder) { - if (psiClass.hasTypeParameters()) { + if (parameterListOwner.hasTypeParameters()) { List absentParameters = null; - for (PsiTypeParameter typeParameter : psiClass.getTypeParameters()) { + for (PsiTypeParameter typeParameter : parameterListOwner.getTypeParameters()) { if (!hasTagForParameter(tags, typeParameter)) { (absentParameters = list(absentParameters)).add(typeParameter); } @@ -370,13 +370,6 @@ public class JavadocHighlightUtil { } } - for (PsiTypeParameter parameter : psiMethod.getTypeParameters()) { - if (!hasTagForParameter(tags, parameter)) { - (absentParameters = list(absentParameters)).add(parameter); - } - } - - if (absentParameters != null) { for (PsiNamedElement parameter : absentParameters) { String name = parameter.getName(); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags/afterMethodTypeParam.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags/afterMethodTypeParam.java new file mode 100644 index 000000000000..fcb903ad7085 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags/afterMethodTypeParam.java @@ -0,0 +1,9 @@ +// "Add tag @param " "true" +class a { +/** + * @param + */ +public void run() { + +} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags/beforeMethodTypeParam.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags/beforeMethodTypeParam.java new file mode 100644 index 000000000000..8b34f86d3a9a --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags/beforeMethodTypeParam.java @@ -0,0 +1,8 @@ +// "Add tag @param " "true" +class a { +/** +*/ +public void run() { + +} +} \ No newline at end of file