diff options
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.java | 16 |
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) { |