Skip to main content

Module air

Module air 

Source
Expand description

AIR (Analysis Intermediate Representation) — SAF’s canonical, frontend-agnostic IR.

All analysis passes operate on AIR, never on frontend-specific representations. This ensures that adding a new frontend does not require changes to analysis algorithms (NFR-EXT-001, NFR-EXT-002).

See FR-AIR-001 through FR-AIR-007 for full requirements.

Structs§

AirBlock
A basic block — a sequence of instructions with single entry/exit.
AirBundle
The bundle produced by a frontend’s ingest() call.
AirFunction
An AIR function.
AirGlobal
A global variable or constant.
AirModule
An AIR module — the top-level container for a compilation unit.
AirParam
A function parameter.
FieldPath
Path through nested structures for GEP operations.
Instruction
An AIR instruction.
StructField
A single field in a struct layout.
TypeHierarchyEntry
Type hierarchy entry for a class/struct with virtual methods.
VirtualMethodSlot
A virtual method slot in a class’s vtable.

Enums§

AirType
Analysis-oriented type — describes memory layout, not source semantics.
BinaryOp
Kind of binary operation.
CastKind
Kind of cast operation.
Constant
Constant values in AIR.
FieldStep
A single step in a field path.
HeapAllocKind
Kind of heap allocation operation.
Operation
AIR operation kind.
Value
A value in AIR — either an instruction result, parameter, or constant.

Functions§

default_pointer_width 🔒
Default pointer width (64-bit / 8 bytes).