Centralize unknownNodes
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / bit / BitEffectiveStatementImpl.java
index 943dfefd926d60fb120462cb7d06f0b81ba188a7..aa3d46e0d4a65e445fc591f599debee71e450551 100644 (file)
@@ -7,14 +7,9 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.bit;
 
-import com.google.common.collect.ImmutableList;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Objects;
-import javax.annotation.Nonnull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement;
@@ -23,14 +18,13 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveDocumentedNode;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-// FIXME: hide this class
+// FIXME: 5.0.0: hide this class
 public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumentedNode<QName, BitStatement>
         implements BitEffectiveStatement {
 
     private final QName qname;
     private final SchemaPath schemaPath;
     private final Long declaredPosition;
-    private final List<UnknownSchemaNode> unknownSchemaNodes;
 
     BitEffectiveStatementImpl(final StmtContext<QName, BitStatement, ?> ctx) {
         super(ctx);
@@ -38,19 +32,14 @@ public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumented
         qname = ctx.getStatementArgument();
         schemaPath = ctx.getSchemaPath().get();
 
-        final List<UnknownSchemaNode> unknownSchemaNodesInit = new ArrayList<>();
         Long declaredPositionInit = null;
         for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
             if (effectiveStatement instanceof PositionEffectiveStatement) {
                 declaredPositionInit = ((PositionEffectiveStatement) effectiveStatement).argument();
             }
-            if (effectiveStatement instanceof UnknownSchemaNode) {
-                unknownSchemaNodesInit.add((UnknownSchemaNode) effectiveStatement);
-            }
         }
 
         declaredPosition = declaredPositionInit;
-        unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodesInit);
     }
 
     public Long getDeclaredPosition() {
@@ -69,12 +58,6 @@ public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumented
         return schemaPath;
     }
 
-    @Nonnull
-    @Override
-    public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-        return unknownSchemaNodes;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -82,7 +65,7 @@ public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumented
         result = prime * result + qname.hashCode();
         result = prime * result + schemaPath.hashCode();
         result = prime * result + Objects.hashCode(declaredPosition);
-        result = prime * result + Objects.hashCode(unknownSchemaNodes);
+        result = prime * result + getUnknownSchemaNodes().hashCode();
         return result;
     }