Class BoundednessWalk
java.lang.Object
org.ek9lang.compiler.support.streams.BoundednessWalk
- All Implemented Interfaces:
BiFunction<List<EK9Parser.StreamPartContext>, Boolean, Boundedness>
public final class BoundednessWalk
extends Object
implements BiFunction<List<EK9Parser.StreamPartContext>, Boolean, Boundedness>
THE walk of a pipeline whose source may be unbounded:
head bounds the stream; while it is not bounded
every stage needsBounded accepts is a violation; and once an async has run on the unbounded
stream, an async barrier (IsAsyncBarrier) is a violation even after a head. The arguments are the
pipeline's stages in order and whether the source itself is bounded.-
Constructor Summary
ConstructorsConstructorDescriptionBoundednessWalk(Predicate<EK9Parser.StreamPartContext> needsBounded) A walk for one rule of what needs a bounded stream. -
Method Summary
Modifier and TypeMethodDescriptionapply(List<EK9Parser.StreamPartContext> stages, Boolean sourceBounded) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiFunction
andThen
-
Constructor Details
-
BoundednessWalk
A walk for one rule of what needs a bounded stream.- Parameters:
needsBounded- which stages need a bounded stream (the caller's rule: memory or never-completes)
-
-
Method Details
-
apply
- Specified by:
applyin interfaceBiFunction<List<EK9Parser.StreamPartContext>, Boolean, Boundedness>
-