fix the tests that yole has broken
authorpeter <peter.gromov@jetbrains.com>
Tue, 27 Apr 2010 09:55:34 +0000 (10:55 +0100)
committerpeter <peter.gromov@jetbrains.com>
Tue, 27 Apr 2010 09:56:17 +0000 (10:56 +0100)
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/editor/GroovyImportOptimizer.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrCodeReferenceElementImpl.java

index 3870bbd94cc109625853706c7c652e3bf0052ba6..e45db77cef08d655e26de9f6d1f2194e64738731 100644 (file)
@@ -159,7 +159,7 @@ public class GroovyImportOptimizer implements ImportOptimizer {
       final List<GrImportStatement> oldImports = new ArrayList<GrImportStatement>();
       for (GrImportStatement statement : myFile.getImportStatements()) {
         final GrCodeReferenceElement reference = statement.getImportReference();
-        if (reference != null && reference.getCanonicalText() != null) {
+        if (reference != null && reference.multiResolve(false).length > 0) {
           oldImports.add(statement);
         }
       }
index e0f58f8262d54041af488f3a3be19d5e8330a1d3..19f5b023c1bec65bd322b91712165e2fbd60de49 100644 (file)
@@ -17,6 +17,7 @@
 package org.jetbrains.plugins.groovy.lang.psi.impl.types;
 
 import com.intellij.lang.ASTNode;
+import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.psi.*;
 import com.intellij.psi.impl.source.resolve.ResolveCache;
 import com.intellij.psi.search.GlobalSearchScope;
@@ -160,22 +161,22 @@ public class GrCodeReferenceElementImpl extends GrReferenceElementImpl implement
   public String getCanonicalText() {
     PsiElement resolved = resolve();
     if (resolved instanceof PsiClass) {
-      return ((PsiClass) resolved).getQualifiedName();
+      final String qname = ((PsiClass)resolved).getQualifiedName();
+      if (qname != null) {
+        return qname;
+      }
     }
     if (resolved instanceof PsiPackage) {
       return ((PsiPackage) resolved).getQualifiedName();
     }
-    if (getKind(false) == STATIC_MEMBER_FQ) {
-      final GrCodeReferenceElement qualifier = getQualifier();
-      if (qualifier != null) {
-        final String qualifierText = qualifier.getCanonicalText();
-        if (qualifierText != null) {
-          return qualifierText + "." + getReferenceName();
-        }
-      }
+
+    final GrCodeReferenceElement qualifier = getQualifier();
+    final String referenceName = StringUtil.notNullize(getReferenceName());
+    if (qualifier != null) {
+      return qualifier.getCanonicalText() + "." + referenceName;
     }
 
-    return null;
+    return referenceName;
   }
 
   protected boolean bindsCorrectly(PsiElement element) {