mirror of
https://github.com/jlengrand/error-prone-support.git
synced 2026-03-10 08:11:25 +00:00
Extend {Is,Non}NullFunction Refaster rules (#1494)
While there, simplify the associated tests.
This commit is contained in:
@@ -3,6 +3,7 @@ package tech.picnic.errorprone.refasterrules;
|
||||
import static com.google.errorprone.refaster.ImportPolicy.STATIC_IMPORT_ALWAYS;
|
||||
import static java.util.Objects.requireNonNullElse;
|
||||
import static java.util.Objects.requireNonNullElseGet;
|
||||
import static java.util.function.Predicate.not;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.errorprone.refaster.Refaster;
|
||||
@@ -94,11 +95,14 @@ final class NullRules {
|
||||
}
|
||||
}
|
||||
|
||||
/** Prefer {@link Objects#isNull(Object)} over the equivalent lambda function. */
|
||||
/**
|
||||
* Prefer {@link Objects#isNull(Object)} over the equivalent lambda function or more contrived
|
||||
* alternatives.
|
||||
*/
|
||||
static final class IsNullFunction<T> {
|
||||
@BeforeTemplate
|
||||
Predicate<T> before() {
|
||||
return o -> o == null;
|
||||
return Refaster.anyOf(o -> o == null, not(Objects::nonNull));
|
||||
}
|
||||
|
||||
@AfterTemplate
|
||||
@@ -107,11 +111,14 @@ final class NullRules {
|
||||
}
|
||||
}
|
||||
|
||||
/** Prefer {@link Objects#nonNull(Object)} over the equivalent lambda function. */
|
||||
/**
|
||||
* Prefer {@link Objects#nonNull(Object)} over the equivalent lambda function or more contrived
|
||||
* alternatives.
|
||||
*/
|
||||
static final class NonNullFunction<T> {
|
||||
@BeforeTemplate
|
||||
Predicate<T> before() {
|
||||
return o -> o != null;
|
||||
return Refaster.anyOf(o -> o != null, not(Objects::isNull));
|
||||
}
|
||||
|
||||
@AfterTemplate
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
package tech.picnic.errorprone.refasterrules;
|
||||
|
||||
import static java.util.function.Predicate.not;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Stream;
|
||||
import java.util.function.Predicate;
|
||||
import tech.picnic.errorprone.refaster.test.RefasterRuleCollectionTestCase;
|
||||
|
||||
final class NullRulesTest implements RefasterRuleCollectionTestCase {
|
||||
@Override
|
||||
public ImmutableSet<Object> elidedTypesAndStaticImports() {
|
||||
return ImmutableSet.of(MoreObjects.class, Optional.class);
|
||||
return ImmutableSet.of(MoreObjects.class, Optional.class, not(null));
|
||||
}
|
||||
|
||||
ImmutableSet<Boolean> testIsNull() {
|
||||
@@ -30,11 +32,11 @@ final class NullRulesTest implements RefasterRuleCollectionTestCase {
|
||||
return Optional.ofNullable("foo").orElseGet(() -> "bar");
|
||||
}
|
||||
|
||||
long testIsNullFunction() {
|
||||
return Stream.of("foo").filter(s -> s == null).count();
|
||||
ImmutableSet<Predicate<String>> testIsNullFunction() {
|
||||
return ImmutableSet.of(s -> s == null, not(Objects::nonNull));
|
||||
}
|
||||
|
||||
long testNonNullFunction() {
|
||||
return Stream.of("foo").filter(s -> s != null).count();
|
||||
ImmutableSet<Predicate<String>> testNonNullFunction() {
|
||||
return ImmutableSet.of(s -> s != null, not(Objects::isNull));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,18 +2,19 @@ package tech.picnic.errorprone.refasterrules;
|
||||
|
||||
import static java.util.Objects.requireNonNullElse;
|
||||
import static java.util.Objects.requireNonNullElseGet;
|
||||
import static java.util.function.Predicate.not;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Stream;
|
||||
import java.util.function.Predicate;
|
||||
import tech.picnic.errorprone.refaster.test.RefasterRuleCollectionTestCase;
|
||||
|
||||
final class NullRulesTest implements RefasterRuleCollectionTestCase {
|
||||
@Override
|
||||
public ImmutableSet<Object> elidedTypesAndStaticImports() {
|
||||
return ImmutableSet.of(MoreObjects.class, Optional.class);
|
||||
return ImmutableSet.of(MoreObjects.class, Optional.class, not(null));
|
||||
}
|
||||
|
||||
ImmutableSet<Boolean> testIsNull() {
|
||||
@@ -32,11 +33,11 @@ final class NullRulesTest implements RefasterRuleCollectionTestCase {
|
||||
return requireNonNullElseGet("foo", () -> "bar");
|
||||
}
|
||||
|
||||
long testIsNullFunction() {
|
||||
return Stream.of("foo").filter(Objects::isNull).count();
|
||||
ImmutableSet<Predicate<String>> testIsNullFunction() {
|
||||
return ImmutableSet.of(Objects::isNull, Objects::isNull);
|
||||
}
|
||||
|
||||
long testNonNullFunction() {
|
||||
return Stream.of("foo").filter(Objects::nonNull).count();
|
||||
ImmutableSet<Predicate<String>> testNonNullFunction() {
|
||||
return ImmutableSet.of(Objects::nonNull, Objects::nonNull);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user