Uses of Package
org.ek9lang.compiler.phase7.generator
Packages that use org.ek9lang.compiler.phase7.generator
Package
Description
K - Intermediate Representation Generation.
-
Classes in org.ek9lang.compiler.phase7.generator used by org.ek9lang.compiler.phase7ClassDescriptionStruct-style data holder for all Phase 7 IR generators and helpers.Deals with the generation of the IR for OperationDetails.
-
Classes in org.ek9lang.compiler.phase7.generator used by org.ek9lang.compiler.phase7.generatorClassDescriptionBase 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.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.Generates IR for close statements.Result of condition and body generation: the condition case details plus any post-loop instructions from stages like JOIN.Unified processor for constructor call generation.Unified IR generator for EK9 control flow operators using CONTROL_FLOW_CHAIN.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.Creates IR instructions for expressions.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.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.Generates IR for if/else statements using CONTROL_FLOW_CHAIN.Generates IR instructions for interpolated string expressions.Helper record for iterator setup results.Generates IR instructions for list literal expressions.Creates IR instructions for object access expressions.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.Helper record to pass initialization data between methods.IR Generation for the require statement.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 stream stage that inspects the flowing element WITHOUT changing it -filter,reject,tee.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.Helper record for terminal sink setup results.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.).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.