[][src]Trait moore_vhdl::hir::LatentNode

pub trait LatentNode<'t, T: 't + ?Sized>: Debug {
    fn poll(&self) -> Result<&'t T>;
fn accept(&self, visitor: &mut dyn Visitor<'t>);
fn walk(&self, visitor: &mut dyn Visitor<'t>); }

Lazily resolve to a Node.

Required methods

fn poll(&self) -> Result<&'t T>

Access the underlying node.

On the first time this function is called, the node is created. Subsequent calls are guaranteed to return the same node. Node creation may fail for a variety of reasons, thus the function returns a Result.

fn accept(&self, visitor: &mut dyn Visitor<'t>)

Accept a visitor.

Polls the latent node and if successful calls accept() on it.

fn walk(&self, visitor: &mut dyn Visitor<'t>)

Walk a visitor over the latent node's subtree.

Polls the latent node and if successful calls walk() on it.

Loading content...

Implementors

impl<'t, T, L: ?Sized> LatentNode<'t, L> for Slot<'t, T> where
    &'t T: Into<&'t L>,
    L: 't,
    T: FromAst<'t> + Node<'t>,
    T::Context: for<'a> Alloc<'a, 't, T> + Clone
[src]

Loading content...