import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ContainerEffectiveStatement;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.UnknownEffectiveStatementBase;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
@Beta
private final @NonNull QName maybeQNameArgument;
private final @NonNull ContainerEffectiveStatement container;
- YangDataEffectiveStatementImpl(final YangDataStatement declared,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final StmtContext<String, YangDataStatement, ?> ctx) {
- super(ctx.getStatementArgument(), declared, substatements, ctx);
+ YangDataEffectiveStatementImpl(final Current<String, YangDataStatement> stmt,
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+ super(stmt, substatements);
QName maybeQNameArgumentInit;
try {
- maybeQNameArgumentInit = StmtContextUtils.parseIdentifier(ctx, argument());
+ maybeQNameArgumentInit = StmtContextUtils.parseIdentifier(stmt.caerbannog(), argument());
} catch (IllegalArgumentException e) {
maybeQNameArgumentInit = getNodeType();
}
this.maybeQNameArgument = maybeQNameArgumentInit;
- path = ctx.coerceParentContext().getSchemaPath().get().createChild(maybeQNameArgument);
+ path = stmt.getParent().getSchemaPath().createChild(maybeQNameArgument);
container = findFirstEffectiveSubstatement(ContainerEffectiveStatement.class).get();
// TODO: this is strong binding of two API contracts. Unfortunately ContainerEffectiveStatement design is