From 9bb8886df13969f7b58c68e5aa54e0392d2641bc Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 8 Jun 2017 18:43:21 +0200 Subject: [PATCH] Eliminate StmtContext.isRootContext() This condition is already available by checking getParent(), so there is no need for method proliferation. Change-Id: I7eaeca1655dbdffe1a6738f439b12afa165e30b5 Signed-off-by: Robert Varga --- .../yangtools/yang/parser/spi/meta/StmtContext.java | 6 +++--- .../yangtools/yang/parser/spi/meta/StmtContextUtils.java | 2 +- .../yang/parser/stmt/reactor/RootStatementContext.java | 8 -------- .../yang/parser/stmt/reactor/SubstatementContext.java | 7 +------ .../yang/parser/stmt/rfc6020/UsesStatementImpl.java | 2 +- .../yang/parser/stmt/rfc6020/YangDataStatementImpl.java | 4 ++-- 6 files changed, 8 insertions(+), 21 deletions(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java index 3d338b73b3..4bf2541ffc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java @@ -36,7 +36,9 @@ public interface StmtContext, 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, E extends Effect StmtContext getOriginalCtx(); - boolean isRootContext(); - int getOrder(); ModelProcessingPhase getCompletedPhase(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java index 9e7aa45ce8..300c7e7f6f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java @@ -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; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java index 526756bd83..3d1bef5e2a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java @@ -175,14 +175,6 @@ public class RootStatementContext, E extends E return Optional.of(SchemaPath.ROOT); } - /** - * @return true - */ - @Override - public boolean isRootContext() { - return true; - } - @Override public boolean isConfiguration() { return true; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java index 198830eaf3..59c3a650d3 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java @@ -82,7 +82,7 @@ final class SubstatementContext, E extends Eff private SubstatementContext(final SubstatementContext 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, 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 diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java index 860fd2d103..f528b3f5ba 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java @@ -364,7 +364,7 @@ public class UsesStatementImpl extends AbstractDeclaredStatement 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) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangDataStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangDataStatementImpl.java index fbe699e834..a1719f4b1e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangDataStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangDataStatementImpl.java @@ -47,7 +47,7 @@ public class YangDataStatementImpl extends AbstractDeclaredStatement 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 imp EffectiveStatement>> 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); } } -- 2.36.6