Fix inferred statements over undeclared statements
[yangtools.git] / parser / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / UndeclaredStmtCtx.java
index 75b3aefb2de51c024289f17735b150a5530344e9..beef8d92fb27740baa099a686c3d35e44ec9b435 100644 (file)
@@ -123,8 +123,12 @@ final class UndeclaredStmtCtx<A, D extends DeclaredStatement<A>, E extends Effec
     }
 
     @Override
-    E createInferredEffective(final StatementFactory<A, D, E> factory, final InferredStatementContext<A, D, E> ctx) {
-        return createEffective(factory, new ForwardingUndeclaredCurrent<>(ctx), ctx.streamEffective());
+    E createInferredEffective(final StatementFactory<A, D, E> factory, final InferredStatementContext<A, D, E> ctx,
+            final Stream<? extends StmtContext<?, ?, ?>> declared,
+            final Stream<? extends StmtContext<?, ?, ?>> effective) {
+        final long declaredCount = declared.count();
+        verify(declaredCount == 0, "Unexpected non-empty declared statements in %s", ctx);
+        return createEffective(factory, new ForwardingUndeclaredCurrent<>(ctx), effective);
     }
 
     /*