mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 22:54:58 +00:00
Only construct a resolver in macro descension when needed
This commit is contained in:
parent
52a03ec237
commit
a12f1781eb
2 changed files with 20 additions and 14 deletions
|
@ -1043,12 +1043,12 @@ impl HasResolver for ModuleId {
|
|||
fn resolver(self, db: &dyn DefDatabase) -> Resolver {
|
||||
let mut def_map = self.def_map(db);
|
||||
let mut module_id = self.local_id;
|
||||
let mut modules: SmallVec<[_; 1]> = smallvec![];
|
||||
|
||||
if !self.is_block_module() {
|
||||
return Resolver { scopes: vec![], module_scope: ModuleItemMap { def_map, module_id } };
|
||||
}
|
||||
|
||||
let mut modules: SmallVec<[_; 1]> = smallvec![];
|
||||
while let Some(parent) = def_map.parent() {
|
||||
let block_def_map = mem::replace(&mut def_map, parent.def_map(db));
|
||||
modules.push(block_def_map);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue