import com.google.common.collect.ImmutableList;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
final ModelProcessingPhase phase = getCompletedPhase();
checkState(phase == ModelProcessingPhase.FULL_DECLARATION || phase == ModelProcessingPhase.EFFECTIVE_MODEL,
"Cannot build declared instance after phase %s", phase);
- return declaredInstance = definition().getFactory().createDeclared(this);
+ return declaredInstance = definition().getFactory().createDeclared(this, substatementsAsDeclared());
+ }
+
+ private @NonNull Stream<DeclaredStatement<?>> substatementsAsDeclared() {
+ // FIXME: YANGTOOLS-1383: this stream includes implicit case statements, but it should not
+ return substatements.stream().map(AbstractResumedStatement::declared);
}
@Override
}
@Override
- final Iterable<ReactorStmtCtx<?, ?, ?>> effectiveChildrenToComplete() {
- return effective;
+ final Iterator<ReactorStmtCtx<?, ?, ?>> effectiveChildrenToComplete() {
+ return effective.iterator();
}
@Override