mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-115445 (Unreasonable simplification of code)
This commit is contained in:
+1
-8
@@ -191,9 +191,6 @@ public class PointlessBooleanExpressionInspection extends BaseInspection {
|
||||
private void buildSimplifiedExpression(List<PsiExpression> 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) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
class Boxed {
|
||||
|
||||
void f(Boolean b) {
|
||||
if (!b) {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
class Boxed {
|
||||
|
||||
void f(Boolean b) {
|
||||
if (<caret>b == (false)) {}
|
||||
}
|
||||
}
|
||||
+3
-8
@@ -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(); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user