X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=third-party%2Ftriemap%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Ftriemap%2FINode.java;fp=third-party%2Ftriemap%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Ftriemap%2FINode.java;h=65e22fd6bd4a443ff817e8061a23a4c08e6ace24;hb=11c578c97ba2fb7eacf0f6cbbcbf52d527ab846f;hp=7031b396c50c8fa12159146d8ef819e3824b1c4b;hpb=0ec3c5c4e7aba213eca8cef35dab10edd2884eaf;p=yangtools.git diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/INode.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/INode.java index 7031b396c5..65e22fd6bd 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/INode.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/INode.java @@ -19,6 +19,7 @@ import static org.opendaylight.yangtools.triemap.LookupResult.RESTART; import static org.opendaylight.yangtools.triemap.PresencePredicate.ABSENT; import static org.opendaylight.yangtools.triemap.PresencePredicate.PRESENT; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Optional; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; @@ -203,6 +204,8 @@ final class INode extends BasicNode { return rec_insertif(k, v, hc, cond, lev, parent, gen, ct); } + @SuppressFBWarnings(value = "NP_OPTIONAL_RETURN_NULL", + justification = "Returning null Optional indicates the need to restart.") private Optional insertDual(final TrieMap ct, final CNode cn, final int pos, final SNode sn, final K k, final V v, final int hc, final int lev) { final CNode rn = (cn.gen == gen) ? cn : cn.renewed(gen, ct); @@ -210,6 +213,8 @@ final class INode extends BasicNode { return GCAS(cn, nn, ct) ? Optional.empty() : null; } + @SuppressFBWarnings(value = "NP_OPTIONAL_RETURN_NULL", + justification = "Returning null Optional indicates the need to restart.") private Optional rec_insertif(final K k, final V v, final int hc, final Object cond, final int lev, final INode parent, final Gen startgen, final TrieMap ct) { while (true) { @@ -433,6 +438,8 @@ final class INode extends BasicNode { return rec_remove(k, cond, hc, lev, parent, gen, ct); } + @SuppressFBWarnings(value = "NP_OPTIONAL_RETURN_NULL", + justification = "Returning null Optional indicates the need to restart.") private Optional rec_remove(final K k, final Object cond, final int hc, final int lev, final INode parent, final Gen startgen, final TrieMap ct) { final MainNode m = GCAS_READ(ct); // use -Yinline!