From: Robert Varga Date: Wed, 25 Nov 2020 09:14:21 +0000 (+0100) Subject: Narrow down SuppressFBWarnings in ModelProcessingPhase X-Git-Tag: v6.0.4~7 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=9a0ad5f98421fc798511f5b92cc9774e3e195a80 Narrow down SuppressFBWarnings in ModelProcessingPhase We are suppressing a single null assignment, make sure we minimize the scope of suppression. Change-Id: Ie7b62be11964df2553268eb9f49cca1e2c8538b9 Signed-off-by: Robert Varga (cherry picked from commit f271abeab81db4ae7808d5824b16dcf289023fc1) --- diff --git a/yang/yang-parser-spi/src/main/java/module-info.java b/yang/yang-parser-spi/src/main/java/module-info.java index b28ab1b6f1..a7a6b2d74d 100644 --- a/yang/yang-parser-spi/src/main/java/module-info.java +++ b/yang/yang-parser-spi/src/main/java/module-info.java @@ -15,5 +15,6 @@ module org.opendaylight.yangtools.yang.parser.spi { requires org.slf4j; // Annotations + requires static com.github.spotbugs.annotations; requires static org.eclipse.jdt.annotation; } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ModelProcessingPhase.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ModelProcessingPhase.java index f47b1ef06d..196f3ee86f 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ModelProcessingPhase.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ModelProcessingPhase.java @@ -7,14 +7,15 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; +import static java.util.Objects.requireNonNull; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @NonNullByDefault -@SuppressFBWarnings("NP_NULL_PARAM_DEREF_NONVIRTUAL") public enum ModelProcessingPhase { - INIT(null), + INIT(), /** * Preliminary cross-source relationship resolution phase which collects available module names and module @@ -41,8 +42,14 @@ public enum ModelProcessingPhase { private final @Nullable ModelProcessingPhase previousPhase; - ModelProcessingPhase(final @Nullable ModelProcessingPhase previous) { - this.previousPhase = previous; + @SuppressFBWarnings(value = "NP_STORE_INTO_NONNULL_FIELD", + justification = "https://github.com/spotbugs/spotbugs/issues/743") + ModelProcessingPhase() { + previousPhase = null; + } + + ModelProcessingPhase(final ModelProcessingPhase previousPhase) { + this.previousPhase = requireNonNull(previousPhase); } /**