From dddbac68779d068cabfa511bed4ba105bc43d194 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 27 Dec 2018 23:51:44 +0300 Subject: remove FnId --- crates/ra_hir/src/query_definitions.rs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'crates/ra_hir/src/query_definitions.rs') diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs index e6241342a..56e3f7e9d 100644 --- a/crates/ra_hir/src/query_definitions.rs +++ b/crates/ra_hir/src/query_definitions.rs @@ -5,15 +5,15 @@ use std::{ use rustc_hash::FxHashMap; use ra_syntax::{ - AstNode, SyntaxNode, SmolStr, - ast::{self, FnDef, FnDefNode, NameOwner, ModuleItemOwner} + AstNode, SyntaxNode, SmolStr, + ast::{self, NameOwner, ModuleItemOwner} }; use ra_db::{SourceRootId, FileId, Cancelable,}; use crate::{ SourceFileItems, SourceItemId, DefKind, Function, DefId, Name, AsName, db::HirDatabase, - function::{FnScopes, FnId}, + function::FnScopes, module::{ ModuleSource, ModuleSourceNode, ModuleId, imp::Submodule, @@ -23,22 +23,15 @@ use crate::{ adt::{StructData, EnumData}, }; -/// Resolve `FnId` to the corresponding `SyntaxNode` -pub(super) fn fn_syntax(db: &impl HirDatabase, fn_id: FnId) -> FnDefNode { - let def_loc = fn_id.0.loc(db); - assert!(def_loc.kind == DefKind::Function); - let syntax = db.file_item(def_loc.source_item_id); - FnDef::cast(syntax.borrowed()).unwrap().owned() -} - -pub(super) fn fn_scopes(db: &impl HirDatabase, fn_id: FnId) -> Arc { - let syntax = db.fn_syntax(fn_id); +pub(super) fn fn_scopes(db: &impl HirDatabase, def_id: DefId) -> Arc { + let function = Function::new(def_id); + let syntax = function.syntax(db); let res = FnScopes::new(syntax.borrowed()); Arc::new(res) } -pub(super) fn infer(db: &impl HirDatabase, fn_id: FnId) -> Cancelable> { - let function = Function { fn_id }; +pub(super) fn infer(db: &impl HirDatabase, def_id: DefId) -> Cancelable> { + let function = Function::new(def_id); ty::infer(db, function).map(Arc::new) } -- cgit v1.2.3