diff options
Diffstat (limited to 'crates/ra_hir/src/expr.rs')
-rw-r--r-- | crates/ra_hir/src/expr.rs | 18 |
1 files changed, 9 insertions, 9 deletions
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; | |||
3 | 3 | ||
4 | use rustc_hash::FxHashMap; | 4 | use rustc_hash::FxHashMap; |
5 | 5 | ||
6 | use ra_arena::{Arena, RawId, impl_arena_id}; | 6 | use ra_arena::{Arena, RawId, impl_arena_id, map::ArenaMap}; |
7 | use ra_db::{LocalSyntaxPtr, Cancelable}; | 7 | use ra_db::{LocalSyntaxPtr, Cancelable}; |
8 | use ra_syntax::{SyntaxNodeRef, ast::{self, AstNode, LoopBodyOwner, ArgListOwner, NameOwner}}; | 8 | use ra_syntax::{SyntaxNodeRef, ast::{self, AstNode, LoopBodyOwner, ArgListOwner, NameOwner}}; |
9 | 9 | ||
@@ -39,9 +39,9 @@ pub struct Body { | |||
39 | pub struct BodySyntaxMapping { | 39 | pub struct BodySyntaxMapping { |
40 | body: Arc<Body>, | 40 | body: Arc<Body>, |
41 | expr_syntax_mapping: FxHashMap<LocalSyntaxPtr, ExprId>, | 41 | expr_syntax_mapping: FxHashMap<LocalSyntaxPtr, ExprId>, |
42 | expr_syntax_mapping_back: FxHashMap<ExprId, LocalSyntaxPtr>, | 42 | expr_syntax_mapping_back: ArenaMap<ExprId, LocalSyntaxPtr>, |
43 | pat_syntax_mapping: FxHashMap<LocalSyntaxPtr, PatId>, | 43 | pat_syntax_mapping: FxHashMap<LocalSyntaxPtr, PatId>, |
44 | pat_syntax_mapping_back: FxHashMap<PatId, LocalSyntaxPtr>, | 44 | pat_syntax_mapping_back: ArenaMap<PatId, LocalSyntaxPtr>, |
45 | } | 45 | } |
46 | 46 | ||
47 | impl Body { | 47 | impl Body { |
@@ -72,7 +72,7 @@ impl Index<PatId> for Body { | |||
72 | 72 | ||
73 | impl BodySyntaxMapping { | 73 | impl BodySyntaxMapping { |
74 | pub fn expr_syntax(&self, expr: ExprId) -> Option<LocalSyntaxPtr> { | 74 | pub fn expr_syntax(&self, expr: ExprId) -> Option<LocalSyntaxPtr> { |
75 | self.expr_syntax_mapping_back.get(&expr).cloned() | 75 | self.expr_syntax_mapping_back.get(expr).cloned() |
76 | } | 76 | } |
77 | pub fn syntax_expr(&self, ptr: LocalSyntaxPtr) -> Option<ExprId> { | 77 | pub fn syntax_expr(&self, ptr: LocalSyntaxPtr) -> Option<ExprId> { |
78 | self.expr_syntax_mapping.get(&ptr).cloned() | 78 | self.expr_syntax_mapping.get(&ptr).cloned() |
@@ -83,7 +83,7 @@ impl BodySyntaxMapping { | |||
83 | .cloned() | 83 | .cloned() |
84 | } | 84 | } |
85 | pub fn pat_syntax(&self, pat: PatId) -> Option<LocalSyntaxPtr> { | 85 | pub fn pat_syntax(&self, pat: PatId) -> Option<LocalSyntaxPtr> { |
86 | self.pat_syntax_mapping_back.get(&pat).cloned() | 86 | self.pat_syntax_mapping_back.get(pat).cloned() |
87 | } | 87 | } |
88 | pub fn syntax_pat(&self, ptr: LocalSyntaxPtr) -> Option<PatId> { | 88 | pub fn syntax_pat(&self, ptr: LocalSyntaxPtr) -> Option<PatId> { |
89 | self.pat_syntax_mapping.get(&ptr).cloned() | 89 | self.pat_syntax_mapping.get(&ptr).cloned() |
@@ -334,9 +334,9 @@ struct ExprCollector { | |||
334 | exprs: Arena<ExprId, Expr>, | 334 | exprs: Arena<ExprId, Expr>, |
335 | pats: Arena<PatId, Pat>, | 335 | pats: Arena<PatId, Pat>, |
336 | expr_syntax_mapping: FxHashMap<LocalSyntaxPtr, ExprId>, | 336 | expr_syntax_mapping: FxHashMap<LocalSyntaxPtr, ExprId>, |
337 | expr_syntax_mapping_back: FxHashMap<ExprId, LocalSyntaxPtr>, | 337 | expr_syntax_mapping_back: ArenaMap<ExprId, LocalSyntaxPtr>, |
338 | pat_syntax_mapping: FxHashMap<LocalSyntaxPtr, PatId>, | 338 | pat_syntax_mapping: FxHashMap<LocalSyntaxPtr, PatId>, |
339 | pat_syntax_mapping_back: FxHashMap<PatId, LocalSyntaxPtr>, | 339 | pat_syntax_mapping_back: ArenaMap<PatId, LocalSyntaxPtr>, |
340 | } | 340 | } |
341 | 341 | ||
342 | impl ExprCollector { | 342 | impl ExprCollector { |
@@ -345,9 +345,9 @@ impl ExprCollector { | |||
345 | exprs: Arena::default(), | 345 | exprs: Arena::default(), |
346 | pats: Arena::default(), | 346 | pats: Arena::default(), |
347 | expr_syntax_mapping: FxHashMap::default(), | 347 | expr_syntax_mapping: FxHashMap::default(), |
348 | expr_syntax_mapping_back: FxHashMap::default(), | 348 | expr_syntax_mapping_back: ArenaMap::default(), |
349 | pat_syntax_mapping: FxHashMap::default(), | 349 | pat_syntax_mapping: FxHashMap::default(), |
350 | pat_syntax_mapping_back: FxHashMap::default(), | 350 | pat_syntax_mapping_back: ArenaMap::default(), |
351 | } | 351 | } |
352 | } | 352 | } |
353 | 353 | ||