Remove StmtContext.Mutable.addMutableStmtToSeal()
[yangtools.git] / yang / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / StatementContextBase.java
index f40c4cae845c24d4244b4e0f29117d7d61729c38..505dbae678b068538733b1ec248d4c609cd8efcd 100644 (file)
@@ -41,6 +41,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ImplicitParentAwareStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
+import org.opendaylight.yangtools.yang.parser.spi.meta.MutableStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceKeyCriterion;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
@@ -345,10 +346,14 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
         return effective.isEmpty() ? new ArrayList<>(toAdd) : effective;
     }
 
-    // Exposed for ReplicaStatementContext
+
     @Override
-    E createEffective() {
-        return definition.getFactory().createEffective(this, streamDeclared(), streamEffective());
+    final E createEffective() {
+        final E result = definition.getFactory().createEffective(this, streamDeclared(), streamEffective());
+        if (result instanceof MutableStatement) {
+            getRoot().addMutableStmtToSeal((MutableStatement) result);
+        }
+        return result;
     }
 
     abstract Stream<? extends StmtContext<?, ?, ?>> streamDeclared();