From 71f7d82e45145281b9aec5bcdc694524864e552b Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Sun, 6 Jan 2019 23:57:39 +0100 Subject: Introduce ArenaMap --- crates/ra_hir/src/expr.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'crates/ra_hir/src/expr.rs') diff --git a/crates/ra_hir/src/expr.rs b/crates/ra_hir/src/expr.rs index c87d76735..69144e94f 100644 --- a/crates/ra_hir/src/expr.rs +++ b/crates/ra_hir/src/expr.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use rustc_hash::FxHashMap; -use ra_arena::{Arena, RawId, impl_arena_id}; +use ra_arena::{Arena, RawId, impl_arena_id, map::ArenaMap}; use ra_db::{LocalSyntaxPtr, Cancelable}; use ra_syntax::{SyntaxNodeRef, ast::{self, AstNode, LoopBodyOwner, ArgListOwner, NameOwner}}; @@ -39,9 +39,9 @@ pub struct Body { pub struct BodySyntaxMapping { body: Arc, expr_syntax_mapping: FxHashMap, - expr_syntax_mapping_back: FxHashMap, + expr_syntax_mapping_back: ArenaMap, pat_syntax_mapping: FxHashMap, - pat_syntax_mapping_back: FxHashMap, + pat_syntax_mapping_back: ArenaMap, } impl Body { @@ -72,7 +72,7 @@ impl Index for Body { impl BodySyntaxMapping { pub fn expr_syntax(&self, expr: ExprId) -> Option { - self.expr_syntax_mapping_back.get(&expr).cloned() + self.expr_syntax_mapping_back.get(expr).cloned() } pub fn syntax_expr(&self, ptr: LocalSyntaxPtr) -> Option { self.expr_syntax_mapping.get(&ptr).cloned() @@ -83,7 +83,7 @@ impl BodySyntaxMapping { .cloned() } pub fn pat_syntax(&self, pat: PatId) -> Option { - self.pat_syntax_mapping_back.get(&pat).cloned() + self.pat_syntax_mapping_back.get(pat).cloned() } pub fn syntax_pat(&self, ptr: LocalSyntaxPtr) -> Option { self.pat_syntax_mapping.get(&ptr).cloned() @@ -334,9 +334,9 @@ struct ExprCollector { exprs: Arena, pats: Arena, expr_syntax_mapping: FxHashMap, - expr_syntax_mapping_back: FxHashMap, + expr_syntax_mapping_back: ArenaMap, pat_syntax_mapping: FxHashMap, - pat_syntax_mapping_back: FxHashMap, + pat_syntax_mapping_back: ArenaMap, } impl ExprCollector { @@ -345,9 +345,9 @@ impl ExprCollector { exprs: Arena::default(), pats: Arena::default(), expr_syntax_mapping: FxHashMap::default(), - expr_syntax_mapping_back: FxHashMap::default(), + expr_syntax_mapping_back: ArenaMap::default(), pat_syntax_mapping: FxHashMap::default(), - pat_syntax_mapping_back: FxHashMap::default(), + pat_syntax_mapping_back: ArenaMap::default(), } } -- cgit v1.2.3