Convert trivial CopyPolicy users to StatementPolicy
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / prefix / PrefixStatementSupport.java
index cfdf31a83206e5cb6dd83095d35511b8e82da90f..c384a5b10efdb44e7d4b0ddcf93779a2586e915d 100644 (file)
@@ -14,6 +14,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStringStatementSupport;
+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;
 
@@ -24,7 +25,7 @@ public final class PrefixStatementSupport
     private static final PrefixStatementSupport INSTANCE = new PrefixStatementSupport();
 
     private PrefixStatementSupport() {
-        super(YangStmtMapping.PREFIX);
+        super(YangStmtMapping.PREFIX, StatementPolicy.reject());
     }
 
     public static PrefixStatementSupport getInstance() {
@@ -39,24 +40,18 @@ public final class PrefixStatementSupport
     @Override
     protected PrefixStatement createDeclared(final StmtContext<String, PrefixStatement, ?> ctx,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        return new RegularPrefixStatement(ctx, substatements);
+        return new RegularPrefixStatement(ctx.getRawArgument(), substatements);
     }
 
     @Override
     protected PrefixStatement createEmptyDeclared(final StmtContext<String, PrefixStatement, ?> ctx) {
-        return new EmptyPrefixStatement(ctx);
+        return new EmptyPrefixStatement(ctx.getRawArgument());
     }
 
     @Override
-    protected PrefixEffectiveStatement createEffective(
-            final StmtContext<String, PrefixStatement, PrefixEffectiveStatement> ctx, final PrefixStatement declared,
+    protected PrefixEffectiveStatement createEffective(final Current<String, PrefixStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new RegularPrefixEffectiveStatement(declared, substatements);
-    }
-
-    @Override
-    protected PrefixEffectiveStatement createEmptyEffective(
-            final StmtContext<String, PrefixStatement, PrefixEffectiveStatement> ctx, final PrefixStatement declared) {
-        return new EmptyPrefixEffectiveStatement(declared);
+        return substatements.isEmpty() ? new EmptyPrefixEffectiveStatement(stmt.declared())
+            : new RegularPrefixEffectiveStatement(stmt.declared(), substatements);
     }
 }