From 5e38388822d3f03f55787bea7957ea5660ccbf65 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Wed, 27 Dec 2017 14:57:25 +0700 Subject: [PATCH] DeleteSideEffectsAwareFix: properly delete single-statement if/while/etc. --- .../daemon/impl/quickfix/DeleteSideEffectsAwareFix.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteSideEffectsAwareFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteSideEffectsAwareFix.java index 2271b0c81258..771bf26ecabb 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteSideEffectsAwareFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteSideEffectsAwareFix.java @@ -100,6 +100,10 @@ public class DeleteSideEffectsAwareFix extends LocalQuickFixAndIntentionActionOn PsiStatement lastAdded = BlockUtils.addBefore(statement, statements); statement = Objects.requireNonNull(PsiTreeUtil.getNextSiblingOfType(lastAdded, PsiStatement.class)); } - statement.delete(); + if (statement.getParent() instanceof PsiStatement) { + statement.replace(JavaPsiFacade.getElementFactory(project).createStatementFromText("{}", statement)); + } else { + statement.delete(); + } } }