From eaf1df26e9903772d40df30dd70c75c38d8cb887 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 2 Mar 2019 15:14:37 +0300 Subject: rename syntax-mapping -> source-map --- crates/ra_hir/src/expr/scope.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates/ra_hir/src/expr') diff --git a/crates/ra_hir/src/expr/scope.rs b/crates/ra_hir/src/expr/scope.rs index bb8d50db8..bb919dcfa 100644 --- a/crates/ra_hir/src/expr/scope.rs +++ b/crates/ra_hir/src/expr/scope.rs @@ -11,7 +11,7 @@ use ra_arena::{Arena, RawId, impl_arena_id}; use crate::{ Name, AsName, Function, - expr::{PatId, ExprId, Pat, Expr, Body, Statement, BodySyntaxMapping}, + expr::{PatId, ExprId, Pat, Expr, Body, Statement, BodySourceMap}, HirDatabase, }; @@ -109,7 +109,7 @@ impl ExprScopes { #[derive(Debug, Clone, PartialEq, Eq)] pub struct ScopesWithSyntaxMapping { - pub syntax_mapping: Arc, + pub syntax_mapping: Arc, pub scopes: Arc, } -- cgit v1.2.3 From f4c5383103e2b79b05e2669889d44e51988932a6 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 2 Mar 2019 16:18:40 +0300 Subject: dont store body inside source map --- crates/ra_hir/src/expr/scope.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'crates/ra_hir/src/expr') diff --git a/crates/ra_hir/src/expr/scope.rs b/crates/ra_hir/src/expr/scope.rs index bb919dcfa..d5824eb81 100644 --- a/crates/ra_hir/src/expr/scope.rs +++ b/crates/ra_hir/src/expr/scope.rs @@ -316,11 +316,11 @@ mod tests { let marker: &ast::PathExpr = find_node_at_offset(file.syntax(), off).unwrap(); let fn_def: &ast::FnDef = find_node_at_offset(file.syntax(), off).unwrap(); let irrelevant_function = Function { id: crate::ids::FunctionId::from_raw(0.into()) }; - let body_hir = expr::collect_fn_body_syntax(irrelevant_function, fn_def); - let scopes = ExprScopes::new(Arc::clone(body_hir.body())); + let (body, syntax_mapping) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); + let scopes = ExprScopes::new(Arc::new(body)); let scopes = ScopesWithSyntaxMapping { scopes: Arc::new(scopes), - syntax_mapping: Arc::new(body_hir), + syntax_mapping: Arc::new(syntax_mapping), }; let actual = scopes .scope_chain(marker.syntax()) @@ -417,11 +417,11 @@ mod tests { let name_ref: &ast::NameRef = find_node_at_offset(file.syntax(), off).unwrap(); let irrelevant_function = Function { id: crate::ids::FunctionId::from_raw(0.into()) }; - let body_hir = expr::collect_fn_body_syntax(irrelevant_function, fn_def); - let scopes = ExprScopes::new(Arc::clone(body_hir.body())); + let (body, syntax_mapping) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); + let scopes = ExprScopes::new(Arc::new(body)); let scopes = ScopesWithSyntaxMapping { scopes: Arc::new(scopes), - syntax_mapping: Arc::new(body_hir), + syntax_mapping: Arc::new(syntax_mapping), }; let local_name_entry = scopes.resolve_local_name(name_ref).unwrap(); let local_name = local_name_entry.ptr(); -- cgit v1.2.3 From ca957edf96199c61496254f8534fe09221e03c26 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 2 Mar 2019 16:36:25 +0300 Subject: rename to source_map --- crates/ra_hir/src/expr/scope.rs | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'crates/ra_hir/src/expr') diff --git a/crates/ra_hir/src/expr/scope.rs b/crates/ra_hir/src/expr/scope.rs index d5824eb81..578b10c65 100644 --- a/crates/ra_hir/src/expr/scope.rs +++ b/crates/ra_hir/src/expr/scope.rs @@ -109,7 +109,7 @@ impl ExprScopes { #[derive(Debug, Clone, PartialEq, Eq)] pub struct ScopesWithSyntaxMapping { - pub syntax_mapping: Arc, + pub source_map: Arc, pub scopes: Arc, } @@ -138,7 +138,7 @@ impl ScopesWithSyntaxMapping { self.scopes .scope_for .iter() - .filter_map(|(id, scope)| Some((self.syntax_mapping.expr_syntax(*id)?, scope))) + .filter_map(|(id, scope)| Some((self.source_map.expr_syntax(*id)?, scope))) // find containing scope .min_by_key(|(ptr, _scope)| { (!(ptr.range().start() <= offset && offset <= ptr.range().end()), ptr.range().len()) @@ -155,7 +155,7 @@ impl ScopesWithSyntaxMapping { .scopes .scope_for .iter() - .filter_map(|(id, scope)| Some((self.syntax_mapping.expr_syntax(*id)?, scope))) + .filter_map(|(id, scope)| Some((self.source_map.expr_syntax(*id)?, scope))) .map(|(ptr, scope)| (ptr.range(), scope)) .filter(|(range, _)| range.start() <= offset && range.is_subrange(&r) && *range != r); @@ -185,7 +185,7 @@ impl ScopesWithSyntaxMapping { ret.and_then(|entry| { Some(ScopeEntryWithSyntax { name: entry.name().clone(), - ptr: self.syntax_mapping.pat_syntax(entry.pat())?, + ptr: self.source_map.pat_syntax(entry.pat())?, }) }) } @@ -211,7 +211,7 @@ impl ScopesWithSyntaxMapping { pub fn scope_for(&self, node: &SyntaxNode) -> Option { node.ancestors() .map(SyntaxNodePtr::new) - .filter_map(|ptr| self.syntax_mapping.syntax_expr(ptr)) + .filter_map(|ptr| self.source_map.syntax_expr(ptr)) .find_map(|it| self.scopes.scope_for(it)) } } @@ -316,12 +316,10 @@ mod tests { let marker: &ast::PathExpr = find_node_at_offset(file.syntax(), off).unwrap(); let fn_def: &ast::FnDef = find_node_at_offset(file.syntax(), off).unwrap(); let irrelevant_function = Function { id: crate::ids::FunctionId::from_raw(0.into()) }; - let (body, syntax_mapping) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); + let (body, source_map) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); let scopes = ExprScopes::new(Arc::new(body)); - let scopes = ScopesWithSyntaxMapping { - scopes: Arc::new(scopes), - syntax_mapping: Arc::new(syntax_mapping), - }; + let scopes = + ScopesWithSyntaxMapping { scopes: Arc::new(scopes), source_map: Arc::new(source_map) }; let actual = scopes .scope_chain(marker.syntax()) .flat_map(|scope| scopes.scopes.entries(scope)) @@ -417,12 +415,10 @@ mod tests { let name_ref: &ast::NameRef = find_node_at_offset(file.syntax(), off).unwrap(); let irrelevant_function = Function { id: crate::ids::FunctionId::from_raw(0.into()) }; - let (body, syntax_mapping) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); + let (body, source_map) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); let scopes = ExprScopes::new(Arc::new(body)); - let scopes = ScopesWithSyntaxMapping { - scopes: Arc::new(scopes), - syntax_mapping: Arc::new(syntax_mapping), - }; + let scopes = + ScopesWithSyntaxMapping { scopes: Arc::new(scopes), source_map: Arc::new(source_map) }; let local_name_entry = scopes.resolve_local_name(name_ref).unwrap(); let local_name = local_name_entry.ptr(); assert_eq!(local_name.range(), expected_name.syntax().range()); -- cgit v1.2.3 From fe5574b05a006671fb7dec44d8d6edc92c90b002 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 2 Mar 2019 16:38:28 +0300 Subject: rename scopes --- crates/ra_hir/src/expr/scope.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/ra_hir/src/expr') diff --git a/crates/ra_hir/src/expr/scope.rs b/crates/ra_hir/src/expr/scope.rs index 578b10c65..81fbc509e 100644 --- a/crates/ra_hir/src/expr/scope.rs +++ b/crates/ra_hir/src/expr/scope.rs @@ -108,7 +108,7 @@ impl ExprScopes { } #[derive(Debug, Clone, PartialEq, Eq)] -pub struct ScopesWithSyntaxMapping { +pub struct ScopesWithSourceMap { pub source_map: Arc, pub scopes: Arc, } @@ -129,7 +129,7 @@ impl ScopeEntryWithSyntax { } } -impl ScopesWithSyntaxMapping { +impl ScopesWithSourceMap { fn scope_chain<'a>(&'a self, node: &SyntaxNode) -> impl Iterator + 'a { generate(self.scope_for(node), move |&scope| self.scopes.scopes[scope].parent) } @@ -319,7 +319,7 @@ mod tests { let (body, source_map) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); let scopes = ExprScopes::new(Arc::new(body)); let scopes = - ScopesWithSyntaxMapping { scopes: Arc::new(scopes), source_map: Arc::new(source_map) }; + ScopesWithSourceMap { scopes: Arc::new(scopes), source_map: Arc::new(source_map) }; let actual = scopes .scope_chain(marker.syntax()) .flat_map(|scope| scopes.scopes.entries(scope)) @@ -418,7 +418,7 @@ mod tests { let (body, source_map) = expr::collect_fn_body_syntax(irrelevant_function, fn_def); let scopes = ExprScopes::new(Arc::new(body)); let scopes = - ScopesWithSyntaxMapping { scopes: Arc::new(scopes), source_map: Arc::new(source_map) }; + ScopesWithSourceMap { scopes: Arc::new(scopes), source_map: Arc::new(source_map) }; let local_name_entry = scopes.resolve_local_name(name_ref).unwrap(); let local_name = local_name_entry.ptr(); assert_eq!(local_name.range(), expected_name.syntax().range()); -- cgit v1.2.3