From d4a493078ad0e79a8b401af40274089d8235827f Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 24 Jun 2020 11:48:44 +0200 Subject: Simplify --- crates/ra_ide/src/mock_analysis.rs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/crates/ra_ide/src/mock_analysis.rs b/crates/ra_ide/src/mock_analysis.rs index e99c2b0a3..5bad3911f 100644 --- a/crates/ra_ide/src/mock_analysis.rs +++ b/crates/ra_ide/src/mock_analysis.rs @@ -105,10 +105,13 @@ impl MockAnalysis { pub fn with_files_and_position(fixture: &str) -> (MockAnalysis, FilePosition) { let mut position = None; let mut res = MockAnalysis::new(); - for entry in Fixture::parse(fixture) { + for mut entry in Fixture::parse(fixture) { if entry.text.contains(CURSOR_MARKER) { assert!(position.is_none(), "only one marker (<|>) per fixture is allowed"); - position = Some(res.add_file_fixture_with_position(entry)); + let (offset, text) = extract_offset(&entry.text); + entry.text = text; + let file_id = res.add_file_fixture(entry); + position = Some(FilePosition { file_id, offset }); } else { res.add_file_fixture(entry); } @@ -123,19 +126,12 @@ impl MockAnalysis { file_id } - fn add_file_fixture_with_position(&mut self, mut fixture: Fixture) -> FilePosition { - let (offset, text) = extract_offset(&fixture.text); - fixture.text = text; - let file_id = self.next_id(); - self.files.push(MockFileData::from(fixture)); - FilePosition { file_id, offset } - } - pub fn add_file(&mut self, path: &str, text: &str) -> FileId { let file_id = self.next_id(); self.files.push(MockFileData::new(path.to_string(), text.to_string())); file_id } + fn add_file_with_range(&mut self, path: &str, text: &str) -> FileRange { let (range, text) = extract_range(text); let file_id = self.next_id(); -- cgit v1.2.3