Convert AbstractEnumStatementSupport
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / type / EffectiveTypeUtil.java
index 1eba0f84527e016cf4f5b808fd31d801ead06db3..ed74ade308a34afa1e28d1ce2ac3d2cc4b67fd2a 100644 (file)
@@ -12,14 +12,13 @@ import static com.google.common.base.Verify.verify;
 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 {
@@ -28,8 +27,8 @@ 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());
@@ -39,11 +38,14 @@ final class EffectiveTypeUtil {
         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();
     }