import java.util.Set;
import org.opendaylight.yangtools.yang.common.QName;
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.stmt.IfFeatureEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureExpr;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
-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.spi.FeatureNamespace;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
YangStmtMapping.IF_FEATURE)
.build();
- AbstractIfFeatureStatementSupport() {
- super(YangStmtMapping.IF_FEATURE, StatementPolicy.contextIndependent());
+ AbstractIfFeatureStatementSupport(final YangParserConfiguration config) {
+ super(YangStmtMapping.IF_FEATURE, StatementPolicy.contextIndependent(), config);
}
@Override
}
@Override
- protected final IfFeatureStatement createEmptyDeclared(
- final StmtContext<IfFeatureExpr, IfFeatureStatement, ?> ctx) {
- return DeclaredStatements.createIfFeature(ctx.getRawArgument(), ctx.getArgument());
+ protected final IfFeatureStatement attachDeclarationReference(final IfFeatureStatement stmt,
+ final DeclarationReference reference) {
+ return DeclaredStatementDecorators.decorateIfFeature(stmt, reference);
}
@Override
protected final IfFeatureEffectiveStatement createEffective(final Current<IfFeatureExpr, IfFeatureStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
- return substatements.isEmpty() ? new EmptyIfFeatureEffectiveStatement(stmt.declared())
- : new RegularIfFeatureEffectiveStatement(stmt.declared(), substatements);
+ return EffectiveStatements.createIfFeature(stmt.declared(), substatements);
}
}