Skip to content

Commit 8ada1a2

Browse files
committed
Simplify
1 parent 44c8ddf commit 8ada1a2

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

crates/ra_analysis/src/imp.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ impl AnalysisImpl {
207207
let syntax = file.syntax();
208208
if let Some(name_ref) = find_node_at_offset::<ast::NameRef>(syntax, offset) {
209209
// First try to resolve the symbol locally
210-
return if let Some((name, range)) = resolve_local_name(&file, offset, name_ref) {
210+
return if let Some((name, range)) = resolve_local_name(name_ref) {
211211
let mut vec = vec![];
212212
vec.push((
213213
file_id,
@@ -262,15 +262,15 @@ impl AnalysisImpl {
262262
if let Some(name_ref) = find_node_at_offset::<ast::NameRef>(syntax, offset) {
263263

264264
// We are only handing local references for now
265-
if let Some(resolved) = resolve_local_name(&file, offset, name_ref) {
265+
if let Some(resolved) = resolve_local_name(name_ref) {
266266

267267
ret.push((file_id, resolved.1));
268268

269269
if let Some(fn_def) = find_node_at_offset::<ast::FnDef>(syntax, offset) {
270270

271271
let refs : Vec<_> = fn_def.syntax().descendants()
272272
.filter_map(ast::NameRef::cast)
273-
.filter(|n: &ast::NameRef| resolve_local_name(&file, n.syntax().range().start(), *n) == Some(resolved.clone()))
273+
.filter(|&n: &ast::NameRef| resolve_local_name(n) == Some(resolved.clone()))
274274
.collect();
275275

276276
for r in refs {

crates/ra_editor/src/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,9 @@ pub fn find_node_at_offset<'a, N: AstNode<'a>>(
152152
}
153153

154154
pub fn resolve_local_name(
155-
file: &File,
156-
offset: TextUnit,
157155
name_ref: ast::NameRef,
158156
) -> Option<(SmolStr, TextRange)> {
159-
let fn_def = find_node_at_offset::<ast::FnDef>(file.syntax(), offset)?;
157+
let fn_def = name_ref.syntax().ancestors().find_map(ast::FnDef::cast)?;
160158
let scopes = scope::FnScopes::new(fn_def);
161159
let scope_entry = scope::resolve_local_name(name_ref, &scopes)?;
162160
let name = scope_entry.ast().name()?;

0 commit comments

Comments
 (0)