From 2d1affbc0e43b6a258fe934bcb40c62d568de0c0 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 28 Sep 2017 18:07:01 +0200 Subject: [PATCH] disable intentions on invalid code (IDEA-179752) --- .../intention/impl/AddOnDemandStaticImportAction.java | 7 +++---- .../intention/impl/AddSingleMemberStaticImportAction.java | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddOnDemandStaticImportAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddOnDemandStaticImportAction.java index e5b07874dd08..0a3569a918ae 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddOnDemandStaticImportAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddOnDemandStaticImportAction.java @@ -84,10 +84,9 @@ public class AddOnDemandStaticImportAction extends BaseElementAtCaretIntentionAc if (method != null && method.getContainingClass() != psiClass) return null; } else { - final PsiJavaCodeReferenceElement copy = (PsiJavaCodeReferenceElement)gParent.copy(); - final PsiElement qualifier = copy.getQualifier(); - if (qualifier == null || copy.getReferenceNameElement() == null) return null; - qualifier.delete(); + PsiElement referenceNameElement = ((PsiJavaCodeReferenceElement)gParent).getReferenceNameElement(); + if (!(referenceNameElement instanceof PsiJavaCodeReferenceElement)) return null; + final PsiJavaCodeReferenceElement copy = (PsiJavaCodeReferenceElement)referenceNameElement.copy(); final PsiElement target = copy.resolve(); if (target != null && PsiTreeUtil.getParentOfType(target, PsiClass.class) != psiClass) return null; } 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 1d4fa84799c2..b82778a2a543 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 @@ -109,10 +109,9 @@ public class AddSingleMemberStaticImportAction extends BaseElementAtCaretIntenti } } else { - final PsiJavaCodeReferenceElement copy = (PsiJavaCodeReferenceElement)refExpr.copy(); - final PsiElement qualifier = copy.getQualifier(); - if (qualifier == null) return null; - qualifier.delete(); + PsiElement refNameElement = refExpr.getReferenceNameElement(); + if (!(refNameElement instanceof PsiJavaCodeReferenceElement)) return null; + final PsiJavaCodeReferenceElement copy = (PsiJavaCodeReferenceElement)refNameElement.copy(); final PsiElement target = copy.resolve(); if (target != null && PsiTreeUtil.getParentOfType(target, PsiClass.class) != aClass) return null; }