From b6108465589a84a1fbce001a87d3760d1a3f82f5 Mon Sep 17 00:00:00 2001 From: Damon Date: Thu, 20 Jul 2023 15:04:32 -0700 Subject: [PATCH] Remove SuppressWarnings from NoopLock.java (#27416) * Remove SuppressWarnings from NoopLock.java * Remove Nonnull annotations from original --- .../java/org/apache/beam/sdk/util/NoopLock.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/NoopLock.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/NoopLock.java index 0fc822987a6e..36454a125d67 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/NoopLock.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/NoopLock.java @@ -21,21 +21,19 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; -import javax.annotation.Nonnull; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.checkerframework.checker.nullness.qual.NonNull; /** * A lock which can always be acquired. It should not be used when a proper lock is required, but it * is useful as a performance optimization when locking is not necessary but the code paths have to * be shared between the locking and the non-locking variant. */ -@SuppressWarnings({ - "nullness" // TODO(https://github.com/apache/beam/issues/20497) -}) public class NoopLock implements Lock, Serializable { - private static NoopLock instance; + private static @MonotonicNonNull NoopLock instance; - public static NoopLock get() { + public static @NonNull NoopLock get() { if (instance == null) { instance = new NoopLock(); } @@ -56,14 +54,13 @@ public boolean tryLock() { } @Override - public boolean tryLock(long time, @Nonnull TimeUnit unit) { + public boolean tryLock(long time, TimeUnit unit) { return true; } @Override public void unlock() {} - @Nonnull @Override public Condition newCondition() { throw new UnsupportedOperationException("Not implemented");