From 445846597ae4e1f044c0a20db4d62c989fc02105 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 25 May 2017 12:43:27 +0700 Subject: [PATCH] InferredAnnotationsManagerImpl: fix displaying hardcoded annotations --- .../InferredAnnotationsManagerImpl.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/InferredAnnotationsManagerImpl.java b/java/java-analysis-impl/src/com/intellij/codeInsight/InferredAnnotationsManagerImpl.java index cf7b6f9f7f76..3d779e6f7105 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/InferredAnnotationsManagerImpl.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/InferredAnnotationsManagerImpl.java @@ -193,23 +193,26 @@ public class InferredAnnotationsManagerImpl extends InferredAnnotationsManager { } } - if (listOwner instanceof PsiMethodImpl) { + if (listOwner instanceof PsiMethod) { PsiAnnotation hardcoded = getHardcodedContractAnnotation((PsiMethod)listOwner); if (hardcoded != null) { result.add(hardcoded); - } else if (!ignoreInference(listOwner, ORG_JETBRAINS_ANNOTATIONS_CONTRACT)) { - ContainerUtil.addIfNotNull(result, getInferredContractAnnotation((PsiMethodImpl)listOwner)); } + if (listOwner instanceof PsiMethodImpl) { + if (hardcoded == null && !ignoreInference(listOwner, ORG_JETBRAINS_ANNOTATIONS_CONTRACT)) { + ContainerUtil.addIfNotNull(result, getInferredContractAnnotation((PsiMethodImpl)listOwner)); + } - if (!ignoreInference(listOwner, AnnotationUtil.NOT_NULL) || !ignoreInference(listOwner, AnnotationUtil.NULLABLE)) { - PsiAnnotation annotation = getInferredNullityAnnotation((PsiMethodImpl)listOwner); - if (annotation != null && !ignoreInference(listOwner, annotation.getQualifiedName())) { - result.add(annotation); + if (!ignoreInference(listOwner, AnnotationUtil.NOT_NULL) || !ignoreInference(listOwner, AnnotationUtil.NULLABLE)) { + PsiAnnotation annotation = getInferredNullityAnnotation((PsiMethodImpl)listOwner); + if (annotation != null && !ignoreInference(listOwner, annotation.getQualifiedName())) { + result.add(annotation); + } } } } - return result.isEmpty() ? PsiAnnotation.EMPTY_ARRAY : result.toArray(new PsiAnnotation[result.size()]); + return result.toArray(PsiAnnotation.EMPTY_ARRAY); } @Override