Refactor AbstractEffectiveDocumentedNodeWithStatus
[yangtools.git] / yang / openconfig-parser-support / src / main / java / org / opendaylight / yangtools / openconfig / parser / AbstractHashedValueStatementSupport.java
index c71fd92ec745dce69d67cb56c8d0357ac96dd047..2b6f5be867b81b82aa5e8ffd2fdfffa60f3e8acd 100644 (file)
@@ -45,12 +45,14 @@ abstract class AbstractHashedValueStatementSupport
     private static final class Effective
             extends UnknownEffectiveStatementBase<Void, OpenConfigHashedValueStatement>
             implements OpenConfigHashedValueEffectiveStatement {
-
+        private final @NonNull StatementDefinition definition;
         private final SchemaPath path;
 
-        Effective(final StmtContext<Void, OpenConfigHashedValueStatement, ?> ctx,
-                final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-            super(ctx, substatements);
+        Effective(final OpenConfigHashedValueStatement declared,
+                final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
+                final StmtContext<Void, OpenConfigHashedValueStatement, ?> ctx) {
+            super(declared.argument(), declared, substatements, ctx);
+            definition = ctx.getPublicDefinition();
             path = ctx.coerceParentContext().getSchemaPath().get().createChild(
                 ctx.getPublicDefinition().getStatementName());
         }
@@ -65,6 +67,11 @@ abstract class AbstractHashedValueStatementSupport
         public SchemaPath getPath() {
             return path;
         }
+
+        @Override
+        public StatementDefinition statementDefinition() {
+            return definition;
+        }
     }
 
     private final SubstatementValidator validator;
@@ -97,7 +104,7 @@ abstract class AbstractHashedValueStatementSupport
             final StmtContext<Void, OpenConfigHashedValueStatement, OpenConfigHashedValueEffectiveStatement> ctx,
             final OpenConfigHashedValueStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new Effective(ctx, substatements);
+        return new Effective(declared, substatements, ctx);
     }
 
     @Override