irx.analysis.module_symbols
irx.analysis.module_symbols
Source: packages/irx/src/irx/analysis/module_symbols.py
title: Module-aware semantic identity and LLVM mangling helpers.
summary: >-
Centralize module-qualified semantic ids and deterministic LLVM mangling
rules for cross-module declarations.Functions
function_key(module_key: ModuleKey, name: str) -> tuple[ModuleKey, str]
title: Return a module-aware function registry key.
parameters:
module_key:
type: ModuleKey
name:
type: str
returns:
type: tuple[ModuleKey, str]struct_key(module_key: ModuleKey, name: str) -> tuple[ModuleKey, str]
title: Return a module-aware struct registry key.
parameters:
module_key:
type: ModuleKey
name:
type: str
returns:
type: tuple[ModuleKey, str]class_key(module_key: ModuleKey, name: str) -> tuple[ModuleKey, str]
title: Return a module-aware class registry key.
parameters:
module_key:
type: ModuleKey
name:
type: str
returns:
type: tuple[ModuleKey, str]qualified_function_name(module_key: ModuleKey, name: str) -> str
title: Return a qualified semantic function name.
parameters:
module_key:
type: ModuleKey
name:
type: str
returns:
type: strqualified_class_name(module_key: ModuleKey, name: str) -> str
title: Return a qualified semantic class name.
parameters:
module_key:
type: ModuleKey
name:
type: str
returns:
type: strqualified_struct_name(module_key: ModuleKey, name: str) -> str
title: Return a qualified semantic struct name.
parameters:
module_key:
type: ModuleKey
name:
type: str
returns:
type: strqualified_class_member_name(module_key: ModuleKey, class_name: str, member_name: str, overload_key: str | None=None) -> str
title: Return a qualified semantic class-member name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
member_name:
type: str
overload_key:
type: str | None
returns:
type: strqualified_class_method_name(module_key: ModuleKey, class_name: str, method_name: str, overload_key: str | None=None) -> str
title: Return a qualified semantic class-method function name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
method_name:
type: str
overload_key:
type: str | None
returns:
type: strqualified_local_name(module_key: ModuleKey, kind: str, name: str, symbol_id: str) -> str
title: Return a qualified semantic local symbol name.
parameters:
module_key:
type: ModuleKey
kind:
type: str
name:
type: str
symbol_id:
type: str
returns:
type: strspecialized_function_basename(function_name: str, arg_type_names: tuple[str, ...]) -> str
title: Return a deterministic specialization basename.
parameters:
function_name:
type: str
arg_type_names:
type: tuple[str, Ellipsis]
returns:
type: strmangle_function_name(module_key: ModuleKey, function_name: str) -> str
title: Return a deterministic LLVM function name.
parameters:
module_key:
type: ModuleKey
function_name:
type: str
returns:
type: strmangle_struct_name(module_key: ModuleKey, struct_name: str) -> str
title: Return a deterministic LLVM struct name.
parameters:
module_key:
type: ModuleKey
struct_name:
type: str
returns:
type: strmangle_class_name(module_key: ModuleKey, class_name: str) -> str
title: Return a deterministic LLVM class-object name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
returns:
type: strmangle_namespace_name(namespace_key: ModuleKey, namespace_kind: str) -> str
title: Return a deterministic LLVM namespace-handle name.
parameters:
namespace_key:
type: ModuleKey
namespace_kind:
type: str
returns:
type: strclass_method_symbol_basename(class_name: str, method_name: str, overload_key: str | None=None) -> str
title: Return a deterministic class-method symbol basename.
parameters:
class_name:
type: str
method_name:
type: str
overload_key:
type: str | None
returns:
type: strmangle_class_method_name(module_key: ModuleKey, class_name: str, method_name: str, overload_key: str | None=None) -> str
title: Return a deterministic LLVM class-method symbol name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
method_name:
type: str
overload_key:
type: str | None
returns:
type: strmangle_class_descriptor_name(module_key: ModuleKey, class_name: str) -> str
title: Return a deterministic LLVM class-descriptor global name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
returns:
type: strmangle_class_dispatch_name(module_key: ModuleKey, class_name: str) -> str
title: Return a deterministic LLVM class-dispatch global name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
returns:
type: strmangle_class_static_name(module_key: ModuleKey, class_name: str, member_name: str) -> str
title: Return a deterministic LLVM static-member global name.
parameters:
module_key:
type: ModuleKey
class_name:
type: str
member_name:
type: str
returns:
type: str