X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=model%2Fyang-model-ri%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fmodel%2Fri%2Fstmt%2FEffectiveStatements.java;fp=model%2Fyang-model-ri%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fmodel%2Fri%2Fstmt%2FEffectiveStatements.java;h=dc6590032b8778d3fe45d86b9d4a22746fc5033b;hb=6b72fbbb97aecc7ea556fc41684773f62f0f8f59;hp=0aac30f91b4c5b90debe6052bb0a1e754e16ebe7;hpb=36da07b73f9f37bda64b4eb5e199c72ec6b27049;p=yangtools.git diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/EffectiveStatements.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/EffectiveStatements.java index 0aac30f91b..dc6590032b 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/EffectiveStatements.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/EffectiveStatements.java @@ -275,6 +275,7 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.SlimLeafListEffect import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.TypedefEffectiveStatementImpl; import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredCaseEffectiveStatement; import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredInputEffectiveStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredLeafEffectiveStatement; import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredOutputEffectiveStatement; import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException; @@ -563,10 +564,15 @@ public final class EffectiveStatements { public static LeafEffectiveStatement copyLeaf(final LeafEffectiveStatement original, final QName argument, final int flags) { - checkArgument(original instanceof AbstractLeafEffectiveStatement, "Unsupported original %s", original); - final var orig = (AbstractLeafEffectiveStatement) original; - return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags) - : new RegularLeafEffectiveStatement(orig, argument, flags); + if (original instanceof AbstractLeafEffectiveStatement) { + final var orig = (AbstractLeafEffectiveStatement) original; + return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags) + : new RegularLeafEffectiveStatement(orig, argument, flags); + } else if (original instanceof UndeclaredLeafEffectiveStatement) { + return new UndeclaredLeafEffectiveStatement((UndeclaredLeafEffectiveStatement) original, argument, flags); + } else { + throw new IllegalArgumentException("Unsupported original " + original); + } } public static LeafEffectiveStatement createLeaf(final LeafStatement declared, final QName argument, final int flags,