diff options
Diffstat (limited to 'crates/libanalysis/src/lib.rs')
-rw-r--r-- | crates/libanalysis/src/lib.rs | 16 |
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)] | ||
221 | pub struct LibraryData { | ||
222 | root: roots::ReadonlySourceRoot | ||
223 | } | ||
224 | |||
225 | impl LibraryData { | ||
226 | pub fn prepare(files: Vec<(FileId, String)>) -> LibraryData { | ||
227 | let root = roots::ReadonlySourceRoot::new(files); | ||
228 | LibraryData { root } | ||
229 | } | ||
230 | } | ||