Select copyPolicy for each StatementSupport class
[yangtools.git] / yang / rfc6643-parser-support / src / main / java / org / opendaylight / yangtools / rfc6643 / parser / ImpliedStatementSupport.java
index 541cd2280fde812920c2837a09d32dfc70e291d4..aa47a79ff65f7606d4f3caecd92f1a52a1ce8820 100644 (file)
@@ -15,6 +15,7 @@ import org.opendaylight.yangtools.rfc6643.model.api.ImpliedStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 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;
 
@@ -26,7 +27,7 @@ public final class ImpliedStatementSupport
     private static final ImpliedStatementSupport INSTANCE = new ImpliedStatementSupport();
 
     private ImpliedStatementSupport() {
-        super(IetfYangSmiv2ExtensionsMapping.IMPLIED);
+        super(IetfYangSmiv2ExtensionsMapping.IMPLIED, CopyPolicy.CONTEXT_INDEPENDENT);
     }
 
     public static ImpliedStatementSupport getInstance() {
@@ -41,7 +42,7 @@ public final class ImpliedStatementSupport
     @Override
     protected ImpliedStatement createDeclared(final StmtContext<String, ImpliedStatement, ?> ctx,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        return new ImpliedStatementImpl(ctx.coerceRawStatementArgument(), substatements);
+        return new ImpliedStatementImpl(ctx.getRawArgument(), substatements);
     }
 
     @Override
@@ -50,16 +51,8 @@ public final class ImpliedStatementSupport
     }
 
     @Override
-    protected ImpliedEffectiveStatement createEffective(
-            final StmtContext<String, ImpliedStatement, ImpliedEffectiveStatement> ctx,
-            final ImpliedStatement declared, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new ImpliedEffectiveStatementImpl(declared, substatements, ctx);
-    }
-
-    @Override
-    protected ImpliedEffectiveStatement createEmptyEffective(
-            final StmtContext<String, ImpliedStatement, ImpliedEffectiveStatement> ctx,
-            final ImpliedStatement declared) {
-        return createEffective(ctx, declared, ImmutableList.of());
+    protected ImpliedEffectiveStatement createEffective(final Current<String, ImpliedStatement> stmt,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        return new ImpliedEffectiveStatementImpl(stmt, substatements);
     }
 }
\ No newline at end of file