Correct Generator.findGenerator() return type 97/97397/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Sep 2021 08:09:45 +0000 (10:09 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Sep 2021 08:10:34 +0000 (10:10 +0200)
We can only ever return AbstractExplicitGenerator, make sure we reflect
that in method return type.

Change-Id: Ica9d309910836682476659cb09f9346e2fe16cc7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractCompositeGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java

index 2ea6f558a4d09759ed070923c4581005046eeffa..13907efec188891e2556772b8adf84625ecf622c 100644 (file)
@@ -83,10 +83,13 @@ abstract class AbstractCompositeGenerator<T extends EffectiveStatement<?, ?>> ex
     }
 
     @Override
-    final @Nullable Generator findGenerator(final EffectiveStatement<?, ?> stmt) {
+    final @Nullable AbstractExplicitGenerator<?> findGenerator(final EffectiveStatement<?, ?> stmt) {
         for (Generator gen : children) {
-            if (gen instanceof AbstractExplicitGenerator && ((AbstractExplicitGenerator<?>) gen).statement() == stmt) {
-                return gen;
+            if (gen instanceof AbstractExplicitGenerator) {
+                final AbstractExplicitGenerator<?> ret = (AbstractExplicitGenerator<?>) gen;
+                if (ret.statement() == stmt) {
+                    return ret;
+                }
             }
         }
         return null;
index 74c4a1b56073c555c46736077ef019f2dff65492..b096c3df70c578a2c61c034d59b6ee1f7cded10e 100644 (file)
@@ -99,11 +99,11 @@ public abstract class Generator implements Iterable<Generator> {
         return true;
     }
 
-    @Nullable Generator findGenerator(final EffectiveStatement<?, ?> stmt) {
+    @Nullable AbstractExplicitGenerator<?> findGenerator(final EffectiveStatement<?, ?> stmt) {
         return null;
     }
 
-    final @NonNull Generator getGenerator(final EffectiveStatement<?, ?> stmt) {
+    final @NonNull AbstractExplicitGenerator<?> getGenerator(final EffectiveStatement<?, ?> stmt) {
         return verifyNotNull(findGenerator(stmt), "Cannot match statement %s in %s", stmt, this);
     }