Struct moore_vhdl::symtbl::Scope
[−]
[src]
pub struct Scope { pub node_id: NodeId, pub subscopes: HashSet<NodeId>, pub defs: HashMap<DefName, Vec<(Span, Def)>>, pub parent_id: Option<NodeId>, }
Fields
node_id: NodeId
subscopes: HashSet<NodeId>
defs: HashMap<DefName, Vec<(Span, Def)>>
parent_id: Option<NodeId>
Methods
impl Scope
[src]
fn new(node_id: NodeId) -> Scope
[src]
Create a new empty scope for the node with the given ID.
fn merge(&mut self, other: Scope)
[src]
Merge the contents of another scope into this scope. The scope keeps the current node ID.
fn declare_subscope(&mut self, scope_id: NodeId)
[src]
Declare a subscope that is nested within this scope.
fn declare(&mut self, name: Spanned<DefName>, def: Def)
[src]
Declare a name that can be bound to in this scope.