Trait calyx_opt::traversal::ConstructVisitor
source · [−]pub trait ConstructVisitor {
fn from(_ctx: &Context) -> CalyxResult<Self>
where
Self: Sized;
fn clear_data(&mut self);
fn get_opts(ctx: &Context) -> LinkedHashMap<&'static str, ParseVal>
where
Self: Named,
{ ... }
}
Expand description
Trait defining method that can be used to construct a Visitor from an ir::Context. This is useful when a pass needs to construct information using the context before visiting the components.
For passes that don’t need to use the context, this trait can be automatically be derived from Default.
Required Methods
sourcefn from(_ctx: &Context) -> CalyxResult<Self>where
Self: Sized,
fn from(_ctx: &Context) -> CalyxResult<Self>where
Self: Sized,
Construct the visitor using information from the Context
sourcefn clear_data(&mut self)
fn clear_data(&mut self)
Clear the data stored in the visitor. Called before traversing the next component by [ir::traversal::Visitor].
Provided Methods
Implementors
impl ConstructVisitor for Canonicalize
impl ConstructVisitor for CombProp
impl ConstructVisitor for CompileInvoke
impl ConstructVisitor for CompileStatic
impl ConstructVisitor for ComponentInliner
impl ConstructVisitor for DefaultAssigns
impl ConstructVisitor for DiscoverExternal
impl ConstructVisitor for ExternalToRef
impl ConstructVisitor for Externalize
impl ConstructVisitor for GroupToInvoke
impl ConstructVisitor for Papercut
impl ConstructVisitor for StaticInference
impl ConstructVisitor for StaticPromotion
impl ConstructVisitor for TopDownCompileControl
impl ConstructVisitor for WellFormed
impl<T: Default + Sized + Visitor> ConstructVisitor for T
Derive ConstructVisitor when Default is provided for a visitor.