pub type AIRModule = AIRNode;Expand description
Convenience alias — the AIR module root node.
Aliased Type§
pub struct AIRModule {
pub id: u32,
pub span: Span,
pub kind: NodeKind,
pub type_info: Option<TypeInfo>,
pub ownership: Option<OwnershipInfo>,
pub effects: HashSet<EffectRef>,
pub capabilities: HashSet<Capability>,
pub context: Option<ContextBlock>,
pub target: Option<TargetInfo>,
pub metadata: HashMap<String, Value>,
}Fields§
§id: u32Unique identifier for this node in the session.
span: SpanSource location of this node.
kind: NodeKindDiscriminant and typed children of this node.
type_info: Option<TypeInfo>Resolved type of this node (set by T-AIR pass).
ownership: Option<OwnershipInfo>Ownership/borrow annotation (set by T-AIR pass).
effects: HashSet<EffectRef>Algebraic effects this node may perform (set by T-AIR pass).
capabilities: HashSet<Capability>Capabilities this node requires (set by T-AIR pass).
context: Option<ContextBlock>Context annotations (set by C-AIR pass).
target: Option<TargetInfo>Target-specific information (set by TR-AIR pass).
metadata: HashMap<String, Value>Arbitrary pass-specific metadata keyed by string.