From c69fc7d594eb360c1778c4bcad6efdce0f4a42f6 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 6 Jul 2018 12:43:08 +0700 Subject: [PATCH] LengthOneStringInConcatenationInspection: support parentheses --- .../LengthOneStringsInConcatenationInspection.java | 3 ++- .../LengthOneStringInConcatenationInspection.java | 1 + .../length_one_strings_in_concatenation/expected.xml | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java index 7023c85df437..d51f2e1edfe0 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/performance/LengthOneStringsInConcatenationInspection.java @@ -19,6 +19,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtil; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; @@ -118,7 +119,7 @@ public class LengthOneStringsInConcatenationInspection } static boolean isArgumentOfStringAppend(PsiExpression expression) { - final PsiElement parent = expression.getParent(); + final PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression.getParent()); if (parent == null) { return false; } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/LengthOneStringInConcatenationInspection.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/LengthOneStringInConcatenationInspection.java index c2644df1f70f..80195c182b2b 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/LengthOneStringInConcatenationInspection.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/LengthOneStringInConcatenationInspection.java @@ -23,5 +23,6 @@ public class LengthOneStringInConcatenationInspection System.out.println(1 + "b" + "asdf"); System.out.println("a" + ); System.out.println("asdf" + ("b") + 2); + buffer2.append(("p")); } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/expected.xml b/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/expected.xml index 92cd772b9312..031e42c74222 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/expected.xml +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/performance/length_one_strings_in_concatenation/expected.xml @@ -55,4 +55,11 @@ Single character string concatenation <code>"b"</code> can be replaced with 'b' #loc + + + LengthOneStringInConcatenationInspection.java + 26 + Single character string concatenation + <code>"p"</code> can be replaced with 'p' #loc + \ No newline at end of file