import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
/**
* A massively-misnamed superclass for statements which are both schema tree participants and can be created as implicit
}
@Override
- protected final E createEffective(
- final StmtContext<QName, D, E> ctx,
- final D declared, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
- final StatementSource source = ctx.getStatementSource();
- switch (ctx.getStatementSource()) {
+ protected E createEffective(final Current<QName, D> stmt,
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+ final StatementSource source = stmt.source();
+ switch (source) {
case CONTEXT:
- return createUndeclaredEffective(ctx, substatements);
+ return createUndeclaredEffective(stmt, substatements);
case DECLARATION:
- return createDeclaredEffective(ctx, substatements, declared);
+ return createDeclaredEffective(stmt, substatements);
default:
throw new IllegalStateException("Unhandled statement source " + source);
}
}
- @Override
- protected final E createEmptyEffective(final StmtContext<QName, D, E> ctx, final D declared) {
- return createEffective(ctx, declared, ImmutableList.of());
- }
-
- protected abstract @NonNull E createDeclaredEffective(@NonNull StmtContext<QName, D, E> ctx,
- @NonNull ImmutableList<? extends EffectiveStatement<?, ?>> substatements, @NonNull D declared);
-
- protected abstract @NonNull E createUndeclaredEffective(@NonNull StmtContext<QName, D, E> ctx,
+ protected abstract @NonNull E createDeclaredEffective(@NonNull Current<QName, D> stmt,
@NonNull ImmutableList<? extends EffectiveStatement<?, ?>> substatements);
+ protected abstract @NonNull E createUndeclaredEffective(@NonNull Current<QName, D> stmt,
+ @NonNull ImmutableList<? extends EffectiveStatement<?, ?>> substatements);
}