Integrate cast into verifyStatement() 86/101186/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 17 May 2022 18:39:38 +0000 (20:39 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 17 May 2022 18:40:11 +0000 (20:40 +0200)
We end up casting the statement in most cases, integrate it into
verifyStatement().

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

index 570e7a54f6a82b53c9ca5fb308a177989c848e6a..c7871bc0dd00aba2734b43ec5f38a20b333d3ebe 100644 (file)
@@ -329,10 +329,8 @@ abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E extends
 
     final List<ReactorStmtCtx<?, ?, ?>> addEffectiveSubstatement(final List<ReactorStmtCtx<?, ?, ?>> effective,
             final Mutable<?, ?, ?> substatement) {
-        verifyStatement(substatement);
-
+        final ReactorStmtCtx<?, ?, ?> stmt = verifyStatement(substatement);
         final List<ReactorStmtCtx<?, ?, ?>> resized = beforeAddEffectiveStatement(effective, 1);
-        final ReactorStmtCtx<?, ?, ?> stmt = (ReactorStmtCtx<?, ?, ?>) substatement;
         ensureCompletedExecution(stmt);
         resized.add(stmt);
         return resized;
@@ -380,8 +378,7 @@ abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E extends
 
     // exposed for InferredStatementContext only
     final void ensureCompletedPhase(final Mutable<?, ?, ?> stmt) {
-        verifyStatement(stmt);
-        ensureCompletedExecution((ReactorStmtCtx<?, ?, ?>) stmt);
+        ensureCompletedExecution(verifyStatement(stmt));
     }
 
     // Make sure target statement has transitioned at least to our phase (if we have one). This method is just before we
@@ -397,8 +394,9 @@ abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E extends
         verify(stmt.tryToCompletePhase(executionOrder), "Statement %s cannot complete phase %s", stmt, executionOrder);
     }
 
-    private static void verifyStatement(final Mutable<?, ?, ?> stmt) {
+    private static ReactorStmtCtx<?, ?, ?> verifyStatement(final Mutable<?, ?, ?> stmt) {
         verify(stmt instanceof ReactorStmtCtx, "Unexpected statement %s", stmt);
+        return (ReactorStmtCtx<?, ?, ?>) stmt;
     }
 
     private List<ReactorStmtCtx<?, ?, ?>> beforeAddEffectiveStatement(final List<ReactorStmtCtx<?, ?, ?>> effective,