ExcessiveLambdaUsageInspection: support Java 9 requireNonNullElseGet

This commit is contained in:
Tagir Valeev
2017-09-13 10:46:01 +07:00
parent 626278150e
commit 308e007dd8
3 changed files with 19 additions and 0 deletions
@@ -42,6 +42,7 @@ public class ExcessiveLambdaUsageInspection extends BaseJavaBatchLocalInspection
new ExcessiveLambdaInfo("java.util.OptionalDouble", "orElseGet", "orElse", 0, true),
new ExcessiveLambdaInfo("com.google.common.base.Optional", "or", "*", 0, true),
new ExcessiveLambdaInfo("java.util.Objects", "requireNonNull", "*", 1, true),
new ExcessiveLambdaInfo("java.util.Objects", "requireNonNullElseGet", "requireNonNullElse", 1, true),
new ExcessiveLambdaInfo("org.junit.jupiter.api.Assertions", "assert(?!Timeout).*|fail", "*", -1, true),
new ExcessiveLambdaInfo("org.junit.jupiter.api.Assertions", "assert(True|False)", "*", 0, true),
};
@@ -0,0 +1,9 @@
// "Use 'requireNonNullElse' method without lambda" "true"
import java.util.*;
class Test {
public String test(String foo, String bar) {
return Objects.requireNonNullElse(foo, bar);
}
}
@@ -0,0 +1,9 @@
// "Use 'requireNonNullElse' method without lambda" "true"
import java.util.*;
class Test {
public String test(String foo, String bar) {
return Objects.requireNonNullElseGet(foo, () <caret>-> bar);
}
}