import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
-import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
+import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
import org.opendaylight.yangtools.yang.parser.spi.meta.OverrideChildStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
-import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
final class UnrecognizedStatementSupport
extends AbstractStatementSupport<Object, UnrecognizedStatement, UnrecognizedEffectiveStatement>
UnrecognizedStatementSupport(final StatementDefinition publicDefinition, final YangParserConfiguration config) {
// We have no idea about the statement's semantics, hence there should be noone interested in its semantics.
// Nevertheless it may be of interest for various hacks to understand there was an extension involved.
- super(publicDefinition, StatementPolicy.exactReplica(), config);
+ super(publicDefinition, StatementPolicy.exactReplica(), config, null);
this.config = requireNonNull(config);
}
return new UnrecognizedStatementSupport(def, config);
}
- @Override
- protected SubstatementValidator getSubstatementValidator() {
- // We know nothing about this statement
- return null;
- }
-
@Override
protected UnrecognizedStatement createDeclared(final StmtContext<Object, UnrecognizedStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new UnrecognizedStatementImpl(ctx.rawArgument(), ctx.publicDefinition(), substatements);
+ return DeclaredStatements.createUnrecognized(ctx.rawArgument(), ctx.publicDefinition(), substatements);
}
@Override
protected UnrecognizedStatement attachDeclarationReference(final UnrecognizedStatement stmt,
final DeclarationReference reference) {
- return new RefUnrecognizedStatement(stmt, reference);
+ return DeclaredStatementDecorators.decorateUnrecognized(stmt, reference);
}
// createEffective() should never be called, ensure that for each declared statement