From 53b577b74ff7d2263d6bf5680e3997802d391b21 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 13 Dec 2012 15:47:58 +0100 Subject: [PATCH] skip non code usages during check for writable on safe delete (IDEA-97458) --- .../com/intellij/refactoring/BaseRefactoringProcessor.java | 5 +++++ .../intellij/refactoring/safeDelete/SafeDeleteProcessor.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java index 6256e4e40bd2..08d6922855fb 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java @@ -282,10 +282,15 @@ public abstract class BaseRefactoringProcessor { showUsageView(viewDescriptor, factory, usages); } + protected boolean skipNonCodeUsages() { + return false; + } + private boolean ensureElementsWritable(@NotNull final UsageInfo[] usages, final UsageViewDescriptor descriptor) { Set elements = new THashSet(); for (UsageInfo usage : usages) { assert usage != null: "Found null element in usages array"; + if (skipNonCodeUsages() && usage.isNonCodeUsage()) continue; PsiElement element = usage.getElement(); if (element != null) elements.add(element); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java index aad492208900..5c3d349b5490 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java @@ -472,4 +472,9 @@ public class SafeDeleteProcessor extends BaseRefactoringProcessor { public void setSearchNonJava(boolean searchNonJava) { mySearchNonJava = searchNonJava; } + + @Override + protected boolean skipNonCodeUsages() { + return true; + } }