From b0aea307301907059ea1d82ca39d7d257d28e1c6 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 15 Dec 2021 18:22:27 +0100 Subject: [PATCH] Trigger onStatementAdded() for replicas When a statement is introduced through StmtContext.replicaAsChildOf(), the corresponding statement support should be notified of this fact, so it can properly do its thing. This makes it consistent with Mutable.childCopyOf(). JIRA: YANGTOOLS-1386 Change-Id: Ic947ea5fc822a29ff915d47db1cc591a2a18fd44 Signed-off-by: Robert Varga --- .../yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java b/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java index aab4fae60f..2c7fcbc99a 100644 --- a/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java +++ b/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java @@ -36,6 +36,7 @@ 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; @@ -368,9 +369,11 @@ abstract class ReactorStmtCtx, E extends Effec QNameModule targetModule); @Override - public final ReactorStmtCtx replicaAsChildOf(final Mutable parent) { + public final ReplicaStatementContext replicaAsChildOf(final Mutable parent) { checkArgument(parent instanceof StatementContextBase, "Unsupported parent %s", parent); - return replicaAsChildOf((StatementContextBase) parent); + final var ret = replicaAsChildOf((StatementContextBase) parent); + definition().onStatementAdded(ret); + return ret; } abstract @NonNull ReplicaStatementContext replicaAsChildOf(@NonNull StatementContextBase parent); -- 2.36.6