Skip to content

Commit 1dc796b

Browse files
committed
added null checks for lazy methods args
1 parent 11faf9c commit 1dc796b

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/main/java/com/plugatar/jkscope/JKScope.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3075,6 +3075,7 @@ public static <V1, V2, V3, R> R recur3(final V1 initValue1,
30753075
* @throws NullPointerException if {@code initializer} arg is null
30763076
*/
30773077
public static <V> Lazy<V> lazy(final ThSupplier<? extends V, ?> initializer) {
3078+
initializerArgNotNull(initializer);
30783079
return new SynchronizedLazy<>(initializer);
30793080
}
30803081

@@ -3099,6 +3100,8 @@ public static <V> Lazy<V> lazy(final ThSupplier<? extends V, ?> initializer) {
30993100
*/
31003101
public static <V> Lazy<V> lazy(final Object lock,
31013102
final ThSupplier<? extends V, ?> initializer) {
3103+
lockArgNotNull(lock);
3104+
initializerArgNotNull(initializer);
31023105
return new SynchronizedLazy<>(lock, initializer);
31033106
}
31043107

@@ -3122,6 +3125,7 @@ public static <V> Lazy<V> lazy(final Object lock,
31223125
public static <V> Lazy<V> lazy(final Lazy.ThreadSafetyMode threadSafetyMode,
31233126
final ThSupplier<? extends V, ?> initializer) {
31243127
threadSafetyModeArgNotNull(threadSafetyMode);
3128+
initializerArgNotNull(initializer);
31253129
switch (threadSafetyMode) {
31263130
case SYNCHRONIZED:
31273131
return new SynchronizedLazy<>(initializer);
@@ -3766,7 +3770,6 @@ private static final class UnsafeLazy<V> implements Lazy<V>, Serializable {
37663770
private Object value;
37673771

37683772
private UnsafeLazy(final ThSupplier<? extends V, ?> initializer) {
3769-
initializerArgNotNull(initializer);
37703773
this.initializer = initializer;
37713774
this.value = UNINITIALIZED_VALUE;
37723775
}
@@ -3812,7 +3815,6 @@ private static final class SafePublicationLazy<V> implements Lazy<V>, Serializab
38123815
private volatile Object value;
38133816

38143817
private SafePublicationLazy(final ThSupplier<? extends V, ?> initializer) {
3815-
initializerArgNotNull(initializer);
38163818
this.initializer = initializer;
38173819
this.value = UNINITIALIZED_VALUE;
38183820
}
@@ -3858,16 +3860,13 @@ private static final class SynchronizedLazy<V> implements Lazy<V>, Serializable
38583860
private volatile Object value;
38593861

38603862
private SynchronizedLazy(final ThSupplier<? extends V, ?> initializer) {
3861-
initializerArgNotNull(initializer);
38623863
this.lock = this;
38633864
this.initializer = initializer;
38643865
this.value = UNINITIALIZED_VALUE;
38653866
}
38663867

38673868
private SynchronizedLazy(final Object lock,
38683869
final ThSupplier<? extends V, ?> initializer) {
3869-
lockArgNotNull(lock);
3870-
initializerArgNotNull(initializer);
38713870
this.lock = lock;
38723871
this.initializer = initializer;
38733872
this.value = UNINITIALIZED_VALUE;

0 commit comments

Comments
 (0)