[][src]Struct moore_vhdl::make_ctx::MakeContext

pub struct MakeContext<'sbc, 'lazy: 'sbc, 'sb: 'lazy, 'ast: 'sb, 'ctx: 'sb, I: Copy> {
    pub ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>,
    pub span: Span,
    pub id: I,
}

A context within which compiler passes can be described.

See the module documentation for details.

Fields

ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>

The outer context.

span: Span

The span of the node in the source code.

id: I

The ID of the node being constructed.

Implementations

impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> where
    I: Copy + Into<NodeId> + Debug
[src]

pub fn new(
    ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>,
    span: Span,
    id: I
) -> MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>
[src]

Create a new context.

pub fn finish(self) -> I[src]

Finalize the description and return the node Id.

This should be the very last step.

pub fn lower_to_hir<R>(&self, f: LazyHir<'sb, 'ast, 'ctx, R>) where
    LazyHirTable<'sb, 'ast, 'ctx>: NodeStorage<I, Node = LazyNode<LazyHir<'sb, 'ast, 'ctx, R>>>, 
[src]

Schedule a callback that lowers the node to HIR.

pub fn set_hir<T>(&self, hir: T) where
    T: 'ctx,
    HirTable<'ctx>: NodeStorage<I, Node = &'ctx T>,
    Arenas: Alloc<'ctx, 'ctx, T>, 
[src]

Store a preconstructed HIR for the node.

pub fn typeck(&self, f: LazyTypeck<'sb, 'ast, 'ctx>)[src]

Schedule a callback that type checks the node.

pub fn typeval(&self, f: LazyTypeval<'sb, 'ast, 'ctx>)[src]

Schedule a callback that evaluates the type of the node.

Auto Trait Implementations

impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> !RefUnwindSafe for MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>[src]

impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> !Send for MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>[src]

impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> !Sync for MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>[src]

impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> Unpin for MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> where
    I: Unpin,
    'ast: 'sbc,
    'ctx: 'sbc,
    'lazy: 'sbc,
    'sb: 'sbc, 
[src]

impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> !UnwindSafe for MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.