diff options
Diffstat (limited to 'crates/ra_analysis/src/imp.rs')
-rw-r--r-- | crates/ra_analysis/src/imp.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crates/ra_analysis/src/imp.rs b/crates/ra_analysis/src/imp.rs index 51bcd5a73..54f38b285 100644 --- a/crates/ra_analysis/src/imp.rs +++ b/crates/ra_analysis/src/imp.rs | |||
@@ -43,14 +43,17 @@ impl AnalysisHostImpl { | |||
43 | pub fn apply_change(&mut self, change: AnalysisChange) { | 43 | pub fn apply_change(&mut self, change: AnalysisChange) { |
44 | log::info!("apply_change {:?}", change); | 44 | log::info!("apply_change {:?}", change); |
45 | // self.gc_syntax_trees(); | 45 | // self.gc_syntax_trees(); |
46 | for root_id in change.new_roots { | ||
47 | self.db | ||
48 | .query_mut(ra_db::SourceRootQuery) | ||
49 | .set(root_id, Default::default()); | ||
50 | } | ||
46 | 51 | ||
47 | for (root_id, root_change) in change.roots_changed { | 52 | for (root_id, root_change) in change.roots_changed { |
48 | self.apply_root_change(root_id, root_change); | 53 | self.apply_root_change(root_id, root_change); |
49 | } | 54 | } |
50 | for (file_id, text) in change.files_changed { | 55 | for (file_id, text) in change.files_changed { |
51 | self.db | 56 | self.db.query_mut(ra_db::FileTextQuery).set(file_id, text) |
52 | .query_mut(ra_db::FileTextQuery) | ||
53 | .set(file_id, Arc::new(text)) | ||
54 | } | 57 | } |
55 | if !change.libraries_added.is_empty() { | 58 | if !change.libraries_added.is_empty() { |
56 | let mut libraries = Vec::clone(&self.db.libraries()); | 59 | let mut libraries = Vec::clone(&self.db.libraries()); |