irx.analysis.ownership

irx.analysis.ownership

Source: packages/irx/src/irx/analysis/ownership.py

title: Semantic ownership helpers for runtime-managed values.
summary: >-
  Centralize typed access to ownership sidecars without allowing lowering to
  rediscover resource lifetime from AST shape.

Functions

resource_ownership(node: astx.AST | None) -> ResourceOwnership | None

title: Return one node's typed resource-ownership sidecar.
parameters:
  node:
    type: astx.AST | None
returns:
  type: ResourceOwnership | None

symbol_resource_ownership(symbol: SemanticSymbol | None) -> ResourceOwnership | None

title: Return the ownership contract attached to a symbol declaration.
parameters:
  symbol:
    type: SemanticSymbol | None
returns:
  type: ResourceOwnership | None

list_resource_ownership(kind: OwnershipKind, *, owner_symbol_id: str | None=None, source_symbol_id: str | None=None, transfer_kind: OwnershipTransferKind=OwnershipTransferKind.NONE, escape_kind: OwnershipEscapeKind=OwnershipEscapeKind.NONE) -> ResourceOwnership

title: Build one dynamic-list ownership contract.
parameters:
  kind:
    type: OwnershipKind
  owner_symbol_id:
    type: str | None
  source_symbol_id:
    type: str | None
  transfer_kind:
    type: OwnershipTransferKind
  escape_kind:
    type: OwnershipEscapeKind
returns:
  type: ResourceOwnership

string_resource_ownership(kind: OwnershipKind, *, owner_symbol_id: str | None=None, source_symbol_id: str | None=None, transfer_kind: OwnershipTransferKind=OwnershipTransferKind.NONE, escape_kind: OwnershipEscapeKind=OwnershipEscapeKind.NONE) -> ResourceOwnership

title: Build one string ownership contract.
parameters:
  kind:
    type: OwnershipKind
  owner_symbol_id:
    type: str | None
  source_symbol_id:
    type: str | None
  transfer_kind:
    type: OwnershipTransferKind
  escape_kind:
    type: OwnershipEscapeKind
returns:
  type: ResourceOwnership

transfer_resource_ownership(ownership: ResourceOwnership, *, owner_symbol_id: str | None=None, transfer_kind: OwnershipTransferKind, escape_kind: OwnershipEscapeKind=OwnershipEscapeKind.NONE) -> ResourceOwnership

title: Derive one ownership record for a validated transfer boundary.
parameters:
  ownership:
    type: ResourceOwnership
  owner_symbol_id:
    type: str | None
  transfer_kind:
    type: OwnershipTransferKind
  escape_kind:
    type: OwnershipEscapeKind
returns:
  type: ResourceOwnership
Back to top