From: Robert Varga Date: Wed, 18 Nov 2020 12:49:09 +0000 (+0100) Subject: Clean up argument checking X-Git-Tag: v6.0.2~24 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=223f7753e408b981b0f077d14ede44b8037425c8 Clean up argument checking We have a few nullness reports, use coerceArgument() when we are implying a requirement. Change-Id: I9854f77eeb28945a6cac9fe86695a145eab0687d Signed-off-by: Robert Varga (cherry picked from commit 0b4969972e9facb9d0d1aa515e24b9a7073127ee) --- diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java index 7a4ad1fc40..ba212f5d87 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java @@ -49,9 +49,8 @@ public final class BaseStatementSupport extends BaseQNameStatementSupport baseStmtCtx) { - final Mutable baseParentCtx = baseStmtCtx.getParentContext(); + final Mutable baseParentCtx = baseStmtCtx.coerceParentContext(); if (baseParentCtx.producesDeclared(IdentityStatement.class)) { - final QName baseIdentityQName = baseStmtCtx.coerceStatementArgument(); final ModelActionBuilder baseIdentityAction = baseStmtCtx.newInferenceAction( ModelProcessingPhase.STATEMENT_DEFINITION); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java index eb34077b29..32cb703160 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java @@ -75,7 +75,7 @@ public final class ExtensionStatementSupport YinElementStatement.class); stmt.addToNs(StatementDefinitionNamespace.class, stmt.getStatementArgument(), - new ModelDefinedStatementSupport(new ModelDefinedStatementDefinition(stmt.getStatementArgument(), + new ModelDefinedStatementSupport(new ModelDefinedStatementDefinition(stmt.coerceStatementArgument(), argument != null ? argument.getStatementArgument() : null, yinElement != null && yinElement.coerceStatementArgument()))); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementSupport.java index c15b35f348..a1362b9c04 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementSupport.java @@ -69,7 +69,7 @@ public final class IfFeatureStatementSupport final ModelActionBuilder verifyFeatures = stmt.newInferenceAction(ModelProcessingPhase.EFFECTIVE_MODEL); final Map, QName> backRef = new HashMap<>(); - for (QName feature : stmt.getStatementArgument().getReferencedFeatures()) { + for (QName feature : stmt.coerceStatementArgument().getReferencedFeatures()) { backRef.put(verifyFeatures.requiresCtx(stmt, FeatureNamespace.class, feature, ModelProcessingPhase.EFFECTIVE_MODEL), feature); } diff --git a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6874Test.java b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6874Test.java index 05ec86613e..f13b6436bd 100644 --- a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6874Test.java +++ b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6874Test.java @@ -89,7 +89,7 @@ public class Bug6874Test { .build().getRootStatements().forEach(declaredStmt -> { if (declaredStmt instanceof ModuleStatement) { declaredStmt.declaredSubstatements().forEach(subStmt -> { - if (subStmt instanceof IncludeStatement && subStmt.rawArgument().equals("child-module")) { + if (subStmt instanceof IncludeStatement && "child-module".equals(subStmt.rawArgument())) { subStmt.declaredSubstatements().forEach(Bug6874Test::verifyDescAndRef); } });