irx.builder.diagnostics
irx.builder.diagnostics
Source: packages/irx/src/irx/builder/diagnostics.py
title: Shared lowering diagnostics helpers.
summary: >-
Centralize the small helpers that lowering uses to raise structured
diagnostic exceptions instead of ad hoc Exception strings.Functions
resolved_ast_type_name(node: astx.AST | None) -> str
title: Return one node's best-effort semantic type name.
parameters:
node:
type: astx.AST | None
returns:
type: strlowered_value_type_name(value: ir.Value | None) -> str
title: Return one lowered LLVM value type name.
parameters:
value:
type: ir.Value | None
returns:
type: strraise_lowering_error(message: str, *, code: str, node: astx.AST | None=None, notes: tuple[str, ...]=(), hint: str | None=None, cause: Exception | None=None) -> NoReturn
title: Raise one user-facing lowering diagnostic.
parameters:
message:
type: str
code:
type: str
node:
type: astx.AST | None
notes:
type: tuple[str, Ellipsis]
hint:
type: str | None
cause:
type: Exception | None
returns:
type: NoReturnraise_lowering_internal_error(message: str, *, node: astx.AST | None=None, code: str=DiagnosticCodes.LOWERING_MISSING_SEMANTIC_METADATA, notes: tuple[str, ...]=(), hint: str | None=None, cause: Exception | None=None) -> NoReturn
title: Raise one internal lowering consistency diagnostic.
parameters:
message:
type: str
node:
type: astx.AST | None
code:
type: str
notes:
type: tuple[str, Ellipsis]
hint:
type: str | None
cause:
type: Exception | None
returns:
type: NoReturnrequire_semantic_metadata(value: T | None, *, node: astx.AST, metadata: str, context: str) -> T
title: Require one semantic sidecar field during lowering.
parameters:
value:
type: T | None
node:
type: astx.AST
metadata:
type: str
context:
type: str
returns:
type: Trequire_lowered_value(value: ir.Value | None, *, node: astx.AST, context: str) -> ir.Value
title: Require one lowered LLVM value during lowering.
parameters:
value:
type: ir.Value | None
node:
type: astx.AST
context:
type: str
returns:
type: ir.Value