Eliminate StmtContext.isRootContext() 36/58536/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 8 Jun 2017 16:43:21 +0000 (18:43 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 8 Jun 2017 16:44:11 +0000 (18:44 +0200)
This condition is already available by checking getParent(), so there
is no need for method proliferation.

Change-Id: I7eaeca1655dbdffe1a6738f439b12afa165e30b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangDataStatementImpl.java

index 3d338b73b3592d17f99121ec0fb3510a099eafa6..4bf2541ffccd9dbe9ccc3e2310b1bbef1ce365ce 100644 (file)
@@ -36,7 +36,9 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
     StatementDefinition getPublicDefinition();
 
     /**
-     * @return context of parent of statement
+     * Return the parent statement context, or null if this is the root statement.
+     *
+     * @return context of parent of statement, or null if this is the root statement.
      */
     @Nullable
     StmtContext<?, ?, ?> getParentContext();
@@ -125,8 +127,6 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
 
     StmtContext<?, ?, ?> getOriginalCtx();
 
-    boolean isRootContext();
-
     int getOrder();
 
     ModelProcessingPhase getCompletedPhase();
index 9e7aa45ce8c87b75f31dccea295c61539f6725e5..300c7e7f6f7bd7a63bc74778a84ed0c9837ef18f 100644 (file)
@@ -208,7 +208,7 @@ public final class StmtContextUtils {
 
     public static boolean isInExtensionBody(final StmtContext<?, ?, ?> stmtCtx) {
         StmtContext<?, ?, ?> current = stmtCtx;
-        while (!current.getParentContext().isRootContext()) {
+        while (current.getParentContext().getParentContext() != null) {
             current = current.getParentContext();
             if (producesDeclared(current, UnknownStatementImpl.class)) {
                 return true;
index 526756bd83b0d7ba47f4464ffb9fcfa628b224f8..3d1bef5e2a337257c42e616f32adeb5e9532b2e1 100644 (file)
@@ -175,14 +175,6 @@ public class RootStatementContext<A, D extends DeclaredStatement<A>, E extends E
         return Optional.of(SchemaPath.ROOT);
     }
 
-    /**
-     * @return true
-     */
-    @Override
-    public boolean isRootContext() {
-        return true;
-    }
-
     @Override
     public boolean isConfiguration() {
         return true;
index 198830eaf380220c0683245b37af6407aa86d0f4..59c3a650d301c52c9067abba4210ea57c2dfa4b5 100644 (file)
@@ -82,7 +82,7 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
     private SubstatementContext(final SubstatementContext<A, D, E> original, final QNameModule newQNameModule,
             final StatementContextBase<?, ?, ?> newParent, final CopyType typeOfCopy) {
         super(original);
-        this.parent = newParent;
+        this.parent = Preconditions.checkNotNull(newParent);
 
         if (newQNameModule != null) {
             final A originalArg = original.argument;
@@ -288,11 +288,6 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
         return Optional.fromNullable(local);
     }
 
-    @Override
-    public boolean isRootContext() {
-        return false;
-    }
-
     @Override
     public boolean isConfiguration() {
         // if this statement is within a 'yang-data' extension body, config substatements are ignored as if
index 860fd2d1033537dc4b90dca5c111ef404de9f7be..f528b3f5bac056e6dc78c6ab09a7dc49782471df 100644 (file)
@@ -364,7 +364,7 @@ public class UsesStatementImpl extends AbstractDeclaredStatement<QName> implemen
 
     private static QNameModule getNewQNameModule(final StmtContext<?, ?, ?> targetCtx,
             final StmtContext<?, ?, ?> stmtContext) {
-        if (targetCtx.isRootContext()) {
+        if (targetCtx.getParentContext() == null) {
             return targetCtx.getFromNamespace(ModuleCtxToModuleQName.class, targetCtx);
         }
         if (targetCtx.getPublicDefinition() == YangStmtMapping.AUGMENT) {
index fbe699e8344253455684d6d4571817d8c58d8590..a1719f4b1e6e073b8b06d0e93711018a33b234e0 100644 (file)
@@ -47,7 +47,7 @@ public class YangDataStatementImpl extends AbstractDeclaredStatement<String> imp
         }
 
         @Override
-        public String parseArgumentValue(final StmtContext<?, ?, ?> ctx, String value) {
+        public String parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
             return value;
         }
 
@@ -71,7 +71,7 @@ public class YangDataStatementImpl extends AbstractDeclaredStatement<String> imp
                 EffectiveStatement<String, UnknownStatement<String>>> ctx) {
             // as per https://tools.ietf.org/html/rfc8040#section-8,
             // yang-data is ignored unless it appears as a top-level statement
-            if (!ctx.getParentContext().isRootContext()) {
+            if (ctx.getParentContext().getParentContext() != null) {
                 ctx.setIsSupportedToBuildEffective(false);
             }
         }