Refactored parsing of yang uses statement.
[yangtools.git] / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / impl / ListSchemaNodeBuilder.java
index f5c21219af44bf6077c343acf4e20c24135f2ca8..36016a3004ed2e9b63869b5e67b46b7274f465b9 100644 (file)
@@ -74,7 +74,7 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
     public ListSchemaNodeBuilder(final ListSchemaNodeBuilder b) {
         super(b.getModuleName(), b.getLine(), b.getQName());
         instance = new ListSchemaNodeImpl(b.getQName());
-        constraints = b.getConstraints();
+        constraints = new ConstraintsBuilder(b.getConstraints());
         schemaPath = b.getPath();
         description = b.getDescription();
         reference = b.getReference();
@@ -101,6 +101,14 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
     @Override
     public ListSchemaNode build() {
         if (!isBuilt) {
+            // process uses
+            for(UsesNodeBuilder use : addedUsesNodes) {
+                addedChildNodes.addAll(use.getTargetChildren());
+                addedGroupings.addAll(use.getTargetGroupings());
+                addedTypedefs.addAll(use.getTargetTypedefs());
+                addedUnknownNodes.addAll(use.getTargetUnknownNodes());
+            }
+
             instance.setKeyDefinition(keyDefinition);
             instance.setPath(schemaPath);
             instance.setDescription(description);