summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java')
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java
index fd85d1124171..daf2e3002dd2 100644
--- a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java
+++ b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java
@@ -450,18 +450,24 @@ public class MethodParameterInfoHandler implements ParameterInfoHandlerWithTabAc
final PsiJavaCodeReferenceElement element = annotation.getNameReferenceElement();
if (element != null) {
final PsiElement resolved = element.resolve();
- if (resolved instanceof PsiClass && !AnnotationUtil.isAnnotated((PsiClass)resolved, "java.lang.annotation.Documented", false)) continue;
+ if (resolved instanceof PsiClass && !AnnotationUtil.isAnnotated((PsiClass)resolved, "java.lang.annotation.Documented", false, true)) {
+ continue;
+ }
String referenceName = element.getReferenceName();
- if (!shownAnnotations.add(referenceName)) continue;
-
- if (lastSize != buffer.length()) buffer.append(" ");
- buffer.append("@").append(referenceName);
+ if (shownAnnotations.add(referenceName) || isRepeatableAnnotation(resolved)) {
+ if (lastSize != buffer.length()) buffer.append(" ");
+ buffer.append("@").append(referenceName);
+ }
}
}
if (lastSize != buffer.length()) buffer.append(" ");
}
+ private static boolean isRepeatableAnnotation(PsiElement resolved) {
+ return resolved instanceof PsiClass && !AnnotationUtil.isAnnotated((PsiModifierListOwner)resolved, CommonClassNames.JAVA_LANG_ANNOTATION_REPEATABLE, false, true);
+ }
+
@Override
public void updateUI(final Object p, @NotNull final ParameterInfoUIContext context) {
if (p instanceof CandidateInfo) {