Package org.ek9lang.compiler.phase7.generator
package org.ek9lang.compiler.phase7.generator
-
ClassDescriptionBase class for assert expression generators (assertThrows, assertDoesNotThrow).Result of building the assertion expression body.Base class for all IR generators providing common utilities for safer symbol access, temporary variable creation, and type extraction.Both AND/OR are very similar in processing, the only real differences are:
What operation to call and the op code to generate.THE shared vocabulary for stream pipeline IR generation - extend this rather than re-deriving any of these steps inside an individual stage.Pulls out the common code for variable and variable-only declarations.IR Generation for the assertDoesNotThrow expression.IR Generation for the assertPanic expression.IR Generation for the assert statement.IR Generation for the assertThrows expression.Creates IR instructions for assignment expressions.Process assignment statement: variable = expression Uses RELEASE-then-RETAIN pattern for memory-safe assignments.Generates IR instructions for binary operations (e.g., addition, subtraction, comparison, etc.).Creates IR instructions for block statements.The (object, primitive) Boolean vars naming a grouping stage's per-item boundary condition.Builds a grouping stage's per-item boundary condition into the drain inner body.The runtime tracker a bucketing stage accumulates into, and what it hands downstream.Everything a buffering stage needs.Generates IR instructions for function/method calls.Generate function invocation for a call stage.Generates IR for close statements.Result of condition and body generation: the condition case details plus any post-loop instructions from stages like JOIN.Result of evaluating a condition expression (with optional guard variables).THE resolver of phase-5 quality metrics for one operation, for every IR generator that registers a function entry withCoverageProbePlacer.Unified processor for constructor call generation.Unified IR generator for EK9 control flow operators using CONTROL_FLOW_CHAIN.Resolves the user-facing display name for a function/method symbol used in coverage and quality reports.Generates IR instructions for dict literal expressions.The evaluatedhasNext()condition of a drain loop: its own scope, the instructions that compute it, and the primitive-boolean variable holding the answer.Generates ARC-safe assignment instructions for expression form control flow branches.Creates IR instructions for expressions.Gate the flowing element on a predicate:filtercontinues downstream when the predicate is true,rejectwhen it is false.Generate a nested iterator loop for a flatten stage.Generates IR for for-in loops and expressions: for item in collection.Generates IR for for-range loops and expressions using FOR_RANGE_POLYMORPHIC instruction.Coordinates for-statement IR generation by delegating to specialized generators.A Boolean LEFT operand for a short-circuit AND: a FRESH SSA temp (loaded from an alloca-backed var) plus its primitive.Unified function call processor using CallDetailsBuilder for method resolution and promotion.Struct-style data holder for all Phase 7 IR generators and helpers.Guarded assignment generator using unified CONTROL_FLOW_CHAIN approach.Evaluates conditions with optional guard variables for all control flow constructs.Result of condition evaluation containing both instructions and primitive condition.Orchestrates the common guard + scope + return variable pattern shared by control flow generators (while, do-while, for-range, for-in, try-catch).Context record passed to core generator lambdas.Generate comparison and conditional wrapper for a head or skipping stage.Generates IR for if/else statements using CONTROL_FLOW_CHAIN.Generates IR instructions for interpolated string expressions.Static factory for creating complete tree of IR generators ONCE per construct.Helper record for iterator setup results.Generate join (left-fold reduction) wrapper for a join stage.Generates IR instructions for list literal expressions.Deals with generating the correct IR Instructions for processing any form of literal.Shared helper for guard variable evaluation in control flow constructs.Generate function call and pipeline item reassignment for a map stage.Creates IR instructions for object access expressions.Deals with the generation of the IR for OperationDetails.Per-stage-boundary item variable plan.Generates IR instructions for primary references (THIS and SUPER keywords).Generates IR instructions for question operator (?) using unified SWITCH_CHAIN_BLOCK.Shared helper for range iteration logic used by both for-range loops and stream for-range sources.Parameters for case constructor (AscendingCase or DescendingCase).Helper record to pass initialization data between methods.IR Generation for the require statement.Processes returningParam context from expression forms of control flow constructs.Generates IR instructions for Boolean AND operations using LOGICAL_AND_BLOCK pattern.Generates IR instructions for Boolean OR operations using LOGICAL_OR_BLOCK pattern.Result of sorting a buffer and creating an iterator over the sorted result.Result of sort transformation: the new iterator setup and the sort index.A run of pipeline stages together with their pre-loop state - the two always travel as a pair, positionally aligned, and are meaningless apart.Result of stage initialization: pre-loop instructions and per-stage state.Holds per-stage state for stateful pipeline stages.The three things EVERY stream stage needs, whatever its shape: which stage it is, what runs downstream of it, and the debug info to stamp on what it emits.Result of wrapping stages: the per-iteration body and any post-loop instructions.Creates IR instructions for statements.A stage that cannot stream: it must see the whole source before it can emit anything, so instead of wrapping the loop body it REPLACES the pipeline - draining the source into a buffer pre-loop, then emitting from that buffer through the remaining stages.A stream stage that inspects the flowing element WITHOUT changing it -filter,reject,tee.The buffered-emission engine: the stages that cannot stream, and the pipeline bodies they emit.Produces the loop body-tail after the iterator item is bound: stages + sink.The pipeline machinery shared by the orchestrator and the buffered-emission engine: draining a source to an iterator, planning the per-stage item variables, building the stream loop, and setting up per-stage pre-loop state.A stream stage that CANNOT emit during the loop -join,tail.What a pipeline is reading from: the iterator, the type of element it yields, and whether that source can go on forever.Discriminates a pipeline stage to its generator and nests the wraps.A stream stage that TRANSFORMS the flowing element -map,call,flatten.Generates IR for stream statement pipelines: source | stages | > terminal.Generates short-circuit OR chains for multiple switch case expressions.Result of comparison generation.Generates IR for switch statements and expressions using CONTROL_FLOW_CHAIN.Record to hold evaluation variable information.Generate tail wrapper using an Ek9Tail circular buffer.Generate tee side-pipe and continuation for a tee stage.Helper record for terminal sink setup results.Generates IR for text body methods with implicit String return.Generates IR for throw statements.Generates IR for try/catch/finally constructs using CONTROL_FLOW_CHAIN.Generates IR instructions for unary operations (e.g., unary minus, increment, decrement, etc.).Generate tracker call and conditional wrapper for a uniq stage.Creates IR instructions for variable declarations.Creates IR instructions for variable only declarations.Generates IR for while and do-while loops and expressions using CONTROL_FLOW_CHAIN.