Do not reference spi.meta.CopyHistory in effective statements 72/95172/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 14 Feb 2021 22:47:47 +0000 (23:47 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 14 Feb 2021 22:48:45 +0000 (23:48 +0100)
CopyHistory is a yang-parser-spi construct, it should not be referenced
in effective statement implementations.

JIRA: YANGTOOLS-1241
Change-Id: Icba87583620e1f82e3268984179b75a3d627a3e7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementMixins.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java

index 5d9358402e7df59e76895fa157e93f0a98396474..29b540b8e4dfd32e961f0fa9aa79a060f1549bfa 100644 (file)
@@ -61,7 +61,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.WhenEffectiveStatement;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
-import org.opendaylight.yangtools.yang.parser.spi.meta.CopyHistory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SchemaPathSupport;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
 
@@ -514,7 +513,7 @@ public final class EffectiveStatementMixins {
                 return this;
             }
 
-            public FlagsBuilder setHistory(final CopyHistory history) {
+            public FlagsBuilder setHistory(final CopyableNode history) {
                 flags = flags & ~MASK_HISTORY
                     | (history.isAugmenting() ? AUGMENTING : 0) | (history.isAddedByUses() ? ADDED_BY_USES : 0);
                 return this;
@@ -586,7 +585,7 @@ public final class EffectiveStatementMixins {
             TypedefEffectiveStatement::getTypeDefinition);
     }
 
-    public static int historyAndStatusFlags(final CopyHistory history,
+    public static int historyAndStatusFlags(final CopyableNode history,
             final Collection<? extends EffectiveStatement<?, ?>> substatements) {
         return new FlagsBuilder()
                 .setHistory(history)
index 708208c528d814812ce99094958da5fa8e0c3eef..d24b29cb21e430ab9743b84bdd30e53b1196cdc0 100644 (file)
@@ -11,6 +11,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.CopyableNode;
 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
@@ -18,7 +19,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatemen
 import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement;
 import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace;
-import org.opendaylight.yangtools.yang.parser.spi.meta.CopyHistory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
@@ -51,7 +51,7 @@ public abstract class UnknownEffectiveStatementBase<A, D extends UnknownStatemen
         }
 
         // initCopyType
-        final CopyHistory copyTypesFromOriginal = stmt.history();
+        final CopyableNode copyTypesFromOriginal = stmt.history();
         this.augmenting = copyTypesFromOriginal.isAugmenting();
         this.addedByUses = copyTypesFromOriginal.isAddedByUses();