Return @NonNull collections in StmtContext 66/99166/1
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 25 Dec 2021 16:12:12 +0000 (17:12 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 25 Dec 2021 16:12:12 +0000 (17:12 +0100)
We are always returning non-null contexts, make sure we reflect that
in the return type. This fixes about 20 false positive warnings.

Change-Id: I99d42e94832f379e95001f8e3f263380c50dbb9f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java

index 2d724e85689264feb14372dd9d6bf0bcbf762cd0..c0091937abccf97bbdb6151564a10ad048c2fe28 100644 (file)
@@ -139,13 +139,13 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
     }
 
     @Override
-    public Iterable<? extends StmtContext<?, ?, ?>> allSubstatements() {
+    public Iterable<? extends @NonNull StmtContext<?, ?, ?>> allSubstatements() {
         // No need to concat with declared
         return effectiveSubstatements();
     }
 
     @Override
-    public Stream<? extends StmtContext<?, ?, ?>> allSubstatementsStream() {
+    public Stream<? extends @NonNull StmtContext<?, ?, ?>> allSubstatementsStream() {
         // No need to concat with declared
         return effectiveSubstatements().stream();
     }
index 2c7fcbc99ab205c3447140a3daf45b06701477c7..a3bc8a0581e708f25e030c864dbf5723187e9772 100644 (file)
@@ -36,7 +36,6 @@ import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStatementState;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
-import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Parent;
 import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
@@ -191,10 +190,10 @@ abstract class ReactorStmtCtx<A, D extends DeclaredStatement<A>, E extends Effec
     public abstract RootStatementContext<?, ?, ?> getRoot();
 
     @Override
-    public abstract Collection<? extends StatementContextBase<?, ?, ?>> mutableDeclaredSubstatements();
+    public abstract Collection<? extends @NonNull StatementContextBase<?, ?, ?>> mutableDeclaredSubstatements();
 
     @Override
-    public final @NonNull Registry getBehaviourRegistry() {
+    public final Registry getBehaviourRegistry() {
         return getRoot().getBehaviourRegistryImpl();
     }
 
index 8e9f43832bb55cc95df65cf719a562726c9f164d..7d0528a9522291b350dcb6b1cbaf406c981216b9 100644 (file)
@@ -83,7 +83,7 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
      *
      * @return Collection of declared substatements
      */
-    @NonNull Collection<? extends StmtContext<?, ?, ?>> declaredSubstatements();
+    @NonNull Collection<? extends @NonNull StmtContext<?, ?, ?>> declaredSubstatements();
 
     /**
      * Return effective substatements. These are the statements which are added as this statement's substatements
@@ -91,13 +91,13 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
      *
      * @return Collection of declared substatements
      */
-    @NonNull Collection<? extends StmtContext<?, ?, ?>> effectiveSubstatements();
+    @NonNull Collection<? extends @NonNull StmtContext<?, ?, ?>> effectiveSubstatements();
 
-    default Iterable<? extends StmtContext<?, ?, ?>> allSubstatements() {
+    default Iterable<? extends @NonNull StmtContext<?, ?, ?>> allSubstatements() {
         return Iterables.concat(declaredSubstatements(), effectiveSubstatements());
     }
 
-    default Stream<? extends StmtContext<?, ?, ?>> allSubstatementsStream() {
+    default Stream<? extends @NonNull StmtContext<?, ?, ?>> allSubstatementsStream() {
         return Streams.concat(declaredSubstatements().stream(), effectiveSubstatements().stream());
     }
 
@@ -232,18 +232,18 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
         }
 
         @Override
-        default Collection<? extends StmtContext<?, ?, ?>> declaredSubstatements() {
+        default Collection<? extends @NonNull StmtContext<?, ?, ?>> declaredSubstatements() {
             return mutableDeclaredSubstatements();
         }
 
-        @NonNull Collection<? extends Mutable<?, ?, ?>> mutableDeclaredSubstatements();
+        @NonNull Collection<? extends @NonNull Mutable<?, ?, ?>> mutableDeclaredSubstatements();
 
         @Override
-        default Collection<? extends StmtContext<?, ?, ?>> effectiveSubstatements() {
+        default Collection<? extends @NonNull StmtContext<?, ?, ?>> effectiveSubstatements() {
             return mutableEffectiveSubstatements();
         }
 
-        @NonNull Collection<? extends Mutable<?, ?, ?>> mutableEffectiveSubstatements();
+        @NonNull Collection<? extends @NonNull Mutable<?, ?, ?>> mutableEffectiveSubstatements();
 
         /**
          * Create a new inference action to be executed during specified phase. The action cannot be cancelled