Skip to main content

AIRModule

Type Alias AIRModule 

Source
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: u32

Unique identifier for this node in the session.

§span: Span

Source location of this node.

§kind: NodeKind

Discriminant 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.