import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport;
+import org.opendaylight.yangtools.yang.parser.spi.meta.BoundStmtCtx;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStatementState;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
.addOptional(YangStmtMapping.WHEN)
.build();
+ private final boolean warnForUnkeyedLists;
+
ListStatementSupport(final YangParserConfiguration config, final SubstatementValidator validator) {
super(YangStmtMapping.LIST, instantiatedPolicy(), config, validator);
+ this.warnForUnkeyedLists = config.warnForUnkeyedLists();
}
public static @NonNull ListStatementSupport rfc6020Instance(final YangParserConfiguration config) {
}
@Override
- protected ListStatement createDeclared(final StmtContext<QName, ListStatement, ?> ctx,
- final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ protected ListStatement createDeclared(final BoundStmtCtx<QName> ctx,
+ final ImmutableList<DeclaredStatement<?>> substatements) {
return DeclaredStatements.createList(ctx.getArgument(), substatements);
}
}
final int flags = computeFlags(stmt, substatements);
- if (stmt.effectiveConfig() == EffectiveConfig.TRUE && keyDefinition.isEmpty() && isInstantied(stmt)) {
+ if (warnForUnkeyedLists && stmt.effectiveConfig() == EffectiveConfig.TRUE
+ && keyDefinition.isEmpty() && isInstantied(stmt)) {
warnConfigList(stmt);
}