UnnecessaryToStringCallInspection: preserve comments on fix (IDEA-CR-29000)

This commit is contained in:
Tagir Valeev
2018-07-03 10:13:16 +07:00
parent 53b6a83c94
commit e9fcd24559
3 changed files with 5 additions and 3 deletions
@@ -1,6 +1,7 @@
// "Replace with 'this'" "true"
class X {
void test(Object x) {
System.out.println(this);
/*comment*/
System.out.println(this);
}
}
@@ -1,6 +1,6 @@
// "Replace with 'this'" "true"
class X {
void test(Object x) {
System.out.println(toStri<caret>ng());
System.out.println(toStri<caret>ng(/*comment*/));
}
}
@@ -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);
}
}