Package org.ek9lang.compiler.phase7.generator
package org.ek9lang.compiler.phase7.generator
-
ClassDescriptionBase 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.Pulls out the common code for variable and variable-only declarations.gIR Generation for the assert statement.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.Generates IR instructions for function/method calls.Result of evaluating a condition expression (with optional guard variables).Unified processor for constructor call generation.Unified IR generator for EK9 control flow operators using CONTROL_FLOW_CHAIN.Generates ARC-safe assignment instructions for expression form control flow branches.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.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.Generates IR for if/else statements using CONTROL_FLOW_CHAIN.Static factory for creating complete tree of IR generators ONCE per construct.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.Creates IR instructions for object access expressions.Deals with the generation of the IR for OperationDetails.Generates IR instructions for primary references (THIS and SUPER keywords).Generates IR instructions for question operator (?) using unified SWITCH_CHAIN_BLOCK.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.Creates IR instructions for statements.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.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.