diff --git a/java/java-impl/src/com/siyeh/ig/fixes/InlineVariableFix.java b/java/java-impl/src/com/siyeh/ig/fixes/InlineVariableFix.java index 540a97acc879..6a7e8cbc28aa 100644 --- a/java/java-impl/src/com/siyeh/ig/fixes/InlineVariableFix.java +++ b/java/java-impl/src/com/siyeh/ig/fixes/InlineVariableFix.java @@ -54,9 +54,16 @@ public class InlineVariableFix extends PsiUpdateModCommandQuickFix { replacedElements.add(expression); } - for (PsiElement element : replacedElements) { - updater.highlight(element); - } new CommentTracker().deleteAndRestoreComments(variable); + boolean positioned = false; + for (PsiElement element : replacedElements) { + if (element.isValid()) { + updater.highlight(element); + if (!positioned) { + positioned = true; + updater.moveCaretTo(element); + } + } + } } } \ No newline at end of file diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/inline/NewLineInInitializer.after.java b/java/java-tests/testData/ig/com/siyeh/igfixes/inline/NewLineInInitializer.after.java new file mode 100644 index 000000000000..f8f11f3e6838 --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/inline/NewLineInInitializer.after.java @@ -0,0 +1,10 @@ +import java.util.List; + +public class Demo { + List test(List list) { + return list.stream() + .map(String::toUpperCase) + .map(String::trim) + .toList(); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/ig/com/siyeh/igfixes/inline/NewLineInInitializer.java b/java/java-tests/testData/ig/com/siyeh/igfixes/inline/NewLineInInitializer.java new file mode 100644 index 000000000000..185887f6c4be --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igfixes/inline/NewLineInInitializer.java @@ -0,0 +1,12 @@ +import java.util.List; + +public class Demo { + List test(List list) { + List result = + list.stream() + .map(String::toUpperCase) + .map(String::trim) + .toList(); + return result; + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/siyeh/ig/fixes/InlineVariableFixTest.java b/java/java-tests/testSrc/com/siyeh/ig/fixes/InlineVariableFixTest.java index 10b9c85e93d5..3028113130c3 100644 --- a/java/java-tests/testSrc/com/siyeh/ig/fixes/InlineVariableFixTest.java +++ b/java/java-tests/testSrc/com/siyeh/ig/fixes/InlineVariableFixTest.java @@ -21,4 +21,5 @@ public class InlineVariableFixTest extends IGQuickFixesTestCase { public void testArrayInitializer() { doTest(); } public void testCastForOverloads() { assertQuickfixNotAvailable(); } public void testComment() { doTest(); } + public void testNewLineInInitializer() { doTest(); } }