replace unused parameter fix with safe delete in onTheFly mode: deep parameter delete is enabled this way

This commit is contained in:
Anna Kozlova
2014-11-20 11:41:23 +01:00
parent 2382102e7b
commit 6d73d68b6a
6 changed files with 13 additions and 6 deletions

View File

@@ -23,8 +23,10 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiParameter;
import com.intellij.psi.PsiSubstitutor;
import com.intellij.refactoring.safeDelete.SafeDeleteHandler;
import com.intellij.refactoring.safeDelete.SafeDeleteProcessor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -53,7 +55,12 @@ public class SafeDeleteFix extends LocalQuickFixAndIntentionActionOnPsiElement {
@NotNull PsiElement startElement,
@NotNull PsiElement endElement) {
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
SafeDeleteHandler.invoke(project, new PsiElement[]{startElement}, false);
final PsiElement[] elements = {startElement};
if (startElement instanceof PsiParameter) {
SafeDeleteProcessor.createInstance(project, null, elements, false, false, true).run();
} else {
SafeDeleteHandler.invoke(project, elements, false);
}
}
@Override

View File

@@ -665,7 +665,7 @@ public class QuickFixFactoryImpl extends QuickFixFactory {
Collections.addAll(options, SuppressIntentionActionFromFix.convertBatchToSuppressIntentionActions(batchSuppressActions));
}
//need suppress from Unused Parameters but settings from Unused Symbol
QuickFixAction.registerQuickFixAction((HighlightInfo)highlightInfo, new RemoveUnusedParameterFix(parameter),
QuickFixAction.registerQuickFixAction((HighlightInfo)highlightInfo, new SafeDeleteFix(parameter),
options, HighlightDisplayKey.getDisplayNameByKey(myUnusedSymbolKey));
}

View File

@@ -1,4 +1,4 @@
// "Remove Parameter 'i'" "true"
// "Safe delete 'i'" "true"
import java.io.*;
class a {

View File

@@ -1,4 +1,4 @@
// "Remove Parameter 'i'" "true"
// "Safe delete 'i'" "true"
import java.io.*;
class a {

View File

@@ -1,4 +1,4 @@
// "Remove Parameter 'i'" "true"
// "Safe delete 'i'" "true"
import java.io.*;
class a {

View File

@@ -1,4 +1,4 @@
// "Remove Parameter 'i'" "true"
// "Safe delete 'i'" "true"
import java.io.*;
class a {