internal: Refactor FamousDefs builtin crate search

This commit is contained in:
Lukas Wirth 2022-03-26 21:22:35 +01:00
parent 259182b50b
commit ef92453dfe
16 changed files with 146 additions and 105 deletions

View file

@ -1261,7 +1261,9 @@ fn rust_project_hello_world_project_model() {
},
],
proc_macro: [],
origin: Lang,
origin: Lang(
Alloc,
),
is_proc_macro: false,
},
CrateId(
@ -1291,7 +1293,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Other,
),
is_proc_macro: false,
},
CrateId(
@ -1321,7 +1325,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Other,
),
is_proc_macro: false,
},
CrateId(
@ -1361,7 +1367,9 @@ fn rust_project_hello_world_project_model() {
},
],
proc_macro: [],
origin: Lang,
origin: Lang(
ProcMacro,
),
is_proc_macro: false,
},
CrateId(
@ -1391,7 +1399,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Core,
),
is_proc_macro: false,
},
CrateId(
@ -1490,7 +1500,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Other,
),
is_proc_macro: false,
},
CrateId(
@ -1520,7 +1532,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Other,
),
is_proc_macro: false,
},
CrateId(
@ -1550,7 +1564,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Other,
),
is_proc_macro: false,
},
CrateId(
@ -1580,7 +1596,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Test,
),
is_proc_macro: false,
},
CrateId(
@ -1692,7 +1710,9 @@ fn rust_project_hello_world_project_model() {
},
],
proc_macro: [],
origin: Lang,
origin: Lang(
Std,
),
is_proc_macro: false,
},
CrateId(
@ -1722,7 +1742,9 @@ fn rust_project_hello_world_project_model() {
},
dependencies: [],
proc_macro: [],
origin: Lang,
origin: Lang(
Other,
),
is_proc_macro: false,
},
},

View file

@ -7,7 +7,7 @@ use std::{collections::VecDeque, fmt, fs, process::Command};
use anyhow::{format_err, Context, Result};
use base_db::{
CrateDisplayName, CrateGraph, CrateId, CrateName, CrateOrigin, Dependency, Edition, Env,
FileId, ProcMacro,
FileId, LangCrateOrigin, ProcMacro,
};
use cfg::{CfgDiff, CfgOptions};
use paths::{AbsPath, AbsPathBuf};
@ -487,7 +487,7 @@ fn project_json_to_crate_graph(
if krate.display_name.is_some() {
CrateOrigin::CratesIo { repo: krate.repository.clone() }
} else {
CrateOrigin::Unknown
CrateOrigin::CratesIo { repo: None }
},
),
)
@ -710,7 +710,7 @@ fn detached_files_to_crate_graph(
Env::default(),
Vec::new(),
false,
CrateOrigin::Unknown,
CrateOrigin::CratesIo { repo: None },
);
public_deps.add(detached_file_crate, &mut crate_graph);
@ -908,7 +908,14 @@ fn sysroot_to_crate_graph(
env,
proc_macro,
false,
CrateOrigin::Lang,
CrateOrigin::Lang(match &*sysroot[krate].name {
"alloc" => LangCrateOrigin::Alloc,
"core" => LangCrateOrigin::Core,
"proc_macro" => LangCrateOrigin::ProcMacro,
"std" => LangCrateOrigin::Std,
"test" => LangCrateOrigin::Test,
_ => LangCrateOrigin::Other,
}),
);
Some((krate, crate_id))
})