make resolver fields private
This commit is contained in:
parent
74fe581061
commit
8b9ff46b37
@ -200,17 +200,32 @@ impl ModuleItem {
|
||||
}
|
||||
|
||||
pub(crate) struct Resolver<'a, DB> {
|
||||
pub(crate) db: &'a DB,
|
||||
pub(crate) input: &'a FxHashMap<ModuleId, Arc<InputModuleItems>>,
|
||||
pub(crate) source_root: SourceRootId,
|
||||
pub(crate) module_tree: Arc<ModuleTree>,
|
||||
pub(crate) result: ItemMap,
|
||||
db: &'a DB,
|
||||
input: &'a FxHashMap<ModuleId, Arc<InputModuleItems>>,
|
||||
source_root: SourceRootId,
|
||||
module_tree: Arc<ModuleTree>,
|
||||
result: ItemMap,
|
||||
}
|
||||
|
||||
impl<'a, DB> Resolver<'a, DB>
|
||||
where
|
||||
DB: HirDatabase,
|
||||
{
|
||||
pub(crate) fn new(
|
||||
db: &'a DB,
|
||||
input: &'a FxHashMap<ModuleId, Arc<InputModuleItems>>,
|
||||
source_root: SourceRootId,
|
||||
module_tree: Arc<ModuleTree>,
|
||||
) -> Resolver<'a, DB> {
|
||||
Resolver {
|
||||
db: db,
|
||||
input: &input,
|
||||
source_root,
|
||||
module_tree,
|
||||
result: ItemMap::default(),
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn resolve(mut self) -> Cancelable<ItemMap> {
|
||||
for (&module_id, items) in self.input.iter() {
|
||||
self.populate_module(module_id, items)
|
||||
|
@ -141,13 +141,8 @@ pub(super) fn item_map(
|
||||
Ok((id, items))
|
||||
})
|
||||
.collect::<Cancelable<FxHashMap<_, _>>>()?;
|
||||
let resolver = Resolver {
|
||||
db: db,
|
||||
input: &input,
|
||||
source_root,
|
||||
module_tree,
|
||||
result: ItemMap::default(),
|
||||
};
|
||||
|
||||
let resolver = Resolver::new(db, &input, source_root, module_tree);
|
||||
let res = resolver.resolve()?;
|
||||
let elapsed = start.elapsed();
|
||||
log::info!("item_map: {:?}", elapsed);
|
||||
|
Loading…
x
Reference in New Issue
Block a user