Trait pomelo_hir::FileArenaExt
source · pub trait FileArenaExt: FileArena + NameInterner {
fn alloc_pat(&mut self, pat: Pat) -> Idx<Pat>;
fn get_pat_mut(&mut self, index: Idx<Pat>) -> &mut Pat;
fn alloc_expr(&mut self, expr: Expr) -> Idx<Expr>;
fn get_expr_mut(&mut self, index: Idx<Expr>) -> &mut Expr;
fn alloc_dec(&mut self, dec: Dec) -> Idx<Dec>;
fn get_dec_mut(&mut self, index: Idx<Dec>) -> &mut Dec;
fn alloc_ty(&mut self, ty: Ty) -> Idx<Ty>;
fn get_ty_mut(&mut self, index: Idx<Ty>) -> &mut Ty;
fn alloc_ast_id<N>(&mut self, ast: &N) -> FileAstIdx<N>
where
N: AstNode<Language = SML>;
fn get_ast_id<N>(&self, index: FileAstIdx<N>) -> Option<AstPtr<N>>
where
N: AstNode<Language = SML>;
fn get_ast_span<N>(&self, index: FileAstIdx<N>) -> Option<(usize, usize)>
where
N: AstNode<Language = SML>;
}
Expand description
Interface for building the HIR.