diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java index d3398e53b084..13ae18030a59 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java @@ -227,7 +227,7 @@ public class InvertIfConditionAction extends PsiElementBaseIntentionAction { } } else { if (!(thenBranch instanceof PsiReturnStatement)) { - ifStatement = addAfterWithinCodeBlock(ifStatement, thenBranch); + ifStatement = addAfterWithinCodeBlock(ifStatement, ct.markUnchanged(thenBranch)); } } ct.replaceAndRestoreComments(Objects.requireNonNull(ifStatement.getThenBranch()), statement); @@ -241,14 +241,14 @@ public class InvertIfConditionAction extends PsiElementBaseIntentionAction { element instanceof PsiForeachStatement && flow.getStartOffset(element) + 1 == endOffset) { PsiStatement statement = factory.createStatementFromText("continue;", ifStatement); statement = (PsiStatement)codeStyle.reformat(statement); - ifStatement = addAfterWithinCodeBlock(ifStatement, thenBranch); + ifStatement = addAfterWithinCodeBlock(ifStatement, ct.markUnchanged(thenBranch)); Objects.requireNonNull(ifStatement.getThenBranch()).replace(statement); return ifStatement; } if (element instanceof PsiReturnStatement) { PsiReturnStatement returnStatement = (PsiReturnStatement) element; - ifStatement = addAfterWithinCodeBlock(ifStatement, thenBranch); + ifStatement = addAfterWithinCodeBlock(ifStatement, ct.markUnchanged(thenBranch)); ct.replaceAndRestoreComments(Objects.requireNonNull(ifStatement.getThenBranch()), returnStatement.copy()); ControlFlow flow2 = buildControlFlow(findCodeBlock(ifStatement)); diff --git a/java/java-tests/testData/codeInsight/invertIfCondition/afterTailingContinue.java b/java/java-tests/testData/codeInsight/invertIfCondition/afterTailingContinue.java index 26ddeee2602b..dd600e749309 100644 --- a/java/java-tests/testData/codeInsight/invertIfCondition/afterTailingContinue.java +++ b/java/java-tests/testData/codeInsight/invertIfCondition/afterTailingContinue.java @@ -6,6 +6,7 @@ public class C { continue; } else { + //c1 return; } } diff --git a/java/java-tests/testData/codeInsight/invertIfCondition/beforeTailingContinue.java b/java/java-tests/testData/codeInsight/invertIfCondition/beforeTailingContinue.java index 051a6788bc2f..d99314b3255e 100644 --- a/java/java-tests/testData/codeInsight/invertIfCondition/beforeTailingContinue.java +++ b/java/java-tests/testData/codeInsight/invertIfCondition/beforeTailingContinue.java @@ -3,6 +3,7 @@ public class C { public void test() { for (int i = 0; i < 42; i++) { if (i == 7) { + //c1 return; } continue;