X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-rfc7950%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Frfc7950%2Fstmt%2Fmodifier%2FModifierStatementSupport.java;h=8536478835e3f87cf28ecd2bb4574af65d10c178;hb=88aeb1cd912d37fcadf671b622fece9a01297e90;hp=b22de19014304aac22471aebb2f5ae68de65472a;hpb=4ae4fcadb105220a164a1b4fc9a00d376636e9c5;p=yangtools.git diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java index b22de19014..8536478835 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java @@ -15,6 +15,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ModifierEffectiveStatement import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement; import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; @@ -52,25 +53,19 @@ public final class ModifierStatementSupport @Override protected ModifierStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularModifierStatement(ctx, substatements); + return new RegularModifierStatement(ctx.coerceRawStatementArgument(), ctx.coerceStatementArgument(), + substatements); } @Override protected ModifierStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyModifierStatement(ctx); + return new EmptyModifierStatement(ctx.coerceRawStatementArgument(), ctx.coerceStatementArgument()); } @Override - protected ModifierEffectiveStatement createEffective( - final StmtContext ctx, - final ModifierStatement declared, final ImmutableList> substatements) { - return new RegularModifierEffectiveStatement(declared, substatements); - } - - @Override - protected ModifierEffectiveStatement createEmptyEffective( - final StmtContext ctx, - final ModifierStatement declared) { - return new EmptyModifierEffectiveStatement(declared); + protected ModifierEffectiveStatement createEffective(final Current stmt, + final ImmutableList> substatements) { + return substatements.isEmpty() ? new EmptyModifierEffectiveStatement(stmt.declared()) + : new RegularModifierEffectiveStatement(stmt.declared(), substatements); } }