Fix DerivableSchemaNode.getOriginal()
[yangtools.git] / model / yang-model-ri / src / main / java / org / opendaylight / yangtools / yang / model / ri / stmt / impl / eff / AbstractLeafEffectiveStatement.java
index 2cd10957405e49f93f00a1120fd336579b0b5815..61a176aa2554d9c3835cc14ada0bd0d5de3e311e 100644 (file)
@@ -11,9 +11,7 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
@@ -34,28 +32,27 @@ import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.M
 
 public abstract class AbstractLeafEffectiveStatement
         extends AbstractDeclaredEffectiveStatement.Default<QName, LeafStatement>
-        implements LeafEffectiveStatement, LeafSchemaNode, DerivableSchemaNode,
-            DataSchemaNodeMixin<QName, LeafStatement>, MandatoryMixin<QName, LeafStatement>,
-            MustConstraintMixin<QName, LeafStatement> {
+        implements LeafEffectiveStatement, LeafSchemaNode, DataSchemaNodeMixin<LeafStatement>,
+            MandatoryMixin<QName, LeafStatement>, MustConstraintMixin<QName, LeafStatement> {
     private final @NonNull Object substatements;
-    private final @NonNull Immutable path;
+    private final @NonNull QName argument;
     private final @NonNull TypeDefinition<?> type;
     private final int flags;
 
-    AbstractLeafEffectiveStatement(final LeafStatement declared, final Immutable path, final int flags,
+    AbstractLeafEffectiveStatement(final LeafStatement declared, final QName argument, final int flags,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
         super(declared);
-        this.path = requireNonNull(path);
+        this.argument = requireNonNull(argument);
         this.substatements = maskList(substatements);
         this.flags = flags;
         // TODO: lazy instantiation?
         this.type = buildType();
     }
 
-    AbstractLeafEffectiveStatement(final AbstractLeafEffectiveStatement original, final Immutable path,
+    AbstractLeafEffectiveStatement(final AbstractLeafEffectiveStatement original, final QName argument,
             final int flags) {
         super(original);
-        this.path = requireNonNull(path);
+        this.argument = requireNonNull(argument);
         this.substatements = original.substatements;
         this.flags = flags;
         // FIXME: share with original?
@@ -74,12 +71,7 @@ public abstract class AbstractLeafEffectiveStatement
 
     @Override
     public final QName argument() {
-        return getQName();
-    }
-
-    @Override
-    public final Immutable pathObject() {
-        return path;
+        return argument;
     }
 
     @Override