Pass

Trait Pass 

Source
pub trait Pass {
    // Required method
    fn process(&mut self, program: &mut Program);
}
Available on crate features __ecma and ecma_ast only.
Expand description

A map from the Program to the Program.

This trait is used to implement transformations. The implementor may decide to implement [Fold] or [VisitMut] if the transform is fine to start from an arbitrary node.

Tuple of Pass implementations also implements Pass, but it’s limited to 12 items for fast compile time. If you have more passes, nest it like (a, (b, c), (d, e))

Required Methods§

Source

fn process(&mut self, program: &mut Program)

Implementations on Foreign Types§

Source§

impl Pass for DropSpan

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B> Pass for (A, B)
where A: Pass, B: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C> Pass for (A, B, C)
where A: Pass, B: Pass, C: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D> Pass for (A, B, C, D)
where A: Pass, B: Pass, C: Pass, D: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E> Pass for (A, B, C, D, E)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F> Pass for (A, B, C, D, E, F)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G> Pass for (A, B, C, D, E, F, G)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G, H> Pass for (A, B, C, D, E, F, G, H)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass, H: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G, H, I> Pass for (A, B, C, D, E, F, G, H, I)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass, H: Pass, I: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G, H, I, J> Pass for (A, B, C, D, E, F, G, H, I, J)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass, H: Pass, I: Pass, J: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K> Pass for (A, B, C, D, E, F, G, H, I, J, K)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass, H: Pass, I: Pass, J: Pass, K: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> Pass for (A, B, C, D, E, F, G, H, I, J, K, L)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass, H: Pass, I: Pass, J: Pass, K: Pass, L: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> Pass for (A, B, C, D, E, F, G, H, I, J, K, L, M)
where A: Pass, B: Pass, C: Pass, D: Pass, E: Pass, F: Pass, G: Pass, H: Pass, I: Pass, J: Pass, K: Pass, L: Pass, M: Pass,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<P> Pass for Option<P>
where P: Pass,

Optional pass implementation.

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<P> Pass for &mut P
where P: Pass + ?Sized,

Source§

fn process(&mut self, program: &mut Program)

Source§

impl<P> Pass for Box<P>
where P: Pass + ?Sized,

Source§

fn process(&mut self, program: &mut Program)

Implementors§

Source§

impl<L, R> Pass for Either<L, R>
where L: Pass, R: Pass,

Source§

impl<P> Pass for Optional<P>
where P: Pass,

Source§

impl<P> Pass for Repeat<P>
where P: Pass + Repeated,

Source§

impl<V> Pass for FoldPass<V>
where V: Fold,

Source§

impl<V> Pass for VisitMutPass<V>
where V: VisitMut,

Source§

impl<V> Pass for VisitPass<V>
where V: Visit,