[][src]Struct moore_vhdl::score::ScoreBoard

pub struct ScoreBoard<'ast, 'ctx> {
    pub arenas: &'ctx Arenas,
    pub llmod: RefCell<Module>,
    pub ty_table: RefCell<HashMap<NodeId, &'ctx Ty>>,
    pub typeck_table: RefCell<HashMap<NodeId, Result<()>>>,
    pub typeval_table: RefCell<HashMap<NodeId, Result<&'ctx Ty>>>,
    pub scope2_table: RefCell<HashMap<ScopeRef, Scope>>,
    // some fields omitted
}

The VHDL scoreboard that keeps track of compilation results.

Fields

arenas: &'ctx Arenas

A reference to the arenas where the scoreboard allocates nodes.

llmod: RefCell<Module>

The LLHD module into which code is emitted.

ty_table: RefCell<HashMap<NodeId, &'ctx Ty>>

A table of types.

typeck_table: RefCell<HashMap<NodeId, Result<()>>>

A table of typeck results.

typeval_table: RefCell<HashMap<NodeId, Result<&'ctx Ty>>>

A table of typeval results.

scope2_table: RefCell<HashMap<ScopeRef, Scope>>

A table of scopes. Revised; will replace scope_table and def_table.

Implementations

impl<'ast, 'ctx> ScoreBoard<'ast, 'ctx>[src]

pub fn new(arenas: &'ctx Arenas) -> ScoreBoard<'ast, 'ctx>[src]

Creates a new empty VHDL scoreboard.

pub fn intern_const<T>(&self, konst: T) -> &'ctx Const where
    T: Into<Const>, 
[src]

Internalize a constant.

Returns a reference to the constant whose lifetime is bound to that of the arenas associated with the scoreboard.

pub fn intern_ty<T>(&self, ty: T) -> &'ctx Ty where
    T: Into<Ty>, 
[src]

Internalize a type.

Returns a reference to the constant whose lifetime is bound to that of the arenas associated with the scoreboard.

Auto Trait Implementations

impl<'ast, 'ctx> !RefUnwindSafe for ScoreBoard<'ast, 'ctx>

impl<'ast, 'ctx> !Send for ScoreBoard<'ast, 'ctx>

impl<'ast, 'ctx> !Sync for ScoreBoard<'ast, 'ctx>

impl<'ast, 'ctx> Unpin for ScoreBoard<'ast, 'ctx>

impl<'ast, 'ctx> !UnwindSafe for ScoreBoard<'ast, 'ctx>

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<T> From<T> for T[src]

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

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.