diff options
Diffstat (limited to 'crates/ra_hir/src/code_model_impl')
-rw-r--r-- | crates/ra_hir/src/code_model_impl/function.rs | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/crates/ra_hir/src/code_model_impl/function.rs b/crates/ra_hir/src/code_model_impl/function.rs index 6ce5c77b1..e0dd4d629 100644 --- a/crates/ra_hir/src/code_model_impl/function.rs +++ b/crates/ra_hir/src/code_model_impl/function.rs | |||
@@ -5,27 +5,15 @@ use std::sync::Arc; | |||
5 | use ra_syntax::ast::{self, NameOwner}; | 5 | use ra_syntax::ast::{self, NameOwner}; |
6 | 6 | ||
7 | use crate::{ | 7 | use crate::{ |
8 | HirDatabase, Name, AsName, Function, FnSignature, Module, HirFileId, | 8 | HirDatabase, Name, AsName, Function, FnSignature, |
9 | type_ref::{TypeRef, Mutability}, | 9 | type_ref::{TypeRef, Mutability}, |
10 | expr::Body, | 10 | expr::Body, |
11 | impl_block::ImplBlock, | 11 | impl_block::ImplBlock, |
12 | ids::ItemLoc, | ||
13 | }; | 12 | }; |
14 | 13 | ||
15 | pub use self::scope::{FnScopes, ScopesWithSyntaxMapping, ScopeEntryWithSyntax}; | 14 | pub use self::scope::{FnScopes, ScopesWithSyntaxMapping, ScopeEntryWithSyntax}; |
16 | 15 | ||
17 | impl Function { | 16 | impl Function { |
18 | pub(crate) fn from_ast( | ||
19 | db: &impl HirDatabase, | ||
20 | module: Module, | ||
21 | file_id: HirFileId, | ||
22 | ast: &ast::FnDef, | ||
23 | ) -> Function { | ||
24 | let loc = ItemLoc::from_ast(db, module, file_id, ast); | ||
25 | let id = db.as_ref().fns.loc2id(&loc); | ||
26 | Function { id } | ||
27 | } | ||
28 | |||
29 | pub(crate) fn body(&self, db: &impl HirDatabase) -> Arc<Body> { | 17 | pub(crate) fn body(&self, db: &impl HirDatabase) -> Arc<Body> { |
30 | db.body_hir(*self) | 18 | db.body_hir(*self) |
31 | } | 19 | } |