mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 13:20:53 +07:00
ConvertCompareToToEqualsIntention: support parentheses
This commit is contained in:
@@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.siyeh.ig.psiutils.ExpressionUtils;
|
||||
import com.siyeh.ig.psiutils.MethodCallUtils;
|
||||
@@ -94,8 +95,8 @@ public class ConvertCompareToToEqualsIntention extends BaseElementAtCaretIntenti
|
||||
return null;
|
||||
}
|
||||
PsiMethodCallExpression compareToExpression;
|
||||
final PsiExpression lhs = binaryExpression.getLOperand();
|
||||
final PsiExpression rhs = binaryExpression.getROperand();
|
||||
final PsiExpression lhs = PsiUtil.skipParenthesizedExprDown(binaryExpression.getLOperand());
|
||||
final PsiExpression rhs = PsiUtil.skipParenthesizedExprDown(binaryExpression.getROperand());
|
||||
if (lhs instanceof PsiMethodCallExpression) {
|
||||
compareToExpression = (PsiMethodCallExpression)lhs;
|
||||
if (!MethodCallUtils.isCompareToCall(compareToExpression) || !ExpressionUtils.isZero(rhs)) {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
class X {
|
||||
void m() {
|
||||
|
||||
Integer i1 = new Integer(0);
|
||||
Integer i2 = new Integer(2);
|
||||
|
||||
boolean b = (i1.compareT<caret>o(i2)) == (0);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
|
||||
class X {
|
||||
void m() {
|
||||
|
||||
Integer i1 = new Integer(0);
|
||||
Integer i2 = new Integer(2);
|
||||
|
||||
boolean b = i1.equals(i2)<caret>;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,10 @@ public class ConvertCompareToToEqualsTest extends JavaCodeInsightFixtureTestCase
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testParentheses() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testNotAvailable() {
|
||||
doTestNotAvailable();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user