import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.Uint32;
-import org.opendaylight.yangtools.yang.model.api.DocumentedNode;
import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.EnumEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit;
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
import org.opendaylight.yangtools.yang.model.util.type.BitBuilder;
import org.opendaylight.yangtools.yang.model.util.type.EnumPairBuilder;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.enum_.EnumEffectiveStatementImpl;
@Beta
final class EffectiveTypeUtil {
}
static @NonNull Bit buildBit(final @NonNull BitEffectiveStatement stmt, final Uint32 effectivePos) {
- verify(stmt instanceof DocumentedNode.WithStatus);
- final DocumentedNode.WithStatus bit = (WithStatus) stmt;
+ verify(stmt instanceof WithStatus);
+ final WithStatus bit = (WithStatus) stmt;
// TODO: code duplication with EnumPairBuilder is indicating we could use a common Builder<?> interface
final BitBuilder builder = BitBuilder.create(stmt.argument(), effectivePos).setStatus(bit.getStatus());
return builder.build();
}
- static @NonNull EnumPair buildEnumPair(final @NonNull EnumEffectiveStatementImpl stmt, final int effectiveValue) {
- final EnumPairBuilder builder = EnumPairBuilder.create(stmt.getName(), effectiveValue)
- .setStatus(stmt.getStatus()).setUnknownSchemaNodes(stmt.getUnknownSchemaNodes());
- stmt.getDescription().ifPresent(builder::setDescription);
- stmt.getReference().ifPresent(builder::setReference);
+ static @NonNull EnumPair buildEnumPair(final @NonNull EnumEffectiveStatement stmt, final int effectiveValue) {
+ verify(stmt instanceof WithStatus);
+ final WithStatus node = (WithStatus) stmt;
+
+ final EnumPairBuilder builder = EnumPairBuilder.create(stmt.getDeclared().rawArgument(), effectiveValue)
+ .setStatus(node.getStatus()).setUnknownSchemaNodes(node.getUnknownSchemaNodes());
+ node.getDescription().ifPresent(builder::setDescription);
+ node.getReference().ifPresent(builder::setReference);
return builder.build();
}