Reformulate StatementContextFactory.createEffective()
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / pattern / AbstractPatternStatementSupport.java
index 339bbdc5e9ca6054f78540622a540a2437732887..a799b6741118a8176f3afd36ec7bafdd2dd02c4b 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.PatternExpression;
 import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
 import org.opendaylight.yangtools.yang.model.util.RegexUtils;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport;
+import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 
@@ -52,16 +53,9 @@ abstract class AbstractPatternStatementSupport
     }
 
     @Override
-    protected final PatternEffectiveStatement createEffective(
-            final StmtContext<PatternExpression, PatternStatement, PatternEffectiveStatement> ctx,
-            final PatternStatement declared, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new RegularPatternEffectiveStatement(declared, substatements);
-    }
-
-    @Override
-    protected final PatternEffectiveStatement createEmptyEffective(
-            final StmtContext<PatternExpression, PatternStatement, PatternEffectiveStatement> ctx,
-            final PatternStatement declared) {
-        return new EmptyPatternEffectiveStatement(declared);
+    protected final PatternEffectiveStatement createEffective(final Current<PatternExpression, PatternStatement> stmt,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        return substatements.isEmpty() ? new EmptyPatternEffectiveStatement(stmt.declared())
+            : new RegularPatternEffectiveStatement(stmt.declared(), substatements);
     }
 }