From 2a377576df9bdfab0e5173823c88c8a5b63ad26f Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Sat, 26 Oct 2013 21:56:59 +0200 Subject: [PATCH] IDEA-115445 (Unreasonable simplification of code) --- .../PointlessBooleanExpressionInspection.java | 9 +-------- .../siyeh/igfixes/pointlessboolean/Boxed.after.java | 6 ++++++ .../com/siyeh/igfixes/pointlessboolean/Boxed.java | 6 ++++++ .../ig/fixes/PointlessBooleanExpressionFixTest.java | 11 +++-------- 4 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.after.java create mode 100644 plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.java diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java index 917abf205177..84fd5141e9ba 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/controlflow/PointlessBooleanExpressionInspection.java @@ -191,9 +191,6 @@ public class PointlessBooleanExpressionInspection extends BaseInspection { private void buildSimplifiedExpression(List expressions, String token, boolean negate, StringBuilder out) { if (expressions.size() == 1) { final PsiExpression expression = expressions.get(0); - if (isBoxedTypeComparison(token, expression)) { - out.append(expression.getText()).append(" != null && "); - } if (!negate) { out.append(expression.getText()); return; @@ -243,10 +240,6 @@ public class PointlessBooleanExpressionInspection extends BaseInspection { } } - private static boolean isBoxedTypeComparison(String token, PsiExpression expression) { - return ("==".equals(token) || "!=".equals(token)) && expression instanceof PsiReferenceExpression && expression.getType() instanceof PsiClassType; - } - private void buildSimplifiedPrefixExpression(PsiPrefixExpression expression, StringBuilder out) { final PsiJavaToken sign = expression.getOperationSign(); final IElementType tokenType = sign.getTokenType(); @@ -398,7 +391,7 @@ public class PointlessBooleanExpressionInspection extends BaseInspection { } } final Boolean value = (Boolean)ConstantExpressionUtil.computeCastTo(expression, PsiType.BOOLEAN); - return value != null ? value.booleanValue() : null; + return value != null ? value : null; } private static boolean containsReference(@Nullable PsiExpression expression) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.after.java new file mode 100644 index 000000000000..f7a238bc5c66 --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.after.java @@ -0,0 +1,6 @@ +class Boxed { + + void f(Boolean b) { + if (!b) {} + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.java new file mode 100644 index 000000000000..c56deb2532d1 --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/pointlessboolean/Boxed.java @@ -0,0 +1,6 @@ +class Boxed { + + void f(Boolean b) { + if (b == (false)) {} + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/PointlessBooleanExpressionFixTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/PointlessBooleanExpressionFixTest.java index 30a81c245adb..ca7ed5f335c3 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/PointlessBooleanExpressionFixTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/PointlessBooleanExpressionFixTest.java @@ -29,12 +29,7 @@ public class PointlessBooleanExpressionFixTest extends IGQuickFixesTestCase { myDefaultHint = InspectionGadgetsBundle.message("pointless.bitwise.expression.simplify.quickfix"); } - - public void testNegation() { - doTest(); - } - - public void testPolyadic() { - doTest(); - } + public void testNegation() { doTest(); } + public void testPolyadic() { doTest(); } + public void testBoxed() { doTest(); } }