calyx_opt::traversal

Trait 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) -> 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§

Source

fn from(_ctx: &Context) -> CalyxResult<Self>
where Self: Sized,

Construct the visitor using information from the Context

Source

fn clear_data(&mut self)

Clear the data stored in the visitor. Called before traversing the next component by [ir::traversal::Visitor].

Provided Methods§

Source

fn get_opts(ctx: &Context) -> LinkedHashMap<&'static str, ParseVal>
where Self: Named,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§