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 | Nonenullable_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: strset_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.DataTyperesolve_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: boolresolve_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: boolvalidate_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.ASTresolve_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: boolresolve_series_reduction(analyzer: SemanticAnalyzerCore, node: astx.SeriesReduction) -> None
title: Resolve null-skipping reductions with explicit accumulator types.
parameters:
analyzer:
type: SemanticAnalyzerCore
node:
type: astx.SeriesReductionresolve_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.InlineVariableDeclarationresolve_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: boolClasses
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