From ec7ed054e06cb2e23fd3911932766b32014c8fa1 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 24 Jan 2019 15:28:50 +0300 Subject: Functions use new id scheme --- crates/ra_hir/src/source_binder.rs | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (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 c3bd31d6b..d1bf163d1 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs @@ -14,7 +14,7 @@ use ra_syntax::{ use crate::{ HirDatabase, Function, SourceItemId, ModuleDef, - DefKind, DefLoc, AsName, Module, + AsName, Module, }; /// Locates the module by `FileId`. Picks topmost module in the file. @@ -105,29 +105,18 @@ pub fn function_from_source( fn_def: &ast::FnDef, ) -> Option { let module = module_from_child_node(db, file_id, fn_def.syntax())?; - let res = function_from_module(db, &module, fn_def); + let res = function_from_module(db, module, fn_def); Some(res) } pub fn function_from_module( db: &impl HirDatabase, - module: &Module, + module: Module, fn_def: &ast::FnDef, ) -> Function { let (file_id, _) = module.definition_source(db); let file_id = file_id.into(); - 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 { - file_id, - item_id: Some(item_id), - }; - let def_loc = DefLoc { - module: module.clone(), - kind: DefKind::Function, - source_item_id, - }; - Function::new(def_loc.id(db)) + Function::from_ast(db, module, file_id, fn_def) } pub fn function_from_child_node( -- cgit v1.2.3