[java] correct reference kind in module statements

This commit is contained in:
Roman Shevchenko
2017-07-07 16:47:34 +02:00
parent d39547412a
commit 5517e5a6f9
2 changed files with 7 additions and 10 deletions
@@ -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();
}
@@ -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;