Reformulate StatementContextFactory.createEffective()
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / refine / AbstractRefineStatementSupport.java
index 8f803e426079abaaae916adbdac306350da757bf..a2f746d46eb2964eb2a728227bdd92e5b01f96d1 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils;
 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;
 
 abstract class AbstractRefineStatementSupport
@@ -44,18 +45,10 @@ abstract class AbstractRefineStatementSupport
     }
 
     @Override
-    protected final RefineEffectiveStatement createEffective(
-            final StmtContext<Descendant, RefineStatement, RefineEffectiveStatement> ctx,
-            final RefineStatement declared, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new RefineEffectiveStatementImpl(declared, substatements, ctx.getSchemaPath().get(),
-            (SchemaNode) ctx.getEffectOfStatement().iterator().next().buildEffective());
-    }
-
-    @Override
-    protected final RefineEffectiveStatement createEmptyEffective(
-            final StmtContext<Descendant, RefineStatement, RefineEffectiveStatement> ctx,
-            final RefineStatement declared) {
+    protected final RefineEffectiveStatement createEffective(final Current<Descendant, RefineStatement> stmt,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
         // Empty refine is exceedingly unlikely: let's be lazy and reuse the implementation
-        return createEffective(ctx, declared, ImmutableList.of());
+        return new RefineEffectiveStatementImpl(stmt.declared(), substatements, stmt.getSchemaPath(),
+                (SchemaNode) stmt.caerbannog().getEffectOfStatement().iterator().next().buildEffective());
     }
 }