mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 21:05:02 +00:00
internal: Fetch toolchain and datalayout for DetachedFiles
This commit is contained in:
parent
2223b4fa71
commit
d93096ecc0
29 changed files with 164 additions and 80 deletions
|
@ -309,6 +309,10 @@ fn load_crate_graph(
|
|||
vfs: &mut vfs::Vfs,
|
||||
receiver: &Receiver<vfs::loader::Message>,
|
||||
) -> AnalysisHost {
|
||||
let (ProjectWorkspace::Cargo { toolchain, target_layout, .. }
|
||||
| ProjectWorkspace::Json { toolchain, target_layout, .. }
|
||||
| ProjectWorkspace::DetachedFiles { toolchain, target_layout, .. }) = ws;
|
||||
|
||||
let lru_cap = std::env::var("RA_LRU_CAP").ok().and_then(|it| it.parse::<usize>().ok());
|
||||
let mut host = AnalysisHost::new(lru_cap);
|
||||
let mut analysis_change = Change::new();
|
||||
|
@ -344,14 +348,9 @@ fn load_crate_graph(
|
|||
let num_crates = crate_graph.len();
|
||||
analysis_change.set_crate_graph(crate_graph);
|
||||
analysis_change.set_proc_macros(proc_macros);
|
||||
if let ProjectWorkspace::Cargo { toolchain, target_layout, .. }
|
||||
| ProjectWorkspace::Json { toolchain, target_layout, .. } = ws
|
||||
{
|
||||
analysis_change.set_target_data_layouts(
|
||||
iter::repeat(target_layout.clone()).take(num_crates).collect(),
|
||||
);
|
||||
analysis_change.set_toolchains(iter::repeat(toolchain.clone()).take(num_crates).collect());
|
||||
}
|
||||
analysis_change
|
||||
.set_target_data_layouts(iter::repeat(target_layout.clone()).take(num_crates).collect());
|
||||
analysis_change.set_toolchains(iter::repeat(toolchain.clone()).take(num_crates).collect());
|
||||
|
||||
host.apply_change(analysis_change);
|
||||
host
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue