make "Non-constant string concatenation as argument to logging call" inspection quickfix remove unnecessary parentheses

This commit is contained in:
Bas Leijdekkers
2013-03-27 15:39:54 +01:00
parent 09d11add90
commit edf34b2981
2 changed files with 11 additions and 5 deletions
@@ -25,6 +25,7 @@ import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.InspectionGadgetsFix;
import com.siyeh.ig.psiutils.ExpressionUtils;
import com.siyeh.ig.psiutils.ParenthesesUtils;
import com.siyeh.ig.psiutils.TypeUtils;
import gnu.trove.THashSet;
import org.jetbrains.annotations.Nls;
@@ -143,7 +144,7 @@ public class StringConcatenationArgumentToLogCallInspection extends BaseInspecti
final String text = operand.getText();
final int count = StringUtil.getOccurrenceCount(text, "{}");
for (int i = 0; i < count && usedArguments + i < arguments.length; i++) {
newArguments.add((PsiExpression)arguments[i + usedArguments].copy());
newArguments.add(ParenthesesUtils.stripParentheses((PsiExpression)arguments[i + usedArguments].copy()));
}
usedArguments += count;
if (!inStringLiteral) {
@@ -167,7 +168,7 @@ public class StringConcatenationArgumentToLogCallInspection extends BaseInspecti
}
}
else {
newArguments.add((PsiExpression)operand.copy());
newArguments.add(ParenthesesUtils.stripParentheses((PsiExpression)operand.copy()));
if (!inStringLiteral) {
if (addPlus) {
newMethodCall.append('+');
@@ -195,13 +196,18 @@ public class StringConcatenationArgumentToLogCallInspection extends BaseInspecti
else {
comma =true;
}
newMethodCall.append(newArgument.getText());
if (newArgument != null) {
newMethodCall.append(newArgument.getText());
}
}
newMethodCall.append('}');
}
else {
for (PsiExpression newArgument : newArguments) {
newMethodCall.append(',').append(newArgument.getText());
newMethodCall.append(',');
if (newArgument != null) {
newMethodCall.append(newArgument.getText());
}
}
}
newMethodCall.append(')');
@@ -6,6 +6,6 @@ class UseOfConstant {
Logger logger = LoggerFactory.getLogger(UseOfConstant.class);
final String CONST = "const";
String var = "var";
logger.in<caret>fo("string " + var + CONST);
logger.in<caret>fo("string " + (var) + CONST);
}
}