don't bind to elements with no qualified name (EA-23479)

This commit is contained in:
peter.gromov
2010-11-13 20:08:45 +03:00
parent 65ad79ba84
commit 7add06e36a
3 changed files with 6 additions and 4 deletions
@@ -89,7 +89,9 @@ public abstract class GrReferenceElementImpl extends GroovyPsiElementImpl implem
final String newName = ((PsiClass) element).getName();
final GrReferenceElementImpl newElement = ((GrReferenceElementImpl)handleElementRename(newName));
if (newElement.isReferenceTo(element)) return newElement;
return newElement.bindWithQualifiedRef(((PsiClass)element).getQualifiedName());
final String qualifiedName = ((PsiClass)element).getQualifiedName();
if (qualifiedName == null) return newElement;
return newElement.bindWithQualifiedRef(qualifiedName);
} else if (element instanceof PsiMember) {
PsiMember member = (PsiMember)element;
if (!isPhysical()) {
@@ -111,7 +113,7 @@ public abstract class GrReferenceElementImpl extends GroovyPsiElementImpl implem
}
protected abstract PsiElement bindWithQualifiedRef(String qName);
protected abstract PsiElement bindWithQualifiedRef(@NotNull String qName);
protected boolean bindsCorrectly(PsiElement element) {
return isReferenceTo(element);
@@ -329,7 +329,7 @@ public class GrReferenceExpressionImpl extends GrReferenceElementImpl implements
}
@Override
protected PsiElement bindWithQualifiedRef(String qName) {
protected PsiElement bindWithQualifiedRef(@NotNull String qName) {
final GrTypeArgumentList list = getTypeArgumentList();
final String typeArgs = (list != null) ? list.getText() : "";
final String text = qName + typeArgs;
@@ -66,7 +66,7 @@ public class GrCodeReferenceElementImpl extends GrReferenceElementImpl implement
}
@Override
protected PsiElement bindWithQualifiedRef(String qName) {
protected PsiElement bindWithQualifiedRef(@NotNull String qName) {
final GrTypeArgumentList list = getTypeArgumentList();
final String typeArgs = (list != null) ? list.getText() : "";
final String text = qName + typeArgs;