From 7add06e36a08e7d8d58a65ffdd6235982da50af7 Mon Sep 17 00:00:00 2001 From: "peter.gromov" Date: Sat, 13 Nov 2010 19:06:05 +0300 Subject: [PATCH] don't bind to elements with no qualified name (EA-23479) --- .../groovy/lang/psi/impl/GrReferenceElementImpl.java | 6 ++++-- .../statements/expressions/GrReferenceExpressionImpl.java | 2 +- .../lang/psi/impl/types/GrCodeReferenceElementImpl.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java index 00f565355128..0f5f46988cab 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java @@ -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); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java index e08726e617e8..10f9bbcafd99 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java @@ -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; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrCodeReferenceElementImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrCodeReferenceElementImpl.java index 9ec5c74959d3..da2aa2b8fa5e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrCodeReferenceElementImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrCodeReferenceElementImpl.java @@ -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;