BUG-7052: Move qnameFromArgument to StmtContextUtils
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / LeafStatementImpl.java
index 9225075464239807261e5e6251aabfb697da1c08..c51ea80e038a2819a459ef286b0893c43ffbb688 100644 (file)
@@ -30,6 +30,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.LeafEffectiveStatementImpl;
 
 public class LeafStatementImpl extends AbstractDeclaredStatement<QName> implements LeafStatement {
@@ -59,7 +60,7 @@ public class LeafStatementImpl extends AbstractDeclaredStatement<QName> implemen
         }
 
         @Override public QName parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
-            return Utils.qNameFromArgument(ctx,value);
+            return StmtContextUtils.qnameFromArgument(ctx,value);
         }
 
         @Override
@@ -82,6 +83,13 @@ public class LeafStatementImpl extends AbstractDeclaredStatement<QName> implemen
         protected SubstatementValidator getSubstatementValidator() {
             return SUBSTATEMENT_VALIDATOR;
         }
+
+        @Override
+        public void onFullDefinitionDeclared(
+                final StmtContext.Mutable<QName, LeafStatement, EffectiveStatement<QName, LeafStatement>> ctx) {
+            super.onFullDefinitionDeclared(ctx);
+            StmtContextUtils.validateIfFeatureAndWhenOnListKeys(ctx);
+        }
     }
 
     @Nullable @Override