IDEA-216381 Stream.min and Collections.reverseOrder is not simplified to Stream.max

GitOrigin-RevId: 2c91b1cf5b8bc8c3c8beb2a07d65b86654eda425
This commit is contained in:
Tagir Valeev
2019-07-02 06:52:16 +03:00
committed by intellij-monorepo-bot
parent a6051efe2c
commit 5907d8eed1
3 changed files with 5 additions and 1 deletions
@@ -7,6 +7,7 @@ class Test {
Collections.min(list, Comparator.naturalOrder());
list.stream().max(String.CASE_INSENSITIVE_ORDER);
list.stream().min(String.CASE_INSENSITIVE_ORDER);
list.stream().max(Comparator.naturalOrder());
Collector<String, ?, Optional<String>> c = Collectors.minBy(Comparator.comparing(String::length));
}
}
@@ -7,6 +7,7 @@ class Test {
Collections.m<caret>ax(list, Comparator.reverseOrder());
list.stream().min(String.CASE_INSENSITIVE_ORDER.reversed());
list.stream().max(Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER));
list.stream().min(Collections.reverseOrder());
Collector<String, ?, Optional<String>> c = Collectors.maxBy(Comparator.comparing(String::length, Comparator.reverseOrder()));
}
}
@@ -29,7 +29,9 @@ public class RedundantComparatorComparingInspection extends AbstractBaseJavaLoca
private static final CallMatcher COMPARATOR_REVERSED = instanceCall(JAVA_UTIL_COMPARATOR, "reversed").parameterCount(0);
private static final CallMatcher REVERSE_ORDER_FOR_COMPARATOR = staticCall(JAVA_UTIL_COLLECTIONS, "reverseOrder")
.parameterTypes(JAVA_UTIL_COMPARATOR);
private static final CallMatcher REVERSE_ORDER_FOR_NATURAL = staticCall(JAVA_UTIL_COMPARATOR, "reverseOrder").parameterCount(0);
private static final CallMatcher REVERSE_ORDER_FOR_NATURAL = anyOf(
staticCall(JAVA_UTIL_COMPARATOR, "reverseOrder").parameterCount(0),
staticCall(JAVA_UTIL_COLLECTIONS, "reverseOrder").parameterCount(0));
private static final CallMatcher COMPARATOR_COMPARING_WITH_DOWNSTREAM =
staticCall(JAVA_UTIL_COMPARATOR, "comparing").parameterTypes(JAVA_UTIL_FUNCTION_FUNCTION, JAVA_UTIL_COMPARATOR);