Struct moore_vhdl::make_ctx::MakeContext
[−]
[src]
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.
Methods
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I> where
I: Copy + Into<NodeId> + Debug,
[src]
I: Copy + Into<NodeId> + Debug,
fn new(
ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>,
span: Span,
id: I
) -> MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>
[src]
ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>,
span: Span,
id: I
) -> MakeContext<'sbc, 'lazy, 'sb, 'ast, 'ctx, I>
Create a new context.
fn finish(self) -> I
[src]
Finalize the description and return the node Id.
This should be the very last step.
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]
LazyHirTable<'sb, 'ast, 'ctx>: NodeStorage<I, Node = LazyNode<LazyHir<'sb, 'ast, 'ctx, R>>>,
Schedule a callback that lowers the node to HIR.
fn set_hir<T>(&self, hir: T) where
T: 'ctx,
HirTable<'ctx>: NodeStorage<I, Node = &'ctx T>,
Arenas: Alloc<T>,
[src]
T: 'ctx,
HirTable<'ctx>: NodeStorage<I, Node = &'ctx T>,
Arenas: Alloc<T>,
Store a preconstructed HIR for the node.
fn typeck(&self, f: LazyTypeck<'sb, 'ast, 'ctx>)
[src]
Schedule a callback that type checks the node.
fn typeval(&self, f: LazyTypeval<'sb, 'ast, 'ctx>)
[src]
Schedule a callback that evaluates the type of the node.