aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_editor/src
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-10-08 13:44:00 +0100
committerAleksey Kladov <[email protected]>2018-10-08 13:44:00 +0100
commit86a7ac2d31e97c42a9da8d8fd539b5a0de0fa795 (patch)
tree17d16374b28e3221cfb793340b32aabe2f4fd1dd /crates/ra_editor/src
parent3c12d38a32f5c87e87d9dbced774453216086bab (diff)
Simplify event processing
Diffstat (limited to 'crates/ra_editor/src')
-rw-r--r--crates/ra_editor/src/scope/fn_scope.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/crates/ra_editor/src/scope/fn_scope.rs b/crates/ra_editor/src/scope/fn_scope.rs
index a99bd1822..65d85279f 100644
--- a/crates/ra_editor/src/scope/fn_scope.rs
+++ b/crates/ra_editor/src/scope/fn_scope.rs
@@ -245,11 +245,13 @@ pub fn resolve_local_name<'a>(name_ref: ast::NameRef, scopes: &'a FnScopes) -> O
245 use std::collections::HashSet; 245 use std::collections::HashSet;
246 246
247 let mut shadowed = HashSet::new(); 247 let mut shadowed = HashSet::new();
248 scopes.scope_chain(name_ref.syntax()) 248 let ret = scopes.scope_chain(name_ref.syntax())
249 .flat_map(|scope| scopes.entries(scope).iter()) 249 .flat_map(|scope| scopes.entries(scope).iter())
250 .filter(|entry| shadowed.insert(entry.name())) 250 .filter(|entry| shadowed.insert(entry.name()))
251 .filter(|entry| entry.name() == name_ref.text()) 251 .filter(|entry| entry.name() == name_ref.text())
252 .nth(0) 252 .nth(0);
253 eprintln!("ret = {:?}", ret);
254 ret
253} 255}
254 256
255#[cfg(test)] 257#[cfg(test)]
@@ -357,7 +359,6 @@ mod tests {
357 let scopes = FnScopes::new(fn_def); 359 let scopes = FnScopes::new(fn_def);
358 360
359 let local_name = resolve_local_name(name_ref, &scopes).unwrap().ast().name().unwrap(); 361 let local_name = resolve_local_name(name_ref, &scopes).unwrap().ast().name().unwrap();
360
361 let expected_name = find_node_at_offset::<ast::Name>(file.syntax(), expected_offset.into()).unwrap(); 362 let expected_name = find_node_at_offset::<ast::Name>(file.syntax(), expected_offset.into()).unwrap();
362 assert_eq!(local_name.syntax().range(), expected_name.syntax().range()); 363 assert_eq!(local_name.syntax().range(), expected_name.syntax().range());
363 } 364 }
@@ -394,4 +395,4 @@ mod tests {
394 }", 395 }",
395 46); 396 46);
396 } 397 }
397} \ No newline at end of file 398}