Uses of Record Class
org.ek9lang.compiler.phase7.generator.IteratorSetup
Packages that use IteratorSetup
-
Uses of IteratorSetup in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator that return IteratorSetupModifier and TypeMethodDescription(package private) IteratorSetupStreamPipelineMachinery.drainSourceToIterator(HelperSource source, ISymbol bucketType, boolean keepsUnset, DebugInfo debugInfo, List<IRInstr> instructions) As above;keepsUnsetappends with+=so an UNSET element survives the buffer - a stage never drops one (KeepsUnsetElements).(package private) IteratorSetupStreamPipelineMachinery.drainSourceToIterator(HelperSource source, ISymbol bucketType, DebugInfo debugInfo, List<IRInstr> instructions) MATERIALISE a buffering value source (a GROUP/SPLIT tracker's hasNextGroup/nextGroup, or an async executor's hasNext/next) into a fresh raw EK9_LIST buffer and return an IteratorSetup over it.SortSetup.iteratorSetup()Returns the value of theiteratorSetuprecord component.StreamSource.iteratorSetup()Returns the value of theiteratorSetuprecord component.(package private) IteratorSetupStreamPipelineMachinery.rawListIterator(String bufferVar, DebugInfo debugInfo, List<IRInstr> instructions) THE iterator over a stream's raworg.ek9.lang::Listbuffer:buffer.iterator()into a fresh managed temp, typed as the rawIteratorover the rawList- so the loops that read it cast eachnext()(anAny) to the element type.(package private) IteratorSetupStreamPipelineMachinery.sortBufferAndGetIterator(EK9Parser.StreamPartContext sortStage, String bufferVar, DebugInfo debugInfo, List<IRInstr> instructions) Sort a raw org.ek9.lang::List buffer in place and return an iterator over the sorted result.Methods in org.ek9lang.compiler.phase7.generator with parameters of type IteratorSetupModifier and TypeMethodDescription(package private) SortSetupStreamEmissionEngine.applySortToCollection(List<EK9Parser.StreamPartContext> stages, IteratorSetup iteratorSetup, ISymbol elementType, IAggregateSymbol collectionType, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions) (package private) voidStreamEmissionEngine.applyWindowedAsyncToCollection(List<EK9Parser.StreamPartContext> stages, int asyncIndex, List<EK9Parser.StreamPartContext> preAsyncStages, List<StageState> preAsyncStageStates, IteratorSetup iteratorSetup, ISymbol elementType, ISymbol asyncProducesType, String asyncExecutorVar, TerminalSetup terminalSetup, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions, List<StageState> postAsyncStates) Step C — the interleaved WINDOWED async driver for an unbounded source (the telemetry casecat udp | async | filter | head N | collect).(package private) ConditionAndPostLoopStreamPipelineMachinery.buildStreamLoop(IteratorSetup iteratorSetup, List<StageState.Counter> demandBounds, String itemVar, ISymbol itemType, boolean rawIterator, org.antlr.v4.runtime.tree.ParseTree probeSite, StreamLoopSink sink, DebugInfo debugInfo) The unified iterator-driven stream while-loop skeleton: condition scope (hasNext(), with the demand bounds - the segment's heads, or the async window - folded in ahead of it byStreamDemand) + body scope (binditerator.next()then theStreamLoopSinkbody-tail) + theConditionAndPostLoopthe caller emits withStreamPipelineMachinery.emitStreamLoop(ConditionAndPostLoop, String, DebugInfo, List).(package private) ConditionAndPostLoopStreamPipelineMachinery.buildUnprobedStreamLoop(IteratorSetup iteratorSetup, List<StageState.Counter> demandBounds, String itemVar, ISymbol itemType, boolean rawIterator, StreamLoopSink sink, DebugInfo debugInfo) StreamPipelineMachinery.buildStreamLoop(IteratorSetup, List, String, ISymbol, boolean, ParseTree, StreamLoopSink, DebugInfo)with NO loop-body coverage probe - the emission of a sorted bucket buffer (StreamEmissionEngine.bufferSortEmit), which has never carried one.StreamEmissionEngine.buildWindowRefill(IteratorSetup iteratorSetup, boolean isRawIterator, String submitItemVar, ISymbol elementType, String asyncExecutorVar, String inFlightVar, String oneVar, ISymbol integerType, List<EK9Parser.StreamPartContext> preAsyncStages, List<StageState> preAsyncStageStates, List<StageState.Counter> postHeads, org.ek9lang.compiler.phase7.generator.StreamEmissionEngine.AsyncCap cap, DebugInfo debugInfo) The windowed drain's REFILL step:if ([c1 < l1 AND ...] source.hasNext()) { bind submitItem = next(); [pre-async stages]; submit(submitItem); inFlight++ }.(package private) voidStreamEmissionEngine.continueOverIterator(List<EK9Parser.StreamPartContext> stages, IteratorSetup sourceIter, ISymbol sourceElementType, Function<List<IRInstr>, TerminalSetup> terminalResolver, boolean sourceUnbounded, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions) THE pipeline driver over a source iterator: emit a stream given assourceIterthroughstagesto the terminal, with NO composition limit.(package private) voidStreamEmissionEngine.continueOverIterator(List<EK9Parser.StreamPartContext> stages, IteratorSetup sourceIter, ISymbol sourceElementType, TerminalSetup terminalSetup, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions, boolean sourceUnbounded) THE pipeline driver over a terminal that is already resolved - the buffers' own re-entry: see the overload below.(package private) ConditionAndPostLoopStreamEmissionEngine.generateConditionAndBody(org.antlr.v4.runtime.tree.ParseTree probeSite, List<EK9Parser.StreamPartContext> stages, IteratorSetup iteratorSetup, String pipelineItemVar, ISymbol elementType, TerminalSetup terminalSetup, DebugInfo debugInfo, List<StageState> stageStates, boolean rawIterator, String pipelineScopeId, List<IRInstr> preLoopInstructions) Generate condition (hasNext) and body (next + stages + terminal pipe).Constructors in org.ek9lang.compiler.phase7.generator with parameters of type IteratorSetupModifierConstructorDescription(package private)SortSetup(IteratorSetup iteratorSetup, int sortIndex) Creates an instance of aSortSetuprecord class.(package private)StreamSource(IteratorSetup iteratorSetup, ISymbol elementType, boolean sourceUnbounded) Creates an instance of aStreamSourcerecord class.