ComparatorCombinatorsInspection: fixed for incomplete statement (EA-90916)

This commit is contained in:
Tagir Valeev
2016-11-01 09:38:18 +07:00
parent f110385ae0
commit efa6763db1
2 changed files with 14 additions and 1 deletions
@@ -27,8 +27,10 @@ import com.intellij.psi.util.PsiTreeUtil;
import com.siyeh.ig.psiutils.EquivalenceChecker;
import com.siyeh.ig.psiutils.MethodCallUtils;
import one.util.streamex.StreamEx;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
@@ -112,7 +114,9 @@ public class ComparatorCombinatorsInspection extends BaseJavaBatchLocalInspectio
};
}
private static boolean areEquivalent(PsiParameter[] parameters, PsiExpression left, PsiExpression right) {
@Contract("_, null, _ -> false; _, !null, null -> false")
private static boolean areEquivalent(@NotNull PsiParameter[] parameters, @Nullable PsiExpression left, @Nullable PsiExpression right) {
if (left == null || right == null) return false;
if (!PsiTreeUtil.processElements(left, e -> !(e instanceof PsiReferenceExpression) ||
((PsiReferenceExpression)e).resolve() != parameters[1]) ||
!PsiTreeUtil.processElements(right, e -> !(e instanceof PsiReferenceExpression) ||
@@ -0,0 +1,9 @@
// "Replace with Comparator.comparingInt" "false"
import java.util.*;
public class Main {
void sort(List<String> data) {
data.sort((d1, d2) -> d1.le<caret>ngth() - );
}
}