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: str

qualified_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: str

qualified_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: str

qualified_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: str

qualified_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: str

qualified_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: str

specialized_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: str

mangle_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: str

mangle_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: str

mangle_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: str

mangle_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: str

class_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: str

mangle_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: str

mangle_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: str

mangle_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: str

mangle_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