mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 20:42:04 +00:00
Refactor
This commit is contained in:
parent
a4966c9282
commit
a0a7860141
2 changed files with 78 additions and 75 deletions
|
@ -289,7 +289,12 @@ impl DefCollector<'_> {
|
||||||
let module_id = self.def_map.root;
|
let module_id = self.def_map.root;
|
||||||
|
|
||||||
let attrs = item_tree.top_level_attrs(self.db, self.def_map.krate);
|
let attrs = item_tree.top_level_attrs(self.db, self.def_map.krate);
|
||||||
if attrs.cfg().map_or(true, |cfg| self.cfg_options.check(&cfg) != Some(false)) {
|
if let Some(cfg) = attrs.cfg() {
|
||||||
|
if self.cfg_options.check(&cfg) == Some(false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.inject_prelude(&attrs);
|
self.inject_prelude(&attrs);
|
||||||
|
|
||||||
// Process other crate-level attributes.
|
// Process other crate-level attributes.
|
||||||
|
@ -363,7 +368,6 @@ impl DefCollector<'_> {
|
||||||
}
|
}
|
||||||
.collect_in_top_module(item_tree.top_level_items());
|
.collect_in_top_module(item_tree.top_level_items());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fn seed_with_inner(&mut self, tree_id: TreeId) {
|
fn seed_with_inner(&mut self, tree_id: TreeId) {
|
||||||
let item_tree = tree_id.item_tree(self.db);
|
let item_tree = tree_id.item_tree(self.db);
|
||||||
|
|
|
@ -4,7 +4,6 @@ use hir_def::{
|
||||||
attr::{AttrsWithOwner, Documentation},
|
attr::{AttrsWithOwner, Documentation},
|
||||||
item_scope::ItemInNs,
|
item_scope::ItemInNs,
|
||||||
path::ModPath,
|
path::ModPath,
|
||||||
per_ns::PerNs,
|
|
||||||
resolver::HasResolver,
|
resolver::HasResolver,
|
||||||
AttrDefId, GenericParamId, ModuleDefId,
|
AttrDefId, GenericParamId, ModuleDefId,
|
||||||
};
|
};
|
||||||
|
@ -155,14 +154,14 @@ fn resolve_doc_path(
|
||||||
.syntax_node()
|
.syntax_node()
|
||||||
.descendants()
|
.descendants()
|
||||||
.find_map(ast::Path::cast)?;
|
.find_map(ast::Path::cast)?;
|
||||||
if ast_path.to_string() != link {
|
if ast_path.syntax().text() != link {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
ModPath::from_src(db.upcast(), ast_path, &Hygiene::new_unhygienic())?
|
ModPath::from_src(db.upcast(), ast_path, &Hygiene::new_unhygienic())?
|
||||||
};
|
};
|
||||||
|
|
||||||
let resolved = resolver.resolve_module_path_in_items(db.upcast(), &modpath);
|
let resolved = resolver.resolve_module_path_in_items(db.upcast(), &modpath);
|
||||||
let resolved = if resolved == PerNs::none() {
|
let resolved = if resolved.is_none() {
|
||||||
resolver.resolve_module_path_in_trait_assoc_items(db.upcast(), &modpath)?
|
resolver.resolve_module_path_in_trait_assoc_items(db.upcast(), &modpath)?
|
||||||
} else {
|
} else {
|
||||||
resolved
|
resolved
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue