Use StatementPolicy instead of CopyPolicy
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / extension / ModelDefinedStatementSupport.java
index 3c8a75a45f75fe5271893fa60268011354bd4170..c3e307da4a3f48fa73f8e1960e3e87bafa7aac7b 100644 (file)
@@ -8,10 +8,11 @@
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
 
 import java.util.Optional;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import java.util.stream.Stream;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
-import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
+import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
@@ -22,12 +23,12 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
  *
  * @author Robert Varga
  */
-final class ModelDefinedStatementSupport extends AbstractStatementSupport<String,
-        UnrecognizedStatement, EffectiveStatement<String, UnrecognizedStatement>> {
+final class ModelDefinedStatementSupport
+        extends StatementSupport<String, UnrecognizedStatement, UnrecognizedEffectiveStatement> {
     private final UnrecognizedStatementSupport definition;
 
     ModelDefinedStatementSupport(final ModelDefinedStatementDefinition publicDefinition) {
-        super(publicDefinition);
+        super(publicDefinition, StatementPolicy.legacyDeclaredCopy());
         this.definition = new UnrecognizedStatementSupport(publicDefinition);
     }
 
@@ -37,9 +38,10 @@ final class ModelDefinedStatementSupport extends AbstractStatementSupport<String
     }
 
     @Override
-    public EffectiveStatement<String, UnrecognizedStatement> createEffective(
-            final StmtContext<String, UnrecognizedStatement, EffectiveStatement<String, UnrecognizedStatement>> ctx) {
-        return definition.createEffective(ctx);
+    public UnrecognizedEffectiveStatement createEffective(final Current<String, UnrecognizedStatement> stmt,
+            final Stream<? extends StmtContext<?, ?, ?>> declaredSubstatements,
+            final Stream<? extends StmtContext<?, ?, ?>> effectiveSubstatements) {
+        return definition.createEffective(stmt, declaredSubstatements, effectiveSubstatements);
     }
 
     @Override