From 49e746b010bbba408e9e4b1a40d89642e4cb84c6 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 22 Dec 2018 11:01:03 +0300 Subject: completion uses hir scopes --- crates/ra_hir/src/source_binder.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'crates/ra_hir/src/source_binder.rs') diff --git a/crates/ra_hir/src/source_binder.rs b/crates/ra_hir/src/source_binder.rs index ce2a0f2e8..a0165aef2 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs @@ -74,6 +74,16 @@ pub fn function_from_source( fn_def: ast::FnDef, ) -> Cancelable> { let module = ctry!(module_from_child_node(db, file_id, fn_def.syntax())?); + let res = function_from_module(db, &module, fn_def); + Ok(Some(res)) +} + +pub fn function_from_module( + db: &impl HirDatabase, + module: &Module, + fn_def: ast::FnDef, +) -> Function { + let file_id = module.source().file_id(); let file_items = db.file_items(file_id); let item_id = file_items.id_of(file_id, fn_def.syntax()); let source_item_id = SourceItemId { @@ -86,7 +96,7 @@ pub fn function_from_source( module_id: module.module_id, source_item_id, }; - Ok(Some(Function::new(def_loc.id(db)))) + Function::new(def_loc.id(db)) } pub fn function_from_child_node( -- cgit v1.2.3