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; + } }