Skip to content

Commit 97bd188

Browse files
committed
chore: replace List<@nullable Object> with List<?>
The latter is easier to read, and it forbids list.add(...) at the compile-time. See https://jspecify.dev/docs/user-guide/#wildcard-bounds
1 parent 934d05e commit 97bd188

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,7 @@ public static <T> Try<Object> tryToReadFieldValue(Class<T> clazz, String fieldNa
656656
* @return an immutable list of the values of the specified fields; never
657657
* {@code null} but may be empty or contain {@code null} entries
658658
*/
659-
public static List<@Nullable Object> readFieldValues(List<Field> fields, @Nullable Object instance) {
659+
public static List<?> readFieldValues(List<Field> fields, @Nullable Object instance) {
660660
return readFieldValues(fields, instance, field -> true);
661661
}
662662

@@ -673,8 +673,7 @@ public static <T> Try<Object> tryToReadFieldValue(Class<T> clazz, String fieldNa
673673
* @return an immutable list of the values of the specified fields; never
674674
* {@code null} but may be empty or contain {@code null} entries
675675
*/
676-
public static List<@Nullable Object> readFieldValues(List<Field> fields, @Nullable Object instance,
677-
Predicate<Field> predicate) {
676+
public static List<?> readFieldValues(List<Field> fields, @Nullable Object instance, Predicate<Field> predicate) {
678677
Preconditions.notNull(fields, "fields list must not be null");
679678
Preconditions.notNull(predicate, "Predicate must not be null");
680679

platform-tests/src/test/java/org/junit/platform/commons/util/ReflectionUtilsTests.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import java.util.stream.IntStream;
6161
import java.util.stream.Stream;
6262

63+
import org.assertj.core.api.Assertions;
6364
import org.jspecify.annotations.Nullable;
6465
import org.junit.jupiter.api.Nested;
6566
import org.junit.jupiter.api.Test;
@@ -1953,7 +1954,8 @@ void readFieldValuesFromInstance() {
19531954

19541955
var values = readFieldValues(fields, new ClassWithFields());
19551956

1956-
assertThat(values).containsExactly("enigma", 3.14, "text", 2.5, null, 42, "constant", 99);
1957+
Assertions.<Object> assertThat(values).containsExactly("enigma", 3.14, "text", 2.5, null, 42, "constant",
1958+
99);
19571959
}
19581960

19591961
@Test
@@ -1962,7 +1964,7 @@ void readFieldValuesFromClass() {
19621964

19631965
var values = readFieldValues(fields, null);
19641966

1965-
assertThat(values).containsExactly(2.5, "constant", 99);
1967+
Assertions.<Object> assertThat(values).containsExactly(2.5, "constant", 99);
19661968
}
19671969

19681970
/**
@@ -1973,15 +1975,15 @@ void readFieldValuesFromClass() {
19731975
void readFieldValuesFromInterfacesAndClassesInTypeHierarchy() {
19741976
var fields = findFields(InterfaceWithField.class, ReflectionUtils::isStatic, TOP_DOWN);
19751977
var values = readFieldValues(fields, null);
1976-
assertThat(values).containsOnly("ifc");
1978+
Assertions.<Object> assertThat(values).containsOnly("ifc");
19771979

19781980
fields = findFields(SuperclassWithFieldAndFieldFromInterface.class, ReflectionUtils::isStatic, TOP_DOWN);
19791981
values = readFieldValues(fields, null);
1980-
assertThat(values).containsExactly("ifc", "super");
1982+
Assertions.<Object> assertThat(values).containsExactly("ifc", "super");
19811983

19821984
fields = findFields(SubclassWithFieldAndFieldFromInterface.class, ReflectionUtils::isStatic, TOP_DOWN);
19831985
values = readFieldValues(fields, null);
1984-
assertThat(values).containsExactly("ifc", "super", "sub");
1986+
Assertions.<Object> assertThat(values).containsExactly("ifc", "super", "sub");
19851987
}
19861988

19871989
@Test
@@ -1990,7 +1992,7 @@ void readFieldValuesFromInstanceWithTypeFilterForString() {
19901992

19911993
var values = readFieldValues(fields, new ClassWithFields(), isA(String.class));
19921994

1993-
assertThat(values).containsExactly("enigma", "text", null, "constant");
1995+
Assertions.<Object> assertThat(values).containsExactly("enigma", "text", null, "constant");
19941996
}
19951997

19961998
@Test
@@ -1999,7 +2001,7 @@ void readFieldValuesFromClassWithTypeFilterForString() {
19992001

20002002
var values = readFieldValues(fields, null, isA(String.class));
20012003

2002-
assertThat(values).containsExactly("constant");
2004+
Assertions.<Object> assertThat(values).containsExactly("constant");
20032005
}
20042006

20052007
@Test
@@ -2008,7 +2010,7 @@ void readFieldValuesFromInstanceWithTypeFilterForInteger() {
20082010

20092011
var values = readFieldValues(fields, new ClassWithFields(), isA(int.class));
20102012

2011-
assertThat(values).containsExactly(42);
2013+
Assertions.<Object> assertThat(values).containsExactly(42);
20122014
}
20132015

20142016
@Test
@@ -2017,7 +2019,7 @@ void readFieldValuesFromClassWithTypeFilterForInteger() {
20172019

20182020
var values = readFieldValues(fields, null, isA(Integer.class));
20192021

2020-
assertThat(values).containsExactly(99);
2022+
Assertions.<Object> assertThat(values).containsExactly(99);
20212023
}
20222024

20232025
@Test
@@ -2026,7 +2028,7 @@ void readFieldValuesFromInstanceWithTypeFilterForDouble() {
20262028

20272029
var values = readFieldValues(fields, new ClassWithFields(), isA(double.class));
20282030

2029-
assertThat(values).containsExactly(3.14);
2031+
Assertions.<Object> assertThat(values).containsExactly(3.14);
20302032
}
20312033

20322034
@Test
@@ -2035,7 +2037,7 @@ void readFieldValuesFromClassWithTypeFilterForDouble() {
20352037

20362038
var values = readFieldValues(fields, null, isA(Double.class));
20372039

2038-
assertThat(values).containsExactly(2.5);
2040+
Assertions.<Object> assertThat(values).containsExactly(2.5);
20392041
}
20402042

20412043
private static Predicate<Field> isA(Class<?> type) {

0 commit comments

Comments
 (0)