diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java index 0ddf7b468bd0..95be5c23d89c 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java @@ -351,11 +351,11 @@ public class ModuleHighlightUtil { static HighlightInfo checkServiceReference(@Nullable PsiJavaCodeReferenceElement refElement) { if (refElement != null) { PsiElement target = refElement.resolve(); - if (target == null) { + if (!(target instanceof PsiClass)) { String message = JavaErrorMessages.message("cannot.resolve.symbol", refElement.getReferenceName()); return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(range(refElement)).descriptionAndTooltip(message).create(); } - else if (target instanceof PsiClass && ((PsiClass)target).isEnum()) { + else if (((PsiClass)target).isEnum()) { String message = JavaErrorMessages.message("module.service.enum", ((PsiClass)target).getName()); return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(range(refElement)).descriptionAndTooltip(message).create(); } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java index b02200bd2573..6dda2973a3bd 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java @@ -115,11 +115,11 @@ public class PsiJavaCodeReferenceElementImpl extends CompositePsiElement impleme i == JavaDocElementType.DOC_METHOD_OR_FIELD_REF || i == JavaDocElementType.DOC_TAG_VALUE_ELEMENT || i == JavaElementType.REFERENCE_PARAMETER_LIST || - i == JavaElementType.ANNOTATION) { - if (isQualified()) { - return CLASS_OR_PACKAGE_NAME_KIND; - } - return CLASS_NAME_KIND; + i == JavaElementType.ANNOTATION || + i == JavaElementType.USES_STATEMENT || + i == JavaElementType.PROVIDES_STATEMENT || + i == JavaElementType.PROVIDES_WITH_LIST) { + return isQualified() ? CLASS_OR_PACKAGE_NAME_KIND : CLASS_NAME_KIND; } if (i == JavaElementType.NEW_EXPRESSION) { final ASTNode qualifier = treeParent.findChildByRole(ChildRole.QUALIFIER); @@ -176,9 +176,6 @@ public class PsiJavaCodeReferenceElementImpl extends CompositePsiElement impleme PsiJavaCodeReferenceCodeFragment fragment = (PsiJavaCodeReferenceCodeFragment)treeParent.getPsi(); return fragment.isClassesAccepted() ? CLASS_FQ_OR_PACKAGE_NAME_KIND : PACKAGE_NAME_KIND; } - if (i == JavaElementType.USES_STATEMENT || i == JavaElementType.PROVIDES_STATEMENT || i == JavaElementType.PROVIDES_WITH_LIST) { - return CLASS_NAME_KIND; - } diagnoseUnknownParent(); return CLASS_NAME_KIND;