Simplify InferredStatementContext.hasEmptySubstatements() 38/105338/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 10 Apr 2023 18:33:27 +0000 (20:33 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 10 Apr 2023 18:33:27 +0000 (20:33 +0200)
SonarCloud is pointing out a code smell around explicit 'false',
refactor to eliminate it.

Change-Id: I7d6eb0f902d72dcdf616b48f9b02994b7280358c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java

index 64812bad073ce26643626d9623b36bd86e9e14b3..7f61710bec8c5ddf8ff3a727ff24a920f2e33859 100644 (file)
@@ -364,10 +364,9 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
 
     @Override
     boolean hasEmptySubstatements() {
-        if (substatements == null) {
-            return prototype.hasEmptySubstatements();
-        }
-        return substatements instanceof HashMap ? false : ((List<?>) substatements).isEmpty();
+        return substatements == null ? prototype.hasEmptySubstatements()
+            // Note: partial instantiation, as indicated by HashMap is always non-empty
+            : substatements instanceof List<?> list && list.isEmpty();
     }
 
     @Override