diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnLHSOfComparisonInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnLHSOfComparisonInspection.java index ea0d3cf76fdb..ac709e306eb3 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnLHSOfComparisonInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnLHSOfComparisonInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2009 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.InspectionGadgetsFix; import com.siyeh.ig.psiutils.ComparisonUtils; +import com.siyeh.ig.psiutils.ExpressionUtils; import org.jetbrains.annotations.NotNull; public class ConstantOnLHSOfComparisonInspection extends BaseInspection { @@ -68,16 +69,20 @@ public class ConstantOnLHSOfComparisonInspection extends BaseInspection { final PsiBinaryExpression expression = (PsiBinaryExpression) descriptor.getPsiElement(); final PsiExpression rhs = expression.getROperand(); - final PsiExpression lhs = expression.getLOperand(); + if (rhs == null) { + return; + } final PsiJavaToken sign = expression.getOperationSign(); - final String flippedSign = + final String flippedComparison = ComparisonUtils.getFlippedComparison(sign); - assert rhs != null; + if (flippedComparison == null) { + return; + } + final PsiExpression lhs = expression.getLOperand(); final String rhsText = rhs.getText(); final String lhsText = lhs.getText(); replaceExpression(expression, - rhsText + ' ' + flippedSign + ' ' + lhsText); - + rhsText + ' ' + flippedComparison + ' ' + lhsText); } } @@ -87,7 +92,7 @@ public class ConstantOnLHSOfComparisonInspection extends BaseInspection { @Override public void visitBinaryExpression( @NotNull PsiBinaryExpression expression) { super.visitBinaryExpression(expression); - if(!(expression.getROperand() != null)) { + if (!(expression.getROperand() != null)) { return; } if (!ComparisonUtils.isComparison(expression)) { @@ -95,11 +100,16 @@ public class ConstantOnLHSOfComparisonInspection extends BaseInspection { } final PsiExpression lhs = expression.getLOperand(); final PsiExpression rhs = expression.getROperand(); - if (!PsiUtil.isConstantExpression(lhs) - || PsiUtil.isConstantExpression(rhs)) { + if (!isConstantExpression(lhs) + || isConstantExpression(rhs)) { return; } registerError(expression); } + + private boolean isConstantExpression(PsiExpression expression) { + return ExpressionUtils.isNullLiteral(expression) || + PsiUtil.isConstantExpression(expression); + } } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnRHSOfComparisonInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnRHSOfComparisonInspection.java index b4bb9758cb0e..f5a18b238cfd 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnRHSOfComparisonInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ConstantOnRHSOfComparisonInspection.java @@ -27,6 +27,7 @@ import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.InspectionGadgetsFix; import com.siyeh.ig.psiutils.ComparisonUtils; +import com.siyeh.ig.psiutils.ExpressionUtils; import org.jetbrains.annotations.NotNull; public class ConstantOnRHSOfComparisonInspection extends BaseInspection { @@ -71,14 +72,14 @@ public class ConstantOnRHSOfComparisonInspection extends BaseInspection { if (rhs == null) { return; } - final PsiExpression lhs = expression.getLOperand(); final PsiJavaToken sign = expression.getOperationSign(); - final String rhsText = rhs.getText(); final String flippedComparison = ComparisonUtils.getFlippedComparison(sign); if (flippedComparison == null) { return; } + final PsiExpression lhs = expression.getLOperand(); + final String rhsText = rhs.getText(); final String lhsText = lhs.getText(); replaceExpression(expression, rhsText + ' ' + flippedComparison + ' ' + lhsText); @@ -99,11 +100,15 @@ public class ConstantOnRHSOfComparisonInspection extends BaseInspection { } final PsiExpression lhs = expression.getLOperand(); final PsiExpression rhs = expression.getROperand(); - if (!PsiUtil.isConstantExpression(rhs) || - PsiUtil.isConstantExpression(lhs)) { + if (!isConstantExpression(rhs) || isConstantExpression(lhs)) { return; } registerError(expression); } + + private boolean isConstantExpression(PsiExpression expression) { + return ExpressionUtils.isNullLiteral(expression) || + PsiUtil.isConstantExpression(expression); + } } } \ No newline at end of file