Package org.ek9lang.compiler.ir
package org.ek9lang.compiler.ir
-
ClassDescriptionRepresents a basic block in the EK9 IR - a sequence of instructions with single entry and exit.Specialized IR instruction for control flow operations (BRANCH, BRANCH_TRUE, BRANCH_FALSE, ASSERT, RETURN).Used with CallInstr, holds all the necessary details to make a call.Specialized IR instruction for method calls (CALL, CALL_VIRTUAL, CALL_STATIC, CALL_DISPATCHER).Record representing a single condition case within a SWITCH_CHAIN_BLOCK.Debug information for IR instructions to enable source mapping and debugging.Record containing optimization information for enum-based switch statements.Represents a field/property declaration in an EK9 construct (class, record, component, etc.).IR instruction for guarded assignment block (:=? operator) with null-safe capability.Models the concept of an Intermediate Representation construct.In EK9 every construct becomes one of these nodes.Base class for all IR instructions in the EK9 intermediate representation.Enumeration of all IR opcodes used in the EK9 intermediate representation.Specialized IR instruction for control flow labels (LABEL).IR instruction for loading literal/constant values.Defines the necessary structure for processing logical operations line AND/OR/XOR.IR instruction for logical operations (AND/OR) with short-circuit capability.The type of logical operation.Specialized IR instruction for memory operations (LOAD, STORE, ALLOCA, REFERENCE).An operation on some sort on a Construct.Just holds the details relating to the 'is set' functionality.IR instruction for question operator (expression?) with null-safe capability.Specialized IR instruction for scope management (SCOPE_ENTER, SCOPE_EXIT, SCOPE_REGISTER).Unified IR instruction for all EK9 control flow constructs.Record containing all information needed to create a SWITCH_CHAIN_BLOCK instruction.