API reference
python:irx:irx.builder.protocols.VisitorProtocol
class VisitorProtocol
Source: packages/irx/src/irx/builder/protocols.py:317
Stable interface used by visitor mixins and runtime features.
Attributes
-
runtime_exception_types — Type: dict[str, ResolvedExceptionType]
-
exception_context — Type: ir.Value | None
-
exception_result_slot — Type: ir.Value | None
-
exception_targets — Type: list[ExceptionTarget]
-
pending_returns — Type: list[PendingReturn]
-
llvm_function_signatures — Type: dict[str, FunctionSignature]
-
_llvm — Type: VariablesLLVM
-
named_values — Type: NamedValueMap
-
const_vars — Type: set[str]
-
function_protos — Type: dict[str, astx.FunctionPrototype]
-
llvm_functions_by_symbol_id — Type: dict[str, ir.Function]
-
result_stack — Type: list[ResultStackValue]
-
_buffer_view_global_counter — Type: int
-
loop_stack — Type: list[LoopTargets]
-
cleanup_stack — Type: list[CleanupAction]
-
class_construction_stack — Type: list[ir.Value]
-
emitting_failure_cleanup — Type: bool
-
struct_types — Type: dict[str, ir.Type]
-
llvm_structs_by_qualified_name — Type: dict[str, ir.IdentifiedStructType]
-
runtime_features — Type: RuntimeFeatureState
-
entry_function_symbol_id — Type: str | None
-
_fast_math_enabled — Type: bool
-
_current_function_return_type — Type: astx.DataType | None
-
_current_function_signature — Type: FunctionSignature | None
-
_current_generator_frame_ptr — Type: ir.Value | None
-
_current_generator_frame_slots — Type: dict[str, int]
-
_current_generator_out_ptr — Type: ir.Value | None
-
_current_generator_next_state — Type: int | None
-
target — Type: llvm.TargetRef
-
target_machine — Type: llvm.TargetMachine
Methods
-
_apply_fast_math — Apply fast math.
-
_base_class_field_address — Lower one base-qualified class field access to an address.
-
_coerce_to — Coerce to.
-
_common_list_element_type — Common list element type.
-
_constant_subscript_key_matches — Constant subscript key matches.
-
_copy_string_to_heap — Copy one static string into owned heap storage.
-
_declare_semantic_function — Declare or reuse one semantic function.
-
_destroy_replaced_list — Destroy owned list storage before a validated replacement.
-
_destroy_replaced_string — Destroy owned string storage before a validated replacement.
-
_emit_active_cleanups — Emit all active cleanup actions.
-
_emit_fma — Emit fma.
-
_emit_runtime_subscript_lookup — Emit runtime subscript lookup.
-
_emit_temporary_cleanups — Emit and remove temporary cleanups after one stack depth.
-
_field_address — Lower one field access to an address.
-
_get_or_create_format_global — Get or create format global.
-
_handle_string_comparison — Handle string comparison.
-
_handle_string_concatenation — Handle string concatenation.
-
_i64_array_pointer — Lower one tuple of i64 values to a stable global pointer.
-
_is_numeric_value — Is numeric value.
-
_llvm_function_type_for_signature — Return one LLVM function type for semantic signature metadata.
-
_lvalue_address — Lower one mutable lvalue target to an address.
-
_mark_set_value — Mark set value.
-
_normalize_int_for_printf — Normalize int for printf.
-
_register_owned_list_temporary — Register cleanup for one non-transferred owned list temporary.
-
_register_owned_string_temporary — Register cleanup for one non-transferred owned string.
-
_snprintf_heap — Snprintf heap.
-
_static_class_field_address — Lower one static class field access to a global address.
-
_subscript_uses_unsigned_semantics — Subscript uses unsigned semantics.
-
_try_set_binary_op — Try set binary op.
-
_unify_numeric_operands — Unify numeric operands.
-
activate_runtime_feature — Activate runtime feature.
-
create_entry_block_alloca — Create entry block alloca.
-
declare_class — Declare a resolved class layout before lowering method bodies.
-
get_function — Get function.
-
llvm_function_name_for_node — Return the LLVM symbol name for a function node.
-
require_runtime_symbol — Require runtime symbol.
-
set_fast_math — Set fast math.