From 30748161f0b4699ba9bc699a38ac9fc2fae49461 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 23 Jun 2020 18:20:32 +0200 Subject: Simplify --- crates/ra_ide/src/mock_analysis.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'crates/ra_ide/src/mock_analysis.rs') diff --git a/crates/ra_ide/src/mock_analysis.rs b/crates/ra_ide/src/mock_analysis.rs index 58fafecab..c0840c6ea 100644 --- a/crates/ra_ide/src/mock_analysis.rs +++ b/crates/ra_ide/src/mock_analysis.rs @@ -25,7 +25,7 @@ impl MockFileData { fn path(&self) -> &str { match self { MockFileData::Plain { path, .. } => path.as_str(), - MockFileData::Fixture(f) => f.meta.path(), + MockFileData::Fixture(f) => f.meta.path.as_str(), } } @@ -38,25 +38,25 @@ impl MockFileData { fn cfg_options(&self) -> CfgOptions { match self { - MockFileData::Fixture(f) => { - f.meta.cfg_options().map_or_else(Default::default, |o| o.clone()) - } + MockFileData::Fixture(f) => f.meta.cfg.clone(), _ => CfgOptions::default(), } } fn edition(&self) -> Edition { match self { - MockFileData::Fixture(f) => { - f.meta.edition().map_or(Edition::Edition2018, |v| Edition::from_str(v).unwrap()) - } + MockFileData::Fixture(f) => f + .meta + .edition + .as_ref() + .map_or(Edition::Edition2018, |v| Edition::from_str(&v).unwrap()), _ => Edition::Edition2018, } } fn env(&self) -> Env { match self { - MockFileData::Fixture(f) => Env::from(f.meta.env()), + MockFileData::Fixture(f) => Env::from(f.meta.env.iter()), _ => Env::default(), } } -- cgit v1.2.3 From 21f751a0e5da5dd488612e25abfc545c259050e7 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 23 Jun 2020 18:34:50 +0200 Subject: Simplify --- crates/ra_ide/src/mock_analysis.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'crates/ra_ide/src/mock_analysis.rs') diff --git a/crates/ra_ide/src/mock_analysis.rs b/crates/ra_ide/src/mock_analysis.rs index c0840c6ea..d480fcf62 100644 --- a/crates/ra_ide/src/mock_analysis.rs +++ b/crates/ra_ide/src/mock_analysis.rs @@ -25,7 +25,7 @@ impl MockFileData { fn path(&self) -> &str { match self { MockFileData::Plain { path, .. } => path.as_str(), - MockFileData::Fixture(f) => f.meta.path.as_str(), + MockFileData::Fixture(f) => f.path.as_str(), } } @@ -38,25 +38,23 @@ impl MockFileData { fn cfg_options(&self) -> CfgOptions { match self { - MockFileData::Fixture(f) => f.meta.cfg.clone(), + MockFileData::Fixture(f) => f.cfg.clone(), _ => CfgOptions::default(), } } fn edition(&self) -> Edition { match self { - MockFileData::Fixture(f) => f - .meta - .edition - .as_ref() - .map_or(Edition::Edition2018, |v| Edition::from_str(&v).unwrap()), + MockFileData::Fixture(f) => { + f.edition.as_ref().map_or(Edition::Edition2018, |v| Edition::from_str(&v).unwrap()) + } _ => Edition::Edition2018, } } fn env(&self) -> Env { match self { - MockFileData::Fixture(f) => Env::from(f.meta.env.iter()), + MockFileData::Fixture(f) => Env::from(f.env.iter()), _ => Env::default(), } } -- cgit v1.2.3 From fdf86aee18e396d393d50df7df27b02111838507 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 23 Jun 2020 18:46:56 +0200 Subject: Nicer API --- crates/ra_ide/src/mock_analysis.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'crates/ra_ide/src/mock_analysis.rs') diff --git a/crates/ra_ide/src/mock_analysis.rs b/crates/ra_ide/src/mock_analysis.rs index d480fcf62..f15990158 100644 --- a/crates/ra_ide/src/mock_analysis.rs +++ b/crates/ra_ide/src/mock_analysis.rs @@ -3,7 +3,7 @@ use std::{str::FromStr, sync::Arc}; use ra_cfg::CfgOptions; use ra_db::{CrateName, Env, FileSet, SourceRoot, VfsPath}; -use test_utils::{extract_offset, extract_range, parse_fixture, FixtureEntry, CURSOR_MARKER}; +use test_utils::{extract_offset, extract_range, Fixture, CURSOR_MARKER}; use crate::{ Analysis, AnalysisChange, AnalysisHost, CrateGraph, Edition, FileId, FilePosition, FileRange, @@ -12,7 +12,7 @@ use crate::{ #[derive(Debug)] enum MockFileData { Plain { path: String, content: String }, - Fixture(FixtureEntry), + Fixture(Fixture), } impl MockFileData { @@ -60,8 +60,8 @@ impl MockFileData { } } -impl From for MockFileData { - fn from(fixture: FixtureEntry) -> Self { +impl From for MockFileData { + fn from(fixture: Fixture) -> Self { Self::Fixture(fixture) } } @@ -89,7 +89,7 @@ impl MockAnalysis { /// ``` pub fn with_files(fixture: &str) -> MockAnalysis { let mut res = MockAnalysis::new(); - for entry in parse_fixture(fixture) { + for entry in Fixture::parse(fixture) { res.add_file_fixture(entry); } res @@ -100,7 +100,7 @@ impl MockAnalysis { pub fn with_files_and_position(fixture: &str) -> (MockAnalysis, FilePosition) { let mut position = None; let mut res = MockAnalysis::new(); - for entry in parse_fixture(fixture) { + for 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)); @@ -112,13 +112,13 @@ impl MockAnalysis { (res, position) } - pub fn add_file_fixture(&mut self, fixture: FixtureEntry) -> FileId { + pub fn add_file_fixture(&mut self, fixture: Fixture) -> FileId { let file_id = self.next_id(); self.files.push(MockFileData::from(fixture)); file_id } - pub fn add_file_fixture_with_position(&mut self, mut fixture: FixtureEntry) -> FilePosition { + pub 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(); -- cgit v1.2.3 From 84cd28fddc89bfa75760e81f4fbc5aa21ce2742c Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 23 Jun 2020 18:56:26 +0200 Subject: Cut problematic dependency --- crates/ra_ide/src/mock_analysis.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'crates/ra_ide/src/mock_analysis.rs') diff --git a/crates/ra_ide/src/mock_analysis.rs b/crates/ra_ide/src/mock_analysis.rs index f15990158..981bdf924 100644 --- a/crates/ra_ide/src/mock_analysis.rs +++ b/crates/ra_ide/src/mock_analysis.rs @@ -38,7 +38,12 @@ impl MockFileData { fn cfg_options(&self) -> CfgOptions { match self { - MockFileData::Fixture(f) => f.cfg.clone(), + MockFileData::Fixture(f) => { + let mut cfg = CfgOptions::default(); + f.cfg_atoms.iter().for_each(|it| cfg.insert_atom(it.into())); + f.cfg_key_values.iter().for_each(|(k, v)| cfg.insert_key_value(k.into(), v.into())); + cfg + } _ => CfgOptions::default(), } } -- cgit v1.2.3