return factory.createEffective(ctx, ctx.streamDeclared(), ctx.streamEffective());
}
- abstract Stream<? extends StmtContext<?, ?, ?>> streamDeclared();
+ /**
+ * Return a stream of declared statements which can be built into an {@link EffectiveStatement}, as per
+ * {@link StmtContext#buildEffective()} contract.
+ *
+ * @return Stream of supported declared statements.
+ */
+ // FIXME: we really want to unify this with streamEffective(), under its name
+ abstract Stream<? extends @NonNull StmtContext<?, ?, ?>> streamDeclared();
- abstract Stream<? extends StmtContext<?, ?, ?>> streamEffective();
+ /**
+ * Return a stream of inferred statements which can be built into an {@link EffectiveStatement}, as per
+ * {@link StmtContext#buildEffective()} contract.
+ *
+ * @return Stream of supported effective statements.
+ */
+ // FIXME: this method is currently a misnomer, but unifying with streamDeclared() would make this accurate again
+ abstract Stream<? extends @NonNull StmtContext<?, ?, ?>> streamEffective();
@Override
final boolean doTryToCompletePhase(final ModelProcessingPhase phase) {