Trait calyx_opt::traversal::ConstructVisitor
source · pub trait ConstructVisitor {
// Required methods
fn from(_ctx: &Context) -> CalyxResult<Self>
where Self: Sized;
fn clear_data(&mut self);
// Provided method
fn get_opts(ctx: &Context) -> Vec<bool>
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 CompileRef
impl ConstructVisitor for ComponentInliner
impl ConstructVisitor for DiscoverExternal
impl ConstructVisitor for Externalize
impl ConstructVisitor for GroupToInvoke
impl ConstructVisitor for Papercut
impl ConstructVisitor for StaticPromotion
impl ConstructVisitor for TopDownCompileControl
impl ConstructVisitor for TopDownStaticTiming
impl ConstructVisitor for WellFormed
impl<T: Default + Sized + Visitor> ConstructVisitor for T
Derive ConstructVisitor when Default is provided for a visitor.