diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java index 713e7681ecb1..8a435867228c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java @@ -193,6 +193,7 @@ public class ConvertSwitchToIfIntention implements IntentionActionWithFixAllOpti JavaCodeStyleManager javaCodeStyleManager = JavaCodeStyleManager.getInstance(project); if (hadSideEffects) { if (declarationString == null) { + sideEffectExpressions.forEach(commentTracker::markUnchanged); PsiStatement[] statements = StatementExtractor.generateStatements(sideEffectExpressions, switchExpression); for (PsiStatement statement : statements) { javaCodeStyleManager.shortenClassReferences(parent.addBefore(statement, switchStatement)); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterEmptySideEffectComments.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterEmptySideEffectComments.java new file mode 100644 index 000000000000..0697e88aac58 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterEmptySideEffectComments.java @@ -0,0 +1,9 @@ +// "Unwrap 'switch'" "true-preview" +class X { + void test(int i) { + int x; + x = ((--i/*text*/) + "1" + (++i) + "1"); + System.out.println("1"); + ; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeEmptySideEffectComments.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeEmptySideEffectComments.java new file mode 100644 index 000000000000..7b23a35e5cc3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeEmptySideEffectComments.java @@ -0,0 +1,9 @@ +// "Unwrap 'switch'" "true-preview" +class X { + void test(int i) { + int x; + switch ("1" + (x= ((--i/*text*/) + "1" + (++i) + "1"))) { + default -> System.out.println("1"); + }; + } +} \ No newline at end of file