From 0942f31fa19fc9ef37a196bfe67912e8fee702e7 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 30 Apr 2012 13:09:30 +0200 Subject: [PATCH] EA-35853 - IAE: PsiReferenceExpressionImpl.bindToElement --- .../impl/AddSingleMemberStaticImportAction.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java index 703de16a3ee8..ba22c9682e25 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java @@ -156,9 +156,12 @@ public class AddSingleMemberStaticImportAction extends PsiElementBaseIntentionAc if (referent instanceof PsiMember && referent != reference.resolve()) { PsiElementFactory factory = JavaPsiFacade.getInstance(reference.getProject()).getElementFactory(); try { - PsiReferenceExpression copy = (PsiReferenceExpression)factory.createExpressionFromText("A." + reference.getReferenceName(), null); - reference = (PsiReferenceExpression)reference.replace(copy); - ((PsiReferenceExpression)reference.getQualifier()).bindToElement(((PsiMember)referent).getContainingClass()); + final PsiClass containingClass = ((PsiMember)referent).getContainingClass(); + if (containingClass != null) { + PsiReferenceExpression copy = (PsiReferenceExpression)factory.createExpressionFromText("A." + reference.getReferenceName(), null); + reference = (PsiReferenceExpression)reference.replace(copy); + ((PsiReferenceExpression)reference.getQualifier()).bindToElement(containingClass); + } } catch (IncorrectOperationException e) { LOG.error (e);