diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeStyle/GrReferenceAdjuster.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeStyle/GrReferenceAdjuster.java index cf0524ade977..7d078351f9c8 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeStyle/GrReferenceAdjuster.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeStyle/GrReferenceAdjuster.java @@ -208,9 +208,7 @@ public class GrReferenceAdjuster implements ReferenceAdjuster { PsiResolveHelper helper = JavaPsiFacade.getInstance(ref.getProject()).getResolveHelper(); if (ref instanceof GrReferenceElement) { final String classNameText = ((GrReferenceElement)ref).getClassNameText(); - if (classNameText != null) { - return helper.resolveReferencedClass(classNameText, ref); - } + return helper.resolveReferencedClass(classNameText, ref); } return null; } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/GrReferenceElement.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/GrReferenceElement.java index 8377a0f32922..e56cc95376c6 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/GrReferenceElement.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/GrReferenceElement.java @@ -47,7 +47,7 @@ public interface GrReferenceElement extends GroovyPsiEleme @Nullable GrTypeArgumentList getTypeArgumentList(); - @Nullable + @NotNull String getClassNameText(); PsiElement handleElementRenameSimple(String newElementName) throws IncorrectOperationException; diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrClassReferenceType.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrClassReferenceType.java index 67be74d92a9b..83f8ae67b63a 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrClassReferenceType.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrClassReferenceType.java @@ -108,13 +108,16 @@ public class GrClassReferenceType extends PsiClassType { @Override @NotNull public PsiClassType rawType() { + final PsiElementFactory factory = JavaPsiFacade.getElementFactory(myReferenceElement.getProject()); + final PsiClass clazz = resolve(); if (clazz != null) { - final PsiElementFactory factory = JavaPsiFacade.getElementFactory(clazz.getProject()); return factory.createType(clazz, factory.createRawSubstitutor(clazz)); } - - return this; + else { + String qName = myReferenceElement.getClassNameText(); + return factory.createTypeByFQClassName(qName, myReferenceElement.getResolveScope()); + } } @NotNull diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java index 9862162822aa..c03dde54c143 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrReferenceElementImpl.java @@ -183,6 +183,7 @@ public abstract class GrReferenceElementImpl extends Groov PsiImplUtil.setQualifier(this, newQualifier); } + @NotNull @Override public String getClassNameText() { String cachedQName = myCachedQName; diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightClassReferenceElement.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightClassReferenceElement.java index fcf19d101235..131e338a541f 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightClassReferenceElement.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightClassReferenceElement.java @@ -91,6 +91,7 @@ public class GrLightClassReferenceElement extends LightElement implements GrCode return null; } + @NotNull @Override public String getClassNameText() { return myClassName; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellConsoleImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellConsoleImpl.java index e1bf036f8487..b5be80969bf4 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellConsoleImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyShellConsoleImpl.java @@ -154,7 +154,6 @@ public class GroovyShellConsoleImpl extends LanguageConsoleImpl { GrCodeReferenceElement reference = anImport.getImportReference(); if (reference == null) return null; String qname = reference.getClassNameText(); - if (qname == null) return null; buffer.append(qname); if (!anImport.isOnDemand()) { String importedName = anImport.getImportedName();