Introduce ModuleId

Previously, module was synonym with a file, and so a module could have
had several parents. This commit introduces a separate module concept,
such that each module has only one parent, but a single file can
correspond to different modules.
This commit is contained in:
Aleksey Kladov 2018-10-23 19:15:31 +03:00
parent 1d574ed654
commit dc477db757
10 changed files with 493 additions and 443 deletions

View file

@ -34,7 +34,7 @@ impl Hash for SymbolIndex {
}
impl SymbolIndex {
pub(crate) fn for_files(files: impl ParallelIterator<Item = (FileId, File)>) -> SymbolIndex {
pub(crate) fn for_files(files: impl Iterator<Item = (FileId, File)>) -> SymbolIndex {
let mut symbols = files
.flat_map(|(file_id, file)| {
file_symbols(&file)
@ -52,7 +52,7 @@ impl SymbolIndex {
}
pub(crate) fn for_file(file_id: FileId, file: File) -> SymbolIndex {
SymbolIndex::for_files(::rayon::iter::once((file_id, file)))
SymbolIndex::for_files(::std::iter::once((file_id, file)))
}
}