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.THE generated close chain in IR - use it, never build a property close by hand (Steve, 2026-10-06: "if you hold it, you close it"; the C++/Swift destructor model).Result of condition and body generation: the condition case details plus any post-loop instructions from stages like JOIN.THE constructor call: every source call that constructs an object is lowered here, and nowhere else.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.Result holder for each step in the chain processing.Per-stage-boundary item variable plan.Generates IR instructions for primary references (THIS and SUPER keywords).THE instance initialisation of a type's properties, in declaration order - the body of its_i_init.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.THE compiler-generatedclose: the one place IR for closing a resource is built, so every route that closes something names the same owner, the same method, the same metadata and the same failure rule.A value to close.The region's first-failure variable, declared (null) BEFORE the region byResourceCloser.declareFirstFailure(ResourceCloser.FirstFailure, DebugInfo)- it must be definitely assigned where the region's handlers start.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.The UNNAMED half of the closeable ownership rule (Steve, 2026-10-05): "A closeable value you never NAME is owned by the statement that created it and closed when that statement finishes; a closeable value you NAME must be declared as a try-with-resources resource." The named half is phase 5's E81056 (CloseableLocalOrError).WhatStatementOwnedCloseables.own(List, DebugInfo)found.Creates IR instructions for statements.THE demand rule of a stream pipeline:head Nbounds the PULL (decision 10, rule B) - use this, never re-derive which heads gate a loop or how the gate is folded into a loop condition.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 record of stream stage function operands that were EVALUATED once, before the pipeline, rather than named - use it, do not re-derive which operands need evaluating.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.