import org.opendaylight.yangtools.yang.common.YangVersion;
import org.opendaylight.yangtools.yang.model.api.DeviateKind;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
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.DeviateEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
-import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
+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.model.ri.stmt.EffectiveStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles;
import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
private static final ImmutableSet<YangStmtMapping> IMPLICIT_STATEMENTS = ImmutableSet.of(YangStmtMapping.CONFIG,
YangStmtMapping.MANDATORY, YangStmtMapping.MAX_ELEMENTS, YangStmtMapping.MIN_ELEMENTS);
- AbstractDeviateStatementSupport() {
- super(YangStmtMapping.DEVIATE, StatementPolicy.contextIndependent());
+ AbstractDeviateStatementSupport(final YangParserConfiguration config) {
+ super(YangStmtMapping.DEVIATE, StatementPolicy.contextIndependent(), config);
}
@Override
}
@Override
- protected final DeviateStatement createEmptyDeclared(final StmtContext<DeviateKind, DeviateStatement, ?> ctx) {
- return DeclaredStatements.createDeviate(ctx.getArgument());
+ protected final DeviateStatement attachDeclarationReference(final DeviateStatement stmt,
+ final DeclarationReference reference) {
+ return DeclaredStatementDecorators.decorateDeviate(stmt, reference);
}
@Override
- protected DeviateEffectiveStatement createEffective(final Current<DeviateKind, DeviateStatement> stmt,
+ protected final DeviateEffectiveStatement createEffective(final Current<DeviateKind, DeviateStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
- return new DeviateEffectiveStatementImpl(stmt.declared(), substatements);
+ return EffectiveStatements.createDeviate(stmt.declared(), substatements);
}
protected SubstatementValidator getSubstatementValidatorForDeviate(final DeviateKind deviateKind) {