From 13b04e6d0612e40a73473b3911ac7b7624e7ad50 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Wed, 4 Mar 2020 12:11:27 +0700 Subject: [PATCH] IDEA-234256 QuickFix for "Unnecessary call to 'toString'" could be more explicit GitOrigin-RevId: d8ec1a80004ae2405f78b42a50df0ca2c994d5d3 --- .../unnecessaryTostring/afterSimple.java | 2 +- .../unnecessaryTostring/beforeSimple.java | 2 +- .../ig/style/UnnecessaryToStringCallInspection.java | 13 +++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterSimple.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterSimple.java index b8c4cb1ed8ac..e8f659be4be6 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterSimple.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/afterSimple.java @@ -1,4 +1,4 @@ -// "Fix all 'Unnecessary call to 'toString()'' problems in file" "true" +// "Remove redundant 'toString()' call" "true" class X { void test(Object x) { System.out.println(x); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeSimple.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeSimple.java index e95d58dc95d9..c74fc233c09f 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeSimple.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnecessaryTostring/beforeSimple.java @@ -1,4 +1,4 @@ -// "Fix all 'Unnecessary call to 'toString()'' problems in file" "true" +// "Remove redundant 'toString()' call" "true" class X { void test(Object x) { System.out.println(x.toString()); 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 231bfb6ead5e..e95b066bfb47 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessaryToStringCallInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessaryToStringCallInspection.java @@ -36,8 +36,7 @@ public class UnnecessaryToStringCallInspection extends BaseInspection implements @Override @NotNull protected String buildErrorString(Object... infos) { - final String text = (String)infos[0]; - return InspectionGadgetsBundle.message("unnecessary.tostring.call.problem.descriptor", text); + return InspectionGadgetsBundle.message("unnecessary.tostring.call.problem.descriptor"); } @Override @@ -48,16 +47,18 @@ public class UnnecessaryToStringCallInspection extends BaseInspection implements } private static class UnnecessaryToStringCallFix extends InspectionGadgetsFix { + private final @Nullable String replacementText; - private final String replacementText; - - private UnnecessaryToStringCallFix(String replacementText) { + private UnnecessaryToStringCallFix(@Nullable String replacementText) { this.replacementText = replacementText; } @Override @NotNull public String getName() { + if (replacementText == null) { + return InspectionGadgetsBundle.message("inspection.redundant.string.remove.fix.name", "toString"); + } return CommonQuickFixBundle.message("fix.replace.with.x", replacementText); } @@ -98,7 +99,7 @@ public class UnnecessaryToStringCallInspection extends BaseInspection implements if (referenceNameElement == null) return; PsiExpression qualifier = ExpressionUtils.getEffectiveQualifier(methodExpression); if (qualifier == null) return; - registerError(referenceNameElement, ProblemHighlightType.LIKE_UNUSED_SYMBOL, qualifier.getText()); + registerError(referenceNameElement, ProblemHighlightType.LIKE_UNUSED_SYMBOL, qualifier.isPhysical() ? null : qualifier.getText()); } }