irx.analysis.nullable

irx.analysis.nullable

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

title: Resolve nullable scalar and Series kernel contracts before lowering.

Functions

scalar_type(type_: astx.DataType | None) -> astx.DataType | None

title: Unwrap one column or nullable scalar type.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: astx.DataType | None

nullable_error(analyzer: SemanticAnalyzerCore, node: astx.AST, message: str) -> None

title: Report unsupported nullable operations at the semantic boundary.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.AST
  message:
    type: str

set_operation(analyzer: SemanticAnalyzerCore, node: astx.AST, kernel: str, input_type: astx.DataType | None, result: astx.DataType) -> None

title: Record one checked operation and its owned Series result.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.AST
  kernel:
    type: str
  input_type:
    type: astx.DataType | None
  result:
    type: astx.DataType

resolve_column_binary(analyzer: SemanticAnalyzerCore, node: astx.BinaryOp) -> bool

title: Resolve exact-type, null-propagating scalar and Series operations.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.BinaryOp
returns:
  type: bool

resolve_column_index(analyzer: SemanticAnalyzerCore, node: astx.SubscriptExpr) -> bool

title: Resolve checked scalar access without borrowing Arrow storage.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.SubscriptExpr
returns:
  type: bool

validate_column_declaration(analyzer: SemanticAnalyzerCore, type_: astx.DataType, node: astx.AST) -> None

title: Reject unsupported scalar storage and malformed rich declarations.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  type_:
    type: astx.DataType
  node:
    type: astx.AST

resolve_column_unary(analyzer: SemanticAnalyzerCore, node: astx.UnaryOp) -> bool

title: Resolve checked, null-propagating unary column operations.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.UnaryOp
returns:
  type: bool

resolve_series_reduction(analyzer: SemanticAnalyzerCore, node: astx.SeriesReduction) -> None

title: Resolve null-skipping reductions with explicit accumulator types.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.SeriesReduction

resolve_nullable_global(analyzer: SemanticAnalyzerCore, node: astx.VariableDeclaration | astx.InlineVariableDeclaration) -> None

title: >-
  Resolve POD nullable globals to static validity and payload constants.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.VariableDeclaration | astx.InlineVariableDeclaration

resolve_series_store(analyzer: SemanticAnalyzerCore, node: astx.BinaryOp) -> bool

title: Resolve checked element updates on a mutable Series binding.
parameters:
  analyzer:
    type: SemanticAnalyzerCore
  node:
    type: astx.BinaryOp
returns:
  type: bool

Classes

ColumnOperation

title: Fully resolved kernel name, input storage and output type.
attributes:
  kernel:
    type: str
  type_id:
    type: int
  result:
    type: astx.DataType
  input_type:
    type: astx.DataType | None
Back to top