Package org.ek9lang.compiler.phase7.generator
package org.ek9lang.compiler.phase7.generator
-
ClassDescriptionActs as base for most generators as they all require the context and in most cases need to generate debug information.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.Creates IR instructions for assignment expressions.Process assignment statement: variable = expression Uses RELEASE-then-RETAIN pattern for memory-safe assignments.Creates BasicBlock IR from EK9 instruction block contexts.Generates IR instructions for binary operations (e.g., addition, subtraction, comparison, etc.).Wrapper for BinaryOperationGenerator that injects the recursive expression processor.Creates IR instructions for block statements.Generates IR instructions for function/method calls.Unified processor for constructor call generation.Unified generator for all EK9 control flow constructs using CONTROL_FLOW_CHAIN.Creates IR instructions for expressions.Unified function call processor using CallDetailsBuilder for method resolution and promotion.Guarded assignment generator using unified CONTROL_FLOW_CHAIN approach.Generates IR instructions for guarded assignment operations (:=? - ASSIGN_UNSET).Data class to hold parameters for guarded assignment generation.Deals with generating the correct IR Instructions for processing any form of literal.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.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 IR instructions for unary operations (e.g., unary minus, increment, decrement, etc.).Wrapper for UnaryOperationGenerator that injects the recursive expression processor.Creates IR instructions for variable declarations.Creates IR instructions for variable only declarations.