calyx_opt::traversal

Trait Visitable

Source
pub trait Visitable {
    // Required method
    fn visit(
        &mut self,
        visitor: &mut dyn Visitor,
        component: &mut Component,
        signatures: &LibrarySignatures,
        components: &[Component],
    ) -> VisResult;
}
Expand description

Describes types that can be visited by things implementing Visitor. This performs a recursive walk of the tree.

It calls Visitor::start_* on the way down, and Visitor::finish_* on the way up.

Required Methods§

Source

fn visit( &mut self, visitor: &mut dyn Visitor, component: &mut Component, signatures: &LibrarySignatures, components: &[Component], ) -> VisResult

Perform the traversal.

Implementations on Foreign Types§

Source§

impl Visitable for Control

Source§

fn visit( &mut self, visitor: &mut dyn Visitor, component: &mut Component, sigs: &LibrarySignatures, comps: &[Component], ) -> VisResult

Source§

impl Visitable for StaticControl

Source§

fn visit( &mut self, visitor: &mut dyn Visitor, component: &mut Component, signatures: &LibrarySignatures, components: &[Component], ) -> VisResult

Source§

impl<V: Visitable> Visitable for Vec<V>

Blanket implementation for Vectors of Visitables

Source§

fn visit( &mut self, visitor: &mut dyn Visitor, component: &mut Component, sigs: &LibrarySignatures, components: &[Component], ) -> VisResult

Implementors§