From 5ba645c0094c79d9aab527f0396fdad3e99bef3b Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 3 Sep 2018 21:26:59 +0300 Subject: index libraies off the main thread --- crates/libanalysis/src/lib.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'crates/libanalysis/src/lib.rs') diff --git a/crates/libanalysis/src/lib.rs b/crates/libanalysis/src/lib.rs index e9e0c51d5..a8152939b 100644 --- a/crates/libanalysis/src/lib.rs +++ b/crates/libanalysis/src/lib.rs @@ -68,8 +68,8 @@ impl AnalysisHost { pub fn set_crate_graph(&mut self, graph: CrateGraph) { self.imp.set_crate_graph(graph) } - pub fn add_library(&mut self, files: impl Iterator) { - self.imp.add_library(files) + pub fn add_library(&mut self, data: LibraryData) { + self.imp.add_library(data.root) } } @@ -216,3 +216,15 @@ impl Analysis { self.imp.diagnostics(file_id) } } + +#[derive(Debug)] +pub struct LibraryData { + root: roots::ReadonlySourceRoot +} + +impl LibraryData { + pub fn prepare(files: Vec<(FileId, String)>) -> LibraryData { + let root = roots::ReadonlySourceRoot::new(files); + LibraryData { root } + } +} -- cgit v1.2.3