aboutsummaryrefslogtreecommitdiff
path: root/crates/libanalysis/src/lib.rs
diff options
context:
space:
mode:
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}