[][src]Trait moore_vhdl::hir::FromAst

pub trait FromAst<'t>: Sized {
    type AllocInput: 't;
    type LatentInput: 't;
    type Context: 't;
    type Latent;
    fn alloc_slot(
        input: Self::AllocInput,
        context: Self::Context
    ) -> Result<Self::Latent>;
fn from_ast(
        input: Self::LatentInput,
        context: Self::Context
    ) -> Result<Self>; }

Construct something from an AST node.

Associated Types

type AllocInput: 't

type LatentInput: 't

type Context: 't

type Latent

Loading content...

Required methods

fn alloc_slot(
    input: Self::AllocInput,
    context: Self::Context
) -> Result<Self::Latent>

Schedule construction of an HIR node from an AST node.

This function performs initial setup, e.g. name declaration in the context, and then creates a Slot that constructs a ndoe of type Self on demand.

fn from_ast(input: Self::LatentInput, context: Self::Context) -> Result<Self>

Construct an HIR node from an AST node.

Loading content...

Implementors

impl<'t> FromAst<'t> for Package2<'t>[src]

type AllocInput = &'t PkgDecl

type LatentInput = Self::AllocInput

type Context = AllocContext<'t>

type Latent = &'t Slot<'t, Self>

impl<'t> FromAst<'t> for SubtypeInd2<'t>[src]

type AllocInput = &'t SubtypeInd

type LatentInput = Self::AllocInput

type Context = AllocContext<'t>

type Latent = &'t Slot<'t, Self>

impl<'t> FromAst<'t> for TypeDecl2<'t>[src]

type AllocInput = &'t TypeDecl

type LatentInput = Self::AllocInput

type Context = AllocContext<'t>

type Latent = &'t Slot<'t, Self>

Loading content...