diff options
author | Aleksey Kladov <[email protected]> | 2019-04-13 07:36:28 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-04-13 07:36:28 +0100 |
commit | 17a0e228833de16ed7e8718ba177dceeec4abfb2 (patch) | |
tree | da5fff6200c47687d6871425bf4c1090bc74a36f /crates/ra_hir | |
parent | 65b00736535255c089cfef58c7b4eb13d4d8dbad (diff) |
simplify
Diffstat (limited to 'crates/ra_hir')
-rw-r--r-- | crates/ra_hir/src/source_binder.rs | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/crates/ra_hir/src/source_binder.rs b/crates/ra_hir/src/source_binder.rs index 880596615..649c5b684 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs | |||
@@ -101,15 +101,6 @@ fn function_from_source( | |||
101 | Some(Function { id: ctx.to_def(fn_def) }) | 101 | Some(Function { id: ctx.to_def(fn_def) }) |
102 | } | 102 | } |
103 | 103 | ||
104 | fn function_from_child_node( | ||
105 | db: &impl HirDatabase, | ||
106 | file_id: FileId, | ||
107 | node: &SyntaxNode, | ||
108 | ) -> Option<Function> { | ||
109 | let fn_def = node.ancestors().find_map(ast::FnDef::cast)?; | ||
110 | function_from_source(db, file_id, fn_def) | ||
111 | } | ||
112 | |||
113 | pub fn struct_from_module( | 104 | pub fn struct_from_module( |
114 | db: &impl HirDatabase, | 105 | db: &impl HirDatabase, |
115 | module: Module, | 106 | module: Module, |
@@ -148,7 +139,11 @@ fn resolver_for_node( | |||
148 | node.ancestors() | 139 | node.ancestors() |
149 | .find_map(|node| { | 140 | .find_map(|node| { |
150 | if ast::Expr::cast(node).is_some() || ast::Block::cast(node).is_some() { | 141 | if ast::Expr::cast(node).is_some() || ast::Block::cast(node).is_some() { |
151 | if let Some(func) = function_from_child_node(db, file_id, node) { | 142 | if let Some(func) = node |
143 | .ancestors() | ||
144 | .find_map(ast::FnDef::cast) | ||
145 | .and_then(|it| function_from_source(db, file_id, it)) | ||
146 | { | ||
152 | let scopes = func.scopes(db); | 147 | let scopes = func.scopes(db); |
153 | let scope = match offset { | 148 | let scope = match offset { |
154 | None => scopes.scope_for(&node), | 149 | None => scopes.scope_for(&node), |