Refactor InferenceAction
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / BaseStatementImpl.java
index 1d35d829614fbf66e917cc85cd58c7a16cc888b3..e0c5b7a5ef17392104ad1d3885d179aa86032cf8 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.DerivedIdentitiesNamespac
 import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceAction;
+import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prerequisite;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@@ -78,11 +79,11 @@ public class BaseStatementImpl extends AbstractDeclaredStatement<QName> implemen
 
                 baseIdentityAction.apply(new InferenceAction() {
                     @Override
-                    public void apply() {
-                        List<StmtContext<?, ?, ?>> derivedIdentities =
-                                baseStmtCtx.getFromNamespace(DerivedIdentitiesNamespace.class, baseStmtCtx.getStatementArgument());
+                    public void apply(final InferenceContext ctx) {
+                        List<StmtContext<?, ?, ?>> derivedIdentities = baseStmtCtx.getFromNamespace(
+                            DerivedIdentitiesNamespace.class, baseStmtCtx.getStatementArgument());
                         if (derivedIdentities == null) {
-                            derivedIdentities = new ArrayList<>();
+                            derivedIdentities = new ArrayList<>(1);
                             baseStmtCtx.addToNs(DerivedIdentitiesNamespace.class, baseIdentityQName, derivedIdentities);
                         }
                         derivedIdentities.add(baseParentCtx);
@@ -98,13 +99,6 @@ public class BaseStatementImpl extends AbstractDeclaredStatement<QName> implemen
             }
         }
 
-        @Override
-        public void onFullDefinitionDeclared(
-                final Mutable<QName, BaseStatement, EffectiveStatement<QName, BaseStatement>> stmt) {
-            super.onFullDefinitionDeclared(stmt);
-            getSubstatementValidator().validate(stmt);
-        }
-
         @Override
         protected SubstatementValidator getSubstatementValidator() {
             return SUBSTATEMENT_VALIDATOR;