Uses of Class
org.ek9lang.antlr.EK9Parser.StreamPartContext
Packages that use EK9Parser.StreamPartContext
Package
Description
E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
G - Full Symbol Resolution can now take place.
I - PRE Intermediate Representation generation checks.
Contains critical general components used in the
Ek9Compiler listeners.THE classification of stream stages by what they need from the stream - use these classes, never a list of stage
tokens of your own.
-
Uses of EK9Parser.StreamPartContext in org.ek9lang.antlr
Methods in org.ek9lang.antlr that return EK9Parser.StreamPartContextModifier and TypeMethodDescriptionEK9Parser.StreamExpressionContext.streamPart(int i) EK9Parser.streamPart()EK9Parser.StreamStatementContext.streamPart(int i) Methods in org.ek9lang.antlr that return types with arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionEK9Parser.StreamExpressionContext.streamPart()EK9Parser.StreamStatementContext.streamPart()Methods in org.ek9lang.antlr with parameters of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionvoidEK9BaseListener.enterStreamPart(EK9Parser.StreamPartContext ctx) Enter a parse tree produced byEK9Parser.streamPart().voidEK9Listener.enterStreamPart(EK9Parser.StreamPartContext ctx) Enter a parse tree produced byEK9Parser.streamPart().voidEK9BaseListener.exitStreamPart(EK9Parser.StreamPartContext ctx) Exit a parse tree produced byEK9Parser.streamPart().voidEK9Listener.exitStreamPart(EK9Parser.StreamPartContext ctx) Exit a parse tree produced byEK9Parser.streamPart().EK9BaseVisitor.visitStreamPart(EK9Parser.StreamPartContext ctx) Visit a parse tree produced byEK9Parser.streamPart().EK9Visitor.visitStreamPart(EK9Parser.StreamPartContext ctx) Visit a parse tree produced byEK9Parser.streamPart(). -
Uses of EK9Parser.StreamPartContext in org.ek9lang.compiler.phase1
Methods in org.ek9lang.compiler.phase1 with parameters of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionvoidDefinitionListener.enterStreamPart(EK9Parser.StreamPartContext ctx) -
Uses of EK9Parser.StreamPartContext in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type EK9Parser.StreamPartContextModifier and TypeClassDescription(package private) final classT8 (EK9_NATIVE_CYCLE_COLLECTOR_DESIGN.md §13.11): in a stream pipeline that contains anasyncstage, every function a stage is given is a concurrent entry point - not only the element functions the workers run.(package private) final classChecks the possible operation variable, literal or function for suitability for use with 'head', 'tail' and 'skip'.Methods in org.ek9lang.compiler.phase3 that return types with arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionStreamAssemblyData.streamParts()Returns the value of thestreamPartsrecord component.Methods in org.ek9lang.compiler.phase3 with parameters of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionvoidHeadTailSkipOrError.accept(EK9Parser.StreamPartContext ctx) Method parameters in org.ek9lang.compiler.phase3 with type arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionvoidAsyncPipelineStagesConcurrent.accept(List<EK9Parser.StreamPartContext> streamParts) Constructor parameters in org.ek9lang.compiler.phase3 with type arguments of type EK9Parser.StreamPartContextModifierConstructorDescriptionStreamAssemblyData(StreamCallSymbol source, List<EK9Parser.StreamPartContext> streamParts, StreamCallSymbol termination) Creates an instance of aStreamAssemblyDatarecord class. -
Uses of EK9Parser.StreamPartContext in org.ek9lang.compiler.phase5
Methods in org.ek9lang.compiler.phase5 with parameters of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionvoidDataRaceCheckListener.enterStreamPart(EK9Parser.StreamPartContext ctx) voidLockAnalysisListener.enterStreamPart(EK9Parser.StreamPartContext ctx) voidPreIRListener.enterStreamPart(EK9Parser.StreamPartContext ctx) voidOrderingResultSources.exitStreamPart(EK9Parser.StreamPartContext ctx) The function asort byuses is an ordering there (D91); one declared aComparatoris judged where it is declared instead, never twice.voidRetractedComparatorUseOrError.exitStreamPart(EK9Parser.StreamPartContext ctx) -
Uses of EK9Parser.StreamPartContext in org.ek9lang.compiler.phase7.generator
Classes in org.ek9lang.compiler.phase7.generator that implement interfaces with type arguments of type EK9Parser.StreamPartContextModifier and TypeClassDescription(package private) final classTHE heads that cap anasync(StreamDemand, decision 15 d): those reached from the async through stages that pass EVERY item on -map,call,teeand anotherhead- in pipeline order.(package private) final classTHE index of the first stage that ends a pipeline's demand segment, or -1 when every stage streams (StreamDemand, decision 10 rule B).(package private) final classTHE test of whether atee's side target (its last pipelinePart) is a bare identifier - a local the pipe can name, so it needs no pre-loop state (StageState.TeeSinkholds an expression target).(package private) final classTHE heads that bound the pull of a loop overstages(StreamDemand, decision 10 rule B): everyheadbefore the first stage that ends the demand segment (EndsDemandSegment), in pipeline order.Methods in org.ek9lang.compiler.phase7.generator that return EK9Parser.StreamPartContextModifier and TypeMethodDescriptionStageWrapParams.stageCtx()Returns the value of thestageCtxrecord component.Methods in org.ek9lang.compiler.phase7.generator that return types with arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionStageGroup.stages()Returns the value of thestagesrecord component.Methods in org.ek9lang.compiler.phase7.generator with parameters of type EK9Parser.StreamPartContextModifier and TypeMethodDescription(package private) voidStreamEmissionEngine.applyAsyncBufferSortEmit(String asyncExecutorVar, ISymbol asyncProducesType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions) Async-specific entry toStreamEmissionEngine.bufferSortEmit(HelperSource, ISymbol, List, EK9Parser.StreamPartContext, List, TerminalSetup, ParseTree, DebugInfo, List): drains the async executor (hasNext/next); its pipeline's finally region closes it.(package private) voidStreamEmissionEngine.bufferSortEmit(HelperSource source, ISymbol bucketType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions) (package private) ISymbolStreamPipelineMachinery.edgeConsumes(EK9Parser.StreamPartContext stage) The phase-3-resolved IN-edge (consumes) type of a stream stage, ornullif unresolved.(package private) ISymbolStreamPipelineMachinery.edgeProduces(EK9Parser.StreamPartContext stage) The phase-3-resolved OUT-edge (produces) type of a stream stage, ornullif the stage has no recordedStreamCallSymbolor no produced type set.StreamPipelineMachinery.generateDynamicStageLimit(EK9Parser.StreamPartContext stageCtx, String limitVar, ISymbol integerType, String scopeId, DebugInfo debugInfo) Generate IR to evaluate a dynamic stage operand (function reference or call) and store the Integer result in the given limit variable.(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.booleanIsTeeTargetIdentifier.test(EK9Parser.StreamPartContext teeStageCtx) Method parameters in org.ek9lang.compiler.phase7.generator with type arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionAsyncCappingHeads.apply(List<EK9Parser.StreamPartContext> postAsyncStages, List<StageState> postAsyncStates) The heads capping the async.PullBoundingHeads.apply(List<EK9Parser.StreamPartContext> stages, List<StageState> stageStates) The heads bounding the pull.intDemandSegmentEnd.applyAsInt(List<EK9Parser.StreamPartContext> stages) (package private) voidStreamEmissionEngine.applyAsyncBufferSortEmit(String asyncExecutorVar, ISymbol asyncProducesType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions) Async-specific entry toStreamEmissionEngine.bufferSortEmit(HelperSource, ISymbol, List, EK9Parser.StreamPartContext, List, TerminalSetup, ParseTree, DebugInfo, List): drains the async executor (hasNext/next); its pipeline's finally region closes it.(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) voidStreamEmissionEngine.bufferSortEmit(HelperSource source, ISymbol bucketType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, org.antlr.v4.runtime.tree.ParseTree probeSite, DebugInfo debugInfo, List<IRInstr> instructions) (package private) StageWrapResultStreamEmissionEngine.buildAsyncSubmitAction(String submitItemVar, ISymbol elementType, String asyncExecutorVar, String inFlightVar, String oneVar, ISymbol integerType, List<EK9Parser.StreamPartContext> preAsyncStages, List<StageState> preAsyncStageStates, org.ek9lang.compiler.phase7.generator.StreamEmissionEngine.AsyncCap cap, DebugInfo debugInfo) The per-item SUBMIT action shared by the windowed prime loop and the drain refill:executor.submit(item); inFlight++, wrapped in the pre-ASYNC stages (filter/map/etc.).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) booleanStreamPipelineMachinery.containsBufferBarrier(List<EK9Parser.StreamPartContext> stages) True if any stage is a pre-loop buffer-barrier (sort/group/split/tail) — these cannot be composed by the windowed async driver and (on an unbounded async) are rejected at phase 3.(package private) booleanStreamPipelineMachinery.containsBufferingCollection(List<EK9Parser.StreamPartContext> stages) True iffstagescontains a GROUP/SPLIT/ASYNC collection-buffer stage.(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) ISymbolStreamPipelineMachinery.effectivePostSortElementType(SortSetup sortSetup, List<EK9Parser.StreamPartContext> allStages, ISymbol sourceType) The element type the POST-sort pipeline (and terminal) observe.(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).(package private) StageSetupResultStreamPipelineMachinery.generateStageSetup(List<EK9Parser.StreamPartContext> stages, String scopeId, DebugInfo debugInfo) (package private) intStreamPipelineMachinery.indexOfFirstCollectionBuffer(List<EK9Parser.StreamPartContext> stages) Index of the first GROUP/SPLIT/ASYNC collection-buffer stage instages, or -1.(package private) intStreamPipelineMachinery.indexOfFirstSort(List<EK9Parser.StreamPartContext> stages) Index of the first SORT stage instages, or -1.(package private) PipelineVarPlanStreamPipelineMachinery.planPipelineVars(List<EK9Parser.StreamPartContext> stages, String sourceVar, ISymbol sourceType, String scopeId, DebugInfo debugInfo, List<IRInstr> declarationsOut) Compute the per-boundary item-variable plan for an in-loop stage list, allocating a fresh variable (declared at the produced type) only where a stage changes the element type.(package private) booleanStreamPipelineMachinery.sortReachableBeforeBuffer(List<EK9Parser.StreamPartContext> stages) True iff the NEXT buffering SORT instagesis reachable with no intervening collection-buffer (GROUP/SPLIT/ASYNC).(package private) StageWrapResultStreamEmissionEngine.terminalBodyTail(List<EK9Parser.StreamPartContext> stages, String itemVar, ISymbol itemType, TerminalSetup terminalSetup, String scopeId, List<IRInstr> preLoopInstructions, List<StageState> stageStates, String asyncExecutorVar, DebugInfo debugInfo) StreamEmissionEngine.terminalBodyTail(List, String, ISymbol, TerminalSetup, String, List, List, DebugInfo)over an async executor's results:asyncExecutorVaris handed to a HEAD among the stages so a satisfied head cancels the executor's outstanding work (null: no executor).(package private) StageWrapResultStreamEmissionEngine.terminalBodyTail(List<EK9Parser.StreamPartContext> stages, String itemVar, ISymbol itemType, TerminalSetup terminalSetup, String scopeId, List<IRInstr> preLoopInstructions, List<StageState> stageStates, DebugInfo debugInfo) The shared stream body-tail, used identically by the cat path (theStreamPipelineMachinery.buildStreamLoop(IteratorSetup, List, String, ISymbol, boolean, ParseTree, StreamLoopSink, DebugInfo)sink) and the for-range streaming body: plan the per-boundary item vars (declared pre-loop inpreLoopInstructionsso a post-loop consumer like JOIN's emit references a dominating var), pipe the final-typed item to the terminal, and wrap the result in the intermediate stages.(package private) voidStreamPipelineMachinery.withPipelineScope(List<EK9Parser.StreamPartContext> stages, boolean typedItem, String itemTypeName, DebugInfo debugInfo, List<IRInstr> instructions, PipelineScopeBody body) THE pipeline scope frame: mint and enter a scope, declare the pipeline's element slot in it (StreamPipelineMachinery.declareElementSlot(List, boolean, String, String, DebugInfo)), emit the pre-loop state ofstages(StreamPipelineMachinery.generateStageSetup(List, String, DebugInfo)), runbody(the loop or drain), then exit the scope - which drops the slot's last value.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, Supplier<List<IRInstr>> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates) Wrap an innermost body with intermediate pipeline stages in reverse order.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, Supplier<List<IRInstr>> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates, String asyncExecutorVar) Wrap inner body instructions with intermediate pipeline stages in reverse order.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, Supplier<List<IRInstr>> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates, String asyncExecutorVar, PipelineVarPlan plan) Core stage-wrapping with an explicit per-boundaryPipelineVarPlan.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, Supplier<List<IRInstr>> innerBody, List<StageState> stageStates, String asyncExecutorVar, PipelineVarPlan plan) Core stage-wrapping over an innermost body that is GENERATED on demand:innerBodyis called where the body is placed, so when aflattenortailopens a loop around it, what it registers is owned by that loop's iteration (A11).Constructors in org.ek9lang.compiler.phase7.generator with parameters of type EK9Parser.StreamPartContextModifierConstructorDescription(package private)StageWrapParams(EK9Parser.StreamPartContext stageCtx, List<IRInstr> innerBody, DebugInfo debugInfo) Creates an instance of aStageWrapParamsrecord class.Constructor parameters in org.ek9lang.compiler.phase7.generator with type arguments of type EK9Parser.StreamPartContextModifierConstructorDescription(package private)StageGroup(List<EK9Parser.StreamPartContext> stages, List<StageState> states) Creates an instance of aStageGrouprecord class. -
Uses of EK9Parser.StreamPartContext in org.ek9lang.compiler.support
Methods in org.ek9lang.compiler.support with parameters of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionStreamFactory.newStreamPart(EK9Parser.StreamPartContext ctx, IScope scope) Create a new symbol that represents an EK9 stream function part of a stream pipeline.SymbolFactory.newStreamPart(EK9Parser.StreamPartContext ctx, IScope scope) Create a new symbol that represents an EK9 stream function part of a stream pipeline. -
Uses of EK9Parser.StreamPartContext in org.ek9lang.compiler.support.streams
Classes in org.ek9lang.compiler.support.streams that implement interfaces with type arguments of type EK9Parser.StreamPartContextModifier and TypeClassDescriptionfinal classTrue when any stage's operator isopType.final classTHE walk of a pipeline whose source may be unbounded:headbounds the stream; while it is not bounded every stageneedsBoundedaccepts is a violation; and once anasynchas run on the unbounded stream, an async barrier (IsAsyncBarrier) is a violation even after ahead.final classThe index of the first stage whose operator isopType, or -1.Methods in org.ek9lang.compiler.support.streams that return types with arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionBoundedness.violations()Returns the value of theviolationsrecord component.Method parameters in org.ek9lang.compiler.support.streams with type arguments of type EK9Parser.StreamPartContextModifier and TypeMethodDescriptionBoundednessWalk.apply(List<EK9Parser.StreamPartContext> stages, Boolean sourceBounded) intIndexOfOp.applyAsInt(List<EK9Parser.StreamPartContext> stages, Integer opType) booleanAnyOp.test(List<EK9Parser.StreamPartContext> stages, Integer opType) Constructor parameters in org.ek9lang.compiler.support.streams with type arguments of type EK9Parser.StreamPartContextModifierConstructorDescriptionBoundedness(List<EK9Parser.StreamPartContext> violations, boolean boundedAtEnd) Creates an instance of aBoundednessrecord class.BoundednessWalk(Predicate<EK9Parser.StreamPartContext> needsBounded) A walk for one rule of what needs a bounded stream.