Class PullBoundingHeads
java.lang.Object
org.ek9lang.compiler.phase7.generator.PullBoundingHeads
- All Implemented Interfaces:
BiFunction<List<EK9Parser.StreamPartContext>, List<StageState>, List<StageState.Counter>>
final class PullBoundingHeads
extends Object
implements BiFunction<List<EK9Parser.StreamPartContext>, List<StageState>, List<StageState.Counter>>
THE heads that bound the pull of a loop over
stages (StreamDemand, decision 10 rule B): every
head before the first stage that ends the demand segment (EndsDemandSegment), in pipeline order.
Empty when there is none (the loop is a plain hasNext()). Hold an instance.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply(List<EK9Parser.StreamPartContext> stages, List<StageState> stageStates) The heads bounding the pull.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiFunction
andThen
-
Constructor Details
-
PullBoundingHeads
PullBoundingHeads()
-
-
Method Details
-
apply
public List<StageState.Counter> apply(List<EK9Parser.StreamPartContext> stages, List<StageState> stageStates) The heads bounding the pull.- Specified by:
applyin interfaceBiFunction<List<EK9Parser.StreamPartContext>, List<StageState>, List<StageState.Counter>>- Parameters:
stages- the stages of the loopstageStates- their states, index for index
-