aboutsummaryrefslogtreecommitdiff
path: root/crates/libanalysis/src/lib.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-09-03 19:26:59 +0100
committerAleksey Kladov <[email protected]>2018-09-03 19:26:59 +0100
commit5ba645c0094c79d9aab527f0396fdad3e99bef3b (patch)
treea831263055a2f3843fa38919ff7b7b5aaf2c6e0c /crates/libanalysis/src/lib.rs
parent47cbaeba6f21e59ee8735bfe8bcbf06300767b57 (diff)
index libraies off the main thread
Diffstat (limited to 'crates/libanalysis/src/lib.rs')
-rw-r--r--crates/libanalysis/src/lib.rs16
1 files changed, 14 insertions, 2 deletions
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 {
68 pub fn set_crate_graph(&mut self, graph: CrateGraph) { 68 pub fn set_crate_graph(&mut self, graph: CrateGraph) {
69 self.imp.set_crate_graph(graph) 69 self.imp.set_crate_graph(graph)
70 } 70 }
71 pub fn add_library(&mut self, files: impl Iterator<Item=(FileId, String)>) { 71 pub fn add_library(&mut self, data: LibraryData) {
72 self.imp.add_library(files) 72 self.imp.add_library(data.root)
73 } 73 }
74} 74}
75 75
@@ -216,3 +216,15 @@ impl Analysis {
216 self.imp.diagnostics(file_id) 216 self.imp.diagnostics(file_id)
217 } 217 }
218} 218}
219
220#[derive(Debug)]
221pub struct LibraryData {
222 root: roots::ReadonlySourceRoot
223}
224
225impl LibraryData {
226 pub fn prepare(files: Vec<(FileId, String)>) -> LibraryData {
227 let root = roots::ReadonlySourceRoot::new(files);
228 LibraryData { root }
229 }
230}