Struct hir::ir::Scope [] [src]

pub struct Scope {
    pub variables: HashMap<NodeId, Variable>,
    pub variable_names: HashMap<String, NodeId>,
    pub basic_blocks: HashMap<NodeId, BasicBlock>,
    pub labels: HashMap<NodeId, Label>,
    pub label_names: HashMap<String, NodeId>,
    pub expressions: HashMap<NodeId, Expression>,
    pub entry_point: NodeId,
    // some fields omitted


All the variables available in the current scope.

A convenience table for looking up a node given its NodeId.

The NodeId of the first basic block in this scope.


impl Scope

Get a dynamically typed item by its NodeId.

Iterate over all IrNodes in this Scope.

Trait Implementations

impl Debug for Scope

Formats the value using the given formatter. Read more

impl Default for Scope

Returns the "default value" for a type. Read more

impl Clone for Scope

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Scope

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl HeapSizeOf for Scope

Measure the size of any heap-allocated structures that hang off this value, but not the space taken up by the value itself (i.e. what size_of:: measures, more or less); that space is handled by the implementation of HeapSizeOf for Box below. Read more

impl IrNode for Scope

Auto Trait Implementations

impl Send for Scope

impl Sync for Scope