Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/static_index.rs')
| -rw-r--r-- | crates/ide/src/static_index.rs | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/crates/ide/src/static_index.rs b/crates/ide/src/static_index.rs index d467e794ce..aa62e2eae5 100644 --- a/crates/ide/src/static_index.rs +++ b/crates/ide/src/static_index.rs @@ -14,7 +14,7 @@ use syntax::{SyntaxToken, TextRange}; use crate::display::TryToNav; use crate::hover::hover_for_definition; -use crate::{Analysis, Cancellable, Fold, HoverConfig, HoverDocFormat, HoverResult}; +use crate::{Analysis, Fold, HoverConfig, HoverDocFormat, HoverResult}; /// A static representation of fully analyzed source code. /// @@ -84,8 +84,8 @@ fn all_modules(db: &dyn HirDatabase) -> Vec<Module> { } impl StaticIndex<'_> { - fn add_file(&mut self, file_id: FileId) -> Cancellable<()> { - let folds = self.analysis.folding_ranges(file_id)?; + fn add_file(&mut self, file_id: FileId) { + let folds = self.analysis.folding_ranges(file_id).unwrap(); // hovers let sema = hir::Semantics::new(self.db); let tokens_or_nodes = sema.parse(file_id).syntax().clone(); @@ -133,13 +133,9 @@ impl StaticIndex<'_> { result.tokens.push((range, id)); } self.files.push(result); - Ok(()) } - pub fn compute<'a>( - db: &'a RootDatabase, - analysis: &'a Analysis, - ) -> Cancellable<StaticIndex<'a>> { + pub fn compute<'a>(db: &'a RootDatabase, analysis: &'a Analysis) -> StaticIndex<'a> { let work = all_modules(db).into_iter().filter(|module| { let file_id = module.definition_source(db).file_id.original_file(db); let source_root = db.file_source_root(file_id); @@ -159,12 +155,11 @@ impl StaticIndex<'_> { if visited_files.contains(&file_id) { continue; } - this.add_file(file_id)?; + this.add_file(file_id); // mark the file visited_files.insert(file_id); } - //eprintln!("{:#?}", token_map); - Ok(this) + this } } @@ -188,7 +183,7 @@ mod tests { fn check_all_ranges(ra_fixture: &str) { let (analysis, ranges) = fixture::annotations_without_marker(ra_fixture); - let s = StaticIndex::compute(&*analysis.db, &analysis).unwrap(); + let s = StaticIndex::compute(&*analysis.db, &analysis); let mut range_set: HashSet<_> = ranges.iter().map(|x| x.0).collect(); for f in s.files { for (range, _) in f.tokens { @@ -206,7 +201,7 @@ mod tests { fn check_definitions(ra_fixture: &str) { let (analysis, ranges) = fixture::annotations_without_marker(ra_fixture); - let s = StaticIndex::compute(&*analysis.db, &analysis).unwrap(); + let s = StaticIndex::compute(&*analysis.db, &analysis); let mut range_set: HashSet<_> = ranges.iter().map(|x| x.0).collect(); for (_, t) in s.tokens.iter() { if let Some(x) = t.definition { |