[java] module 'uses' statement highlighting

This commit is contained in:
Roman Shevchenko
2016-08-26 13:23:09 +03:00
parent 1809e9bf14
commit 762263320b
7 changed files with 103 additions and 33 deletions
@@ -175,6 +175,9 @@ 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) {
return CLASS_FQ_NAME_KIND;
}
diagnoseUnknownParent();
return CLASS_NAME_KIND;
@@ -17,16 +17,25 @@ package com.intellij.psi.impl.source;
import com.intellij.psi.JavaElementVisitor;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiJavaCodeReferenceElement;
import com.intellij.psi.PsiUsesStatement;
import com.intellij.psi.impl.source.tree.CompositePsiElement;
import com.intellij.psi.impl.source.tree.JavaElementType;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class PsiUsesStatementImpl extends CompositePsiElement implements PsiUsesStatement {
public PsiUsesStatementImpl() {
super(JavaElementType.USES_STATEMENT);
}
@Nullable
@Override
public PsiJavaCodeReferenceElement getClassReference() {
return PsiTreeUtil.getChildOfType(this, PsiJavaCodeReferenceElement.class);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof JavaElementVisitor) {
@@ -402,6 +402,8 @@ package.not.found=Package not found: {0}
package.is.empty=Package is empty: {0}
module.duplicate.export=Duplicate export: {0}
module.self.export=Exports to itself
module.service.enum=The service definition is an enum: {0}
module.duplicate.uses=Duplicate uses: {0}
feature.generics=Generics
feature.annotations=Annotations