From e9fcd24559f69058a96a8abbf09117a6762fb2a9 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Tue, 3 Jul 2018 10:09:15 +0700 Subject: [PATCH] UnnecessaryToStringCallInspection: preserve comments on fix (IDEA-CR-29000) --- .../unnecessaryTostring/afterUnqualified.java | 3 ++- .../unnecessaryTostring/beforeUnqualified.java | 2 +- .../com/siyeh/ig/style/UnnecessaryToStringCallInspection.java | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterUnqualified.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterUnqualified.java index 60a3af988d44..643caa87f6f3 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterUnqualified.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterUnqualified.java @@ -1,6 +1,7 @@ // "Replace with 'this'" "true" class X { void test(Object x) { - System.out.println(this); + /*comment*/ + System.out.println(this); } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeUnqualified.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeUnqualified.java index 1b89fbe8018d..7026dac10ce3 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeUnqualified.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeUnqualified.java @@ -1,6 +1,6 @@ // "Replace with 'this'" "true" class X { void test(Object x) { - System.out.println(toString()); + System.out.println(toString(/*comment*/)); } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessaryToStringCallInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessaryToStringCallInspection.java index 15f3cc073789..437e4baf2248 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessaryToStringCallInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessaryToStringCallInspection.java @@ -25,6 +25,7 @@ import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.InspectionGadgetsFix; +import com.siyeh.ig.psiutils.CommentTracker; import com.siyeh.ig.psiutils.ExpressionUtils; import com.siyeh.ig.psiutils.TypeUtils; import org.jetbrains.annotations.*; @@ -79,7 +80,7 @@ public class UnnecessaryToStringCallInspection extends BaseInspection implements if (!isRedundantToString(call)) return; final PsiReferenceExpression methodExpression = call.getMethodExpression(); final PsiExpression qualifier = ExpressionUtils.getQualifierOrThis(methodExpression); - call.replace(qualifier); + new CommentTracker().replaceAndRestoreComments(call, qualifier); } }