Skip to content

Commit 89e4b2e

Browse files
authored
Apply assorted non-functional improvements (#2054)
Summary of changes: - Improve the intentionality of some code in `AssertJNullnessAssertion`. - Document a possible improvement of `ExplicitArgumentEnumeration`. - Add class documentation to several `AssertJ*Rules` classes. - Update the Checkstyle configuration to better match the Picnic-internal codebase. - Simplify the Surefire system properties configuration.
1 parent 8cc2dd3 commit 89e4b2e

23 files changed

+46
-21
lines changed

error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/AssertJNullnessAssertion.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import com.google.auto.service.AutoService;
1414
import com.google.common.collect.ImmutableSet;
15+
import com.google.common.collect.Iterables;
1516
import com.google.common.collect.Sets;
1617
import com.google.errorprone.BugPattern;
1718
import com.google.errorprone.VisitorState;
@@ -65,11 +66,12 @@ public Description matchMethodInvocation(MethodInvocationTree tree, VisitorState
6566
}
6667

6768
String replacementAssertion = isPositiveAssertion(tree) ? "isNull" : "isNotNull";
68-
SuggestedFix.Builder fix =
69-
SuggestedFixes.renameMethodInvocation(tree, replacementAssertion, state).toBuilder();
70-
tree.getArguments().forEach(arg -> fix.merge(SuggestedFix.delete(arg)));
69+
SuggestedFix fix =
70+
SuggestedFixes.renameMethodInvocation(tree, replacementAssertion, state).toBuilder()
71+
.merge(SuggestedFix.delete(Iterables.getOnlyElement(tree.getArguments())))
72+
.build();
7173

72-
return describeMatch(tree, fix.build());
74+
return describeMatch(tree, fix);
7375
}
7476

7577
private static boolean isPositiveAssertion(MethodInvocationTree tree) {

error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/ExplicitArgumentEnumeration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
// XXX: Besides explicitly enumerated iterables, consider also simplifying expressions that contain
6565
// explicitly enumerated `Stream`s, defined using `Stream.of(...)` or `() -> Stream.of(...)`. This
6666
// would allow simplifying e.g. invocations of `Flux#fromStream` to `Flux#just`.
67+
// XXX: Consider also rewrites in the opposite direction, where `overload(collection.toArray(..))`
68+
// can be simplified to `overload(collection)`, provided that a suitable overload exists.
6769
@AutoService(BugChecker.class)
6870
@BugPattern(
6971
summary = "Iterable creation can be avoided by using a varargs alternative method",

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJBigIntegerRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.assertj.core.api.AbstractBigIntegerAssert;
1111
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1212

13+
/** Refaster rules related to AssertJ assertions over {@link BigInteger}s. */
1314
// XXX: If we add a rule that drops unnecessary `L` suffixes from literal longs, then the `0L`/`1L`
1415
// cases below can go.
1516
@OnlineDocumentation

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJBooleanRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.assertj.core.api.AbstractBooleanAssert;
1111
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1212

13+
/** Refaster rules related to AssertJ assertions over {@code boolean}s. */
1314
@OnlineDocumentation
1415
final class AssertJBooleanRules {
1516
private AssertJBooleanRules() {}

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJByteRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.assertj.core.api.AbstractByteAssert;
1010
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1111

12+
/** Refaster rules related to AssertJ assertions over {@code byte}s. */
1213
@OnlineDocumentation
1314
final class AssertJByteRules {
1415
private AssertJByteRules() {}

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJCharSequenceRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.assertj.core.api.AbstractAssert;
1111
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1212

13+
/** Refaster rules related to AssertJ assertions over {@link CharSequence}s. */
1314
@OnlineDocumentation
1415
final class AssertJCharSequenceRules {
1516
private AssertJCharSequenceRules() {}

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJComparableRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.assertj.core.api.AbstractIntegerAssert;
1111
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1212

13+
/** Refaster rules related to AssertJ assertions over {@link Comparable}s. */
1314
@OnlineDocumentation
1415
final class AssertJComparableRules {
1516
private AssertJComparableRules() {}

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJDoubleRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.assertj.core.data.Offset;
1111
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1212

13+
/** Refaster rules related to AssertJ assertions over {@code double}s. */
1314
@OnlineDocumentation
1415
final class AssertJDoubleRules {
1516
private AssertJDoubleRules() {}

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJEnumerableRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1616
import tech.picnic.errorprone.refaster.matchers.IsEmpty;
1717

18+
/** Refaster rules related to AssertJ assertions over enumerable objects. */
1819
@OnlineDocumentation
1920
final class AssertJEnumerableRules {
2021
private AssertJEnumerableRules() {}

error-prone-contrib/src/main/java/tech/picnic/errorprone/refasterrules/AssertJFloatRules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.assertj.core.data.Offset;
1111
import tech.picnic.errorprone.refaster.annotation.OnlineDocumentation;
1212

13+
/** Refaster rules related to AssertJ assertions over {@code float}s. */
1314
@OnlineDocumentation
1415
final class AssertJFloatRules {
1516
private AssertJFloatRules() {}

0 commit comments

Comments
 (0)