[]Struct moore_svlog::hir::Arena

pub struct Arena<'hir> {
    pub modules: TypedArena<Module<'hir>>,
    pub ports: TypedArena<Port>,
    pub types: TypedArena<Type>,
    pub exprs: TypedArena<Expr>,
    pub inst_target: TypedArena<InstTarget>,
    pub insts: TypedArena<Inst<'hir>>,
    pub type_params: TypedArena<TypeParam>,
    pub value_params: TypedArena<ValueParam>,
    pub var_decls: TypedArena<VarDecl>,
    pub procs: TypedArena<Proc>,
    pub stmts: TypedArena<Stmt>,
    pub event_exprs: TypedArena<EventExpr>,
    pub gens: TypedArena<Gen>,
    pub genvar_decls: TypedArena<GenvarDecl>,
    pub typedefs: TypedArena<Typedef>,
    pub assigns: TypedArena<Assign>,
    pub packages: TypedArena<Package>,
    pub enum_variants: TypedArena<EnumVariant>,
    // some fields omitted
}

An arena to allocate HIR nodes into.

Fields

modules: TypedArena<Module<'hir>>ports: TypedArena<Port>types: TypedArena<Type>exprs: TypedArena<Expr>inst_target: TypedArena<InstTarget>insts: TypedArena<Inst<'hir>>type_params: TypedArena<TypeParam>value_params: TypedArena<ValueParam>var_decls: TypedArena<VarDecl>procs: TypedArena<Proc>stmts: TypedArena<Stmt>event_exprs: TypedArena<EventExpr>gens: TypedArena<Gen>genvar_decls: TypedArena<GenvarDecl>typedefs: TypedArena<Typedef>assigns: TypedArena<Assign>packages: TypedArena<Package>enum_variants: TypedArena<EnumVariant>

Methods

impl<'hir> Arena<'hir>

pub fn new() -> Arena<'hir>

Create a new arena.

Trait Implementations

impl<'a, 'hir> Alloc<'a, 'a, Assign> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, EnumVariant> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, EventExpr> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Expr> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Gen> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, GenvarDecl> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Inst<'hir>> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, InstTarget> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Module<'hir>> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Package> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Port> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Proc> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Stmt> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Type> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, TypeParam> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, Typedef> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, ValueParam> for Arena<'hir> where
    'hir: 'a, 

impl<'a, 'hir> Alloc<'a, 'a, VarDecl> for Arena<'hir> where
    'hir: 'a, 

impl<'hir> Default for Arena<'hir>

Auto Trait Implementations

impl<'hir> !RefUnwindSafe for Arena<'hir>

impl<'hir> Send for Arena<'hir>

impl<'hir> !Sync for Arena<'hir>

impl<'hir> Unpin for Arena<'hir>

impl<'hir> UnwindSafe for Arena<'hir>

Blanket Implementations

impl<T, A> AllocSelf<T> for A where
    A: Alloc<'a, 'a, T>, 
[src]

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> Erased for T

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.