IDEA-185548 Inspection to remove excessive Comparator.comparing call

This commit is contained in:
Tagir Valeev
2018-01-26 12:27:12 +07:00
parent 88bc353da4
commit 97300d73f1
12 changed files with 201 additions and 0 deletions
@@ -0,0 +1,6 @@
// "Remove 'comparing' call" "true"
import java.util.*;
class Test {
Comparator<String> cmp = Comparator.comparing(String::length).thenComparing(s -> s.charAt(1));
}
@@ -0,0 +1,6 @@
// "Remove 'comparingInt' call and use 'thenComparingInt'" "true"
import java.util.*;
class Test {
Comparator<String> cmp = Comparator.comparing(String::length).thenComparingInt(s -> s.charAt(1));
}
@@ -0,0 +1,11 @@
// "Remove 'comparing' call" "true"
import java.util.Comparator;
import java.util.function.Function;
public class MyFile {
interface Foo extends Function<String, Integer> {}
void test(Foo comparator) {
Comparator<String> cmp = Comparator.comparing(String::length).thenComparing(comparator);
}
}
@@ -0,0 +1,6 @@
// "Remove 'comparing' call" "true"
import java.util.*;
class Test {
Comparator<String> cmp = Comparator.comparing(String::length).thenComparing(Comparator.c<caret>omparing(s -> s.charAt(1)));
}
@@ -0,0 +1,6 @@
// "Remove 'comparingInt' call and use 'thenComparingInt'" "true"
import java.util.*;
class Test {
Comparator<String> cmp = Comparator.comparing(String::length).thenComparing(Comparator.c<caret>omparingInt(s -> s.charAt(1)));
}
@@ -0,0 +1,11 @@
// "Remove 'comparing' call" "true"
import java.util.Comparator;
import java.util.function.Function;
public class MyFile {
interface Foo extends Function<String, Integer> {}
void test(Foo comparator) {
Comparator<String> cmp = Comparator.comparing(String::length).thenComparing(Comparator.comp<caret>aring(comparator));
}
}
@@ -0,0 +1,12 @@
// "Remove 'comparing' call" "false"
import java.util.Comparator;
import java.util.function.Function;
public class MyFile {
interface Foo extends Function<String, Integer>, Comparator<String> {}
void test(Foo comparator) {
// replacement will make the call ambiguous, thus not suggested
Comparator<String> cmp = Comparator.comparing(String::length).thenComparing(Comparator.comp<caret>aring(comparator));
}
}