Integrate cast into verifyStatement() 89/101189/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 19:12:50 +0000 (21:12 +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>
(cherry picked from commit 34e08e56d4c5edf1fffbd1d67f07bdcbe2e7492f)

parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java

index e1efa60727ba983a1b4b7cafc8e27af00720dd85..ecb6e45cbe25521380e402b4021788fd3007c1dc 100644 (file)
@@ -342,10 +342,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;
@@ -393,8 +391,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
@@ -410,8 +407,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,