[][src]Struct moore_svlog::Rib

pub struct Rib {
    pub node: NodeId,
    pub parent: Option<NodeId>,
    pub kind: RibKind,
}

One local scope.

A rib represents a any kind of scope. Ribs form a tree structure along their parents that may be traversed from the bottom to the top to perform name resolution, or top to bottom to lookup hierarchical names.

Fields

node: NodeId

The node this rib is associated with.

When querying the compiler for a node's rib, what you get in return is not necessarily the rib of that node. If the node does not generate a new rib, you get back the rib of a parent node.

parent: Option<NodeId>

The parent rib.

Note that this does not necessarily correspond to the parent node, but may skip nodes that do not contain a rib.

kind: RibKind

The data associated with the rib.

Methods

impl Rib[src]

pub fn get(&self, name: Name) -> Option<NodeId>[src]

Look up a name.

Trait Implementations

impl Clone for Rib[src]

impl Debug for Rib[src]

impl Eq for Rib[src]

impl PartialEq<Rib> for Rib[src]

impl StructuralEq for Rib[src]

impl StructuralPartialEq for Rib[src]

Auto Trait Implementations

impl RefUnwindSafe for Rib

impl Send for Rib

impl Sync for Rib

impl Unpin for Rib

impl UnwindSafe for Rib

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.