Promote FeatureSet
[yangtools.git] / parser / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / SubstatementContext.java
index ca287ad0a1ab5024f55531130c72e8c8cca8f7e6..f3aaa889c6028872901aebef0c4bf927978e3b7f 100644 (file)
@@ -11,8 +11,6 @@ import static java.util.Objects.requireNonNull;
 
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
-import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
 
 final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends EffectiveStatement<A, D>> extends
@@ -23,31 +21,15 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
     private SubstatementContext(final SubstatementContext<A, D, E> original,
             final StatementContextBase<?, ?, ?> parent) {
         super(original);
-        this.parent = requireNonNull(parent, "Parent must not be null");
-        this.argument = original.argument;
+        this.parent = requireNonNull(parent);
+        argument = original.argument;
     }
 
-    SubstatementContext(final StatementContextBase<?, ?, ?> parent, final StatementDefinitionContext<A, D, E> def,
+    SubstatementContext(final OriginalStmtCtx<?, ?, ?> parent, final StatementDefinitionContext<A, D, E> def,
             final StatementSourceReference ref, final String rawArgument) {
         super(def, ref, rawArgument);
-        this.parent = requireNonNull(parent, "Parent must not be null");
-        this.argument = def.parseArgumentValue(this, rawArgument());
-    }
-
-    SubstatementContext(final StatementContextBase<?, ?, ?> parent, final StatementDefinitionContext<A, D, E> def,
-            final StatementSourceReference ref, final A argument) {
-        super(def, ref, null);
-        this.parent = requireNonNull(parent, "Parent must not be null");
-        this.argument = argument != null ? argument : def.parseArgumentValue(this, null);
-    }
-
-    // FIXME: YANGTOOLS-784: this constructor is only called in contexts where a different implementation
-    //                       would be more appropriate
-    SubstatementContext(final StatementContextBase<?, ?, ?> parent, final StatementDefinitionContext<A, D, E> def,
-            final StatementSourceReference ref, final String rawArgument, final A argument, final CopyType copyType) {
-        super(def, ref, rawArgument, copyType);
-        this.parent = requireNonNull(parent, "Parent must not be null");
-        this.argument = argument;
+        this.parent = requireNonNull(parent);
+        argument = def.parseArgumentValue(this, rawArgument());
     }
 
     @Override
@@ -72,12 +54,7 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
     }
 
     @Override
-    public StorageNodeType getStorageNodeType() {
-        return StorageNodeType.STATEMENT_LOCAL;
-    }
-
-    @Override
-    public StatementContextBase<?, ?, ?> getParentNamespaceStorage() {
+    public StatementContextBase<?, ?, ?> getParentStorage() {
         return parent;
     }