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.

Required Methods§

Implementors§