mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-216381 exclude non-comparable collection elements (IDEA-CR-48589)
GitOrigin-RevId: 58ab178f4b0c6662a08949c5adbc95fe64b3e770
This commit is contained in:
committed by
intellij-monorepo-bot
parent
6cc1a148ac
commit
77e2d54bb0
+2
@@ -8,6 +8,8 @@ class Test {
|
||||
list.stream().max(String.CASE_INSENSITIVE_ORDER);
|
||||
list.stream().min(String.CASE_INSENSITIVE_ORDER);
|
||||
list.stream().max(Comparator.naturalOrder());
|
||||
List<Object> list2 = Arrays.asList("a", "b", "c");
|
||||
list2.stream().min(Collections.reverseOrder());
|
||||
Collector<String, ?, Optional<String>> c = Collectors.minBy(Comparator.comparing(String::length));
|
||||
}
|
||||
}
|
||||
+2
@@ -8,6 +8,8 @@ class Test {
|
||||
list.stream().min(String.CASE_INSENSITIVE_ORDER.reversed());
|
||||
list.stream().max(Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER));
|
||||
list.stream().min(Collections.reverseOrder());
|
||||
List<Object> list2 = Arrays.asList("a", "b", "c");
|
||||
list2.stream().min(Collections.reverseOrder());
|
||||
Collector<String, ?, Optional<String>> c = Collectors.maxBy(Comparator.comparing(String::length, Comparator.reverseOrder()));
|
||||
}
|
||||
}
|
||||
+5
@@ -3,6 +3,7 @@ package com.intellij.codeInspection;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
@@ -116,6 +117,10 @@ public class RedundantComparatorComparingInspection extends AbstractBaseJavaLoca
|
||||
}
|
||||
}
|
||||
if (REVERSE_ORDER_FOR_NATURAL.test(call)) {
|
||||
if (!InheritanceUtil.isInheritor(PsiUtil.substituteTypeParameter(call.getType(), JAVA_UTIL_COMPARATOR, 0, false),
|
||||
JAVA_LANG_COMPARABLE)) {
|
||||
return null;
|
||||
}
|
||||
PsiReferenceParameterList parameterList = call.getMethodExpression().getParameterList();
|
||||
return JAVA_UTIL_COMPARATOR + "."+(parameterList == null ? "" : ct.text(parameterList))+"naturalOrder()";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user