diff --git a/java/java-impl/src/com/intellij/codeInspection/MoveFieldAssignmentToInitializerInspection.java b/java/java-impl/src/com/intellij/codeInspection/MoveFieldAssignmentToInitializerInspection.java index 4775bc1a8820..69c6fb554557 100644 --- a/java/java-impl/src/com/intellij/codeInspection/MoveFieldAssignmentToInitializerInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/MoveFieldAssignmentToInitializerInspection.java @@ -241,11 +241,12 @@ public class MoveFieldAssignmentToInitializerInspection extends AbstractBaseJava parent instanceof PsiWhileStatement || parent instanceof PsiForStatement || parent instanceof PsiForeachStatement) { - ct.replaceAndRestoreComments(statement, ";"); + ct.replace(statement, ";"); } else { - ct.deleteAndRestoreComments(statement); + ct.delete(statement); } + ct.insertCommentsBefore(field); // if we replace/delete several assignments we want to restore comments at each place separately ct = new CommentTracker(); } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/after2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/after2.java index fead87ae1ec4..eb4a5a12b5e4 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/after2.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/after2.java @@ -1,13 +1,13 @@ // "Move assignment to field declaration" "INFORMATION" class X { - int f = 0; + //sds + int f = 0; X() { } X(int i) { if (1==1) ; else { - //sds } } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentAfter.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentAfter.java index cc717f1e2be9..a4625eefded8 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentAfter.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentAfter.java @@ -1,9 +1,9 @@ // "Move assignment to field declaration" "true" class X { - String ff = ""; + //comment + String ff = ""; void f() { - //comment } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentInside.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentInside.java new file mode 100644 index 000000000000..e6ba00faa7f1 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/afterCommentInside.java @@ -0,0 +1,9 @@ +// "Move assignment to field declaration" "true" + +class X { + String e, //comment + ff = ""; + + void f() { + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/beforeCommentInside.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/beforeCommentInside.java new file mode 100644 index 000000000000..a9a6ee6f0f92 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer/beforeCommentInside.java @@ -0,0 +1,10 @@ +// "Move assignment to field declaration" "true" + +class X { + String e, ff; + + void f() { + ff = //comment + ""; + } +} \ No newline at end of file