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