From aa0fb97ba5246dbf5fcdc361d5bd6ccf3666b1dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Tue, 19 Mar 2024 13:30:46 +0100 Subject: [PATCH] Nullability refinements See gh-32475 --- .../core/test/io/support/MockSpringFactoriesLoader.java | 1 + .../aot/generate/ValueCodeGeneratorDelegates.java | 2 ++ .../aot/hint/support/SpringPropertiesRuntimeHints.java | 3 ++- .../org/springframework/util/UnmodifiableMultiValueMap.java | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java b/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java index 288e4070de4..70a6067a6a0 100644 --- a/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java +++ b/spring-core-test/src/main/java/org/springframework/core/test/io/support/MockSpringFactoriesLoader.java @@ -67,6 +67,7 @@ public class MockSpringFactoriesLoader extends SpringFactoriesLoader { @Override + @Nullable @SuppressWarnings("unchecked") protected T instantiateFactory(String implementationName, Class type, @Nullable ArgumentResolver argumentResolver, FailureHandler failureHandler) { diff --git a/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java b/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java index ce4ade2027b..cd59c2ccf59 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/ValueCodeGeneratorDelegates.java @@ -94,6 +94,7 @@ public abstract class ValueCodeGeneratorDelegates { @Override @SuppressWarnings("unchecked") + @Nullable public CodeBlock generateCode(ValueCodeGenerator valueCodeGenerator, Object value) { if (this.collectionType.isInstance(value)) { T collection = (T) value; @@ -135,6 +136,7 @@ public abstract class ValueCodeGeneratorDelegates { private static final CodeBlock EMPTY_RESULT = CodeBlock.of("$T.emptyMap()", Collections.class); @Override + @Nullable public CodeBlock generateCode(ValueCodeGenerator valueCodeGenerator, Object value) { if (value instanceof Map map) { if (map.isEmpty()) { diff --git a/spring-core/src/main/java/org/springframework/aot/hint/support/SpringPropertiesRuntimeHints.java b/spring-core/src/main/java/org/springframework/aot/hint/support/SpringPropertiesRuntimeHints.java index 5a5bcf68792..50e61caa4da 100644 --- a/spring-core/src/main/java/org/springframework/aot/hint/support/SpringPropertiesRuntimeHints.java +++ b/spring-core/src/main/java/org/springframework/aot/hint/support/SpringPropertiesRuntimeHints.java @@ -18,6 +18,7 @@ package org.springframework.aot.hint.support; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; +import org.springframework.lang.Nullable; /** * {@link RuntimeHintsRegistrar} to register hints for {@link org.springframework.core.SpringProperties}. @@ -28,7 +29,7 @@ import org.springframework.aot.hint.RuntimeHintsRegistrar; class SpringPropertiesRuntimeHints implements RuntimeHintsRegistrar { @Override - public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) { hints.resources().registerPattern("spring.properties"); } } diff --git a/spring-core/src/main/java/org/springframework/util/UnmodifiableMultiValueMap.java b/spring-core/src/main/java/org/springframework/util/UnmodifiableMultiValueMap.java index 83c8e1f4b69..3d2f980575f 100644 --- a/spring-core/src/main/java/org/springframework/util/UnmodifiableMultiValueMap.java +++ b/spring-core/src/main/java/org/springframework/util/UnmodifiableMultiValueMap.java @@ -96,6 +96,7 @@ final class UnmodifiableMultiValueMap implements MultiValueMap, Serial } @Override + @Nullable public V getFirst(K key) { return this.delegate.getFirst(key); }