From 711d618f51fa91dd47a8aed29df1006a82fa575e Mon Sep 17 00:00:00 2001 From: Danila Ponomarenko Date: Fri, 29 Jun 2012 16:27:50 +0400 Subject: [PATCH] IDEA-87966 Pointless boolean expression inspection: false positive fixed --- ...reakStringOnLineBreaksIntentionAction.java | 3 +- .../PointlessBooleanExpressionInspection.java | 38 ++++++++----------- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java index ea3398efff57..8dc97d1c0c15 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java @@ -47,12 +47,11 @@ public class BreakStringOnLineBreaksIntentionAction extends PsiElementBaseIntent } final int indexOfSlashN = text.indexOf("\\n"); - final int indexOfSlashNSlashR = text.indexOf("\\n\\r"); - if (indexOfSlashN == -1 || Comparing.equal(text.substring(indexOfSlashN, text.length()), "\\n\"")){ return false; } + final int indexOfSlashNSlashR = text.indexOf("\\n\\r"); if (indexOfSlashNSlashR != -1 && Comparing.equal(text.substring(indexOfSlashNSlashR, text.length()), "\\n\\r\"")){ return false; } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java index 199b3fd95214..a2f1a951ae37 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java @@ -38,18 +38,15 @@ import java.util.Set; public class PointlessBooleanExpressionInspection extends BaseInspection { - private static final Set booleanTokens = new HashSet(7); - - static { - booleanTokens.add(JavaTokenType.ANDAND); - booleanTokens.add(JavaTokenType.AND); - booleanTokens.add(JavaTokenType.OROR); - booleanTokens.add(JavaTokenType.OR); - booleanTokens.add(JavaTokenType.XOR); - booleanTokens.add(JavaTokenType.EQEQ); - booleanTokens.add(JavaTokenType.NE); - } - + private static final Set booleanTokens = new HashSet() {{ + add(JavaTokenType.ANDAND); + add(JavaTokenType.AND); + add(JavaTokenType.OROR); + add(JavaTokenType.OR); + add(JavaTokenType.XOR); + add(JavaTokenType.EQEQ); + add(JavaTokenType.NE); + }}; /** * @noinspection PublicField @@ -172,10 +169,8 @@ public class PointlessBooleanExpressionInspection extends BaseInspection { private static String createStringForNegatedExpression(PsiExpression exp) { if (ComparisonUtils.isComparison(exp)) { - final PsiBinaryExpression binaryExpression = - (PsiBinaryExpression)exp; - final String negatedComparison = - ComparisonUtils.getNegatedComparison(binaryExpression.getOperationTokenType()); + final PsiBinaryExpression binaryExpression = (PsiBinaryExpression)exp; + final String negatedComparison = ComparisonUtils.getNegatedComparison(binaryExpression.getOperationTokenType()); final PsiExpression lhs = binaryExpression.getLOperand(); final PsiExpression rhs = binaryExpression.getROperand(); assert rhs != null; @@ -314,16 +309,13 @@ public class PointlessBooleanExpressionInspection extends BaseInspection { } final boolean isPointless; - if (sign.equals(JavaTokenType.EQEQ) || - sign.equals(JavaTokenType.NE)) { + if (sign.equals(JavaTokenType.EQEQ) || sign.equals(JavaTokenType.NE)) { isPointless = equalityExpressionIsPointless(operands); } - else if (sign.equals(JavaTokenType.ANDAND) || - sign.equals(JavaTokenType.AND)) { + else if (sign.equals(JavaTokenType.ANDAND) || sign.equals(JavaTokenType.AND)) { isPointless = andExpressionIsPointless(operands); } - else if (sign.equals(JavaTokenType.OROR) || - sign.equals(JavaTokenType.OR)) { + else if (sign.equals(JavaTokenType.OROR) || sign.equals(JavaTokenType.OR)) { isPointless = orExpressionIsPointless(operands); } else if (sign.equals(JavaTokenType.XOR)) { @@ -384,7 +376,7 @@ public class PointlessBooleanExpressionInspection extends BaseInspection { @Nullable private Boolean evaluate(@Nullable PsiExpression expression) { if (m_ignoreExpressionsContainingConstants && !(expression instanceof PsiLiteralExpression)) { - return false; + return null; } if (expression == null) {