aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/hir/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_analysis/src/hir/mod.rs')
-rw-r--r--crates/ra_analysis/src/hir/mod.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/crates/ra_analysis/src/hir/mod.rs b/crates/ra_analysis/src/hir/mod.rs
index 2035c2d23..1d37fae32 100644
--- a/crates/ra_analysis/src/hir/mod.rs
+++ b/crates/ra_analysis/src/hir/mod.rs
@@ -5,11 +5,11 @@
5//! to a particular crate instance. That is, it has cfg flags and features 5//! to a particular crate instance. That is, it has cfg flags and features
6//! applied. So, there relation between syntax and HIR is many-to-one. 6//! applied. So, there relation between syntax and HIR is many-to-one.
7 7
8pub(crate) mod function;
9mod module;
10pub(crate) mod db; 8pub(crate) mod db;
11mod path;
12mod query_definitions; 9mod query_definitions;
10mod function;
11mod module;
12mod path;
13 13
14use ra_syntax::{ 14use ra_syntax::{
15 ast::{self, AstNode}, 15 ast::{self, AstNode},
@@ -18,7 +18,6 @@ use ra_syntax::{
18 18
19use crate::{ 19use crate::{
20 hir::db::HirDatabase, 20 hir::db::HirDatabase,
21 hir::function::{resolve_local_name, FnScopes},
22 loc2id::{DefId, DefLoc}, 21 loc2id::{DefId, DefLoc},
23 syntax_ptr::LocalSyntaxPtr, 22 syntax_ptr::LocalSyntaxPtr,
24 Cancelable, 23 Cancelable,
@@ -27,9 +26,12 @@ use crate::{
27pub(crate) use self::{ 26pub(crate) use self::{
28 path::{Path, PathKind}, 27 path::{Path, PathKind},
29 module::{ModuleDescriptor, ModuleId, Problem, nameres::FileItemId}, 28 module::{ModuleDescriptor, ModuleId, Problem, nameres::FileItemId},
30 function::FunctionDescriptor, 29 function::{FunctionDescriptor, FnScopes},
31}; 30};
32 31
32//TODO: FIXME
33pub use self::function::FnDescriptor;
34
33pub(crate) enum Def { 35pub(crate) enum Def {
34 Module(ModuleDescriptor), 36 Module(ModuleDescriptor),
35 Item, 37 Item,
@@ -82,7 +84,7 @@ impl<'a> DeclarationDescriptor<'a> {
82 .syntax() 84 .syntax()
83 .descendants() 85 .descendants()
84 .filter_map(ast::NameRef::cast) 86 .filter_map(ast::NameRef::cast)
85 .filter(|name_ref| match resolve_local_name(*name_ref, &fn_scopes) { 87 .filter(|name_ref| match fn_scopes.resolve_local_name(*name_ref) {
86 None => false, 88 None => false,
87 Some(entry) => entry.ptr() == name_ptr, 89 Some(entry) => entry.ptr() == name_ptr,
88 }) 90 })