Use DefaultWithDataTree.WithSubstatements for lists 01/97401/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Sep 2021 11:25:59 +0000 (13:25 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Sep 2021 11:25:59 +0000 (13:25 +0200)
AbstractListEffectiveStatement is duplicating WithSubstatements
functionality, make sure we inherit it.

Change-Id: If3c5b177214305b88f3520824dc60d779d9a54ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListEffectiveStatement.java

index d69b91ff2ad117cf033426557a469596f243148a..2665d2356e0864bdc090a8fe3e476670402e9c34 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UniqueEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.compat.ActionNodeContainerCompat;
 import org.opendaylight.yangtools.yang.model.api.stmt.compat.NotificationNodeContainerCompat;
-import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultWithDataTree;
+import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultWithDataTree.WithSubstatements;
 import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.ActionNodeContainerMixin;
 import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.AugmentationTargetMixin;
 import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.DataNodeContainerMixin;
@@ -34,7 +34,7 @@ import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.U
 import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.WhenConditionMixin;
 
 abstract class AbstractListEffectiveStatement
-        extends DefaultWithDataTree<QName, ListStatement, ListEffectiveStatement>
+        extends WithSubstatements<QName, ListStatement, ListEffectiveStatement>
         implements ListEffectiveStatement, ListSchemaNode, DerivableSchemaNode,
             ActionNodeContainerCompat<QName, ListStatement, ListEffectiveStatement>,
             NotificationNodeContainerCompat<QName, ListStatement, ListEffectiveStatement>,
@@ -43,7 +43,6 @@ abstract class AbstractListEffectiveStatement
             AugmentationTargetMixin<QName, ListStatement>, NotificationNodeContainerMixin<QName, ListStatement>,
             ActionNodeContainerMixin<QName, ListStatement>, MustConstraintMixin<QName, ListStatement> {
     private final int flags;
-    private final @NonNull Object substatements;
     private final @NonNull QName argument;
     private final @NonNull Object keyDefinition;
 
@@ -52,7 +51,6 @@ abstract class AbstractListEffectiveStatement
             final ImmutableList<QName> keyDefinition) {
         super(declared, substatements);
         this.argument = requireNonNull(argument);
-        this.substatements = maskList(substatements);
         this.keyDefinition = maskList(keyDefinition);
         this.flags = flags;
     }
@@ -61,16 +59,10 @@ abstract class AbstractListEffectiveStatement
             final int flags) {
         super(original);
         this.argument = requireNonNull(argument);
-        this.substatements = original.substatements;
         this.keyDefinition = original.keyDefinition;
         this.flags = flags;
     }
 
-    @Override
-    public final ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
-    }
-
     @Override
     public final QName argument() {
         return argument;