mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-13 05:38:46 +00:00
Use Strings for display names
This commit is contained in:
parent
307c6fec61
commit
80386ca5be
5 changed files with 15 additions and 15 deletions
|
@ -149,15 +149,17 @@ fn with_files(
|
|||
let crate_id = crate_graph.add_crate_root(
|
||||
file_id,
|
||||
meta.edition,
|
||||
Some(CrateName::new(&krate).unwrap()),
|
||||
Some(krate.clone()),
|
||||
meta.cfg,
|
||||
meta.env,
|
||||
Default::default(),
|
||||
);
|
||||
let prev = crates.insert(krate.clone(), crate_id);
|
||||
let crate_name = CrateName::new(&krate).unwrap();
|
||||
let prev = crates.insert(crate_name.clone(), crate_id);
|
||||
assert!(prev.is_none());
|
||||
for dep in meta.deps {
|
||||
crate_deps.push((krate.clone(), dep))
|
||||
let dep = CrateName::new(&dep).unwrap();
|
||||
crate_deps.push((crate_name.clone(), dep))
|
||||
}
|
||||
} else if meta.path == "/main.rs" || meta.path == "/lib.rs" {
|
||||
assert!(default_crate_root.is_none());
|
||||
|
|
|
@ -67,7 +67,7 @@ pub struct CrateGraph {
|
|||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub struct CrateId(pub u32);
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct CrateName(SmolStr);
|
||||
|
||||
impl CrateName {
|
||||
|
@ -124,7 +124,7 @@ pub struct CrateData {
|
|||
/// The name to display to the end user.
|
||||
/// This actual crate name can be different in a particular dependent crate
|
||||
/// or may even be missing for some cases, such as a dummy crate for the code snippet.
|
||||
pub display_name: Option<CrateName>,
|
||||
pub display_name: Option<String>,
|
||||
pub cfg_options: CfgOptions,
|
||||
pub env: Env,
|
||||
pub dependencies: Vec<Dependency>,
|
||||
|
@ -153,7 +153,7 @@ impl CrateGraph {
|
|||
&mut self,
|
||||
file_id: FileId,
|
||||
edition: Edition,
|
||||
display_name: Option<CrateName>,
|
||||
display_name: Option<String>,
|
||||
cfg_options: CfgOptions,
|
||||
env: Env,
|
||||
proc_macro: Vec<(SmolStr, Arc<dyn ra_tt::TokenExpander>)>,
|
||||
|
|
|
@ -31,7 +31,7 @@ use hir_ty::{
|
|||
ApplicationTy, Canonical, GenericPredicate, InEnvironment, Substs, TraitEnvironment, Ty,
|
||||
TyDefId, TypeCtor,
|
||||
};
|
||||
use ra_db::{CrateId, CrateName, Edition, FileId};
|
||||
use ra_db::{CrateId, Edition, FileId};
|
||||
use ra_prof::profile;
|
||||
use ra_syntax::ast::{self, AttrsOwner, NameOwner};
|
||||
use rustc_hash::FxHashSet;
|
||||
|
@ -94,8 +94,8 @@ impl Crate {
|
|||
db.crate_graph()[self.id].edition
|
||||
}
|
||||
|
||||
pub fn display_name(self, db: &dyn HirDatabase) -> Option<CrateName> {
|
||||
db.crate_graph()[self.id].display_name.as_ref().cloned()
|
||||
pub fn display_name(self, db: &dyn HirDatabase) -> Option<String> {
|
||||
db.crate_graph()[self.id].display_name.clone()
|
||||
}
|
||||
|
||||
pub fn query_external_importables(
|
||||
|
|
|
@ -130,7 +130,7 @@ impl MockAnalysis {
|
|||
let other_crate = crate_graph.add_crate_root(
|
||||
file_id,
|
||||
edition,
|
||||
Some(CrateName::new(crate_name).unwrap()),
|
||||
Some(crate_name.to_string()),
|
||||
cfg,
|
||||
env,
|
||||
Default::default(),
|
||||
|
|
|
@ -309,13 +309,11 @@ impl ProjectWorkspace {
|
|||
|
||||
let env = Env::default();
|
||||
let proc_macro = vec![];
|
||||
let crate_name = CrateName::new(&sysroot[krate].name)
|
||||
.expect("Sysroot crate names should not contain dashes");
|
||||
|
||||
let name = sysroot[krate].name.clone();
|
||||
let crate_id = crate_graph.add_crate_root(
|
||||
file_id,
|
||||
Edition::Edition2018,
|
||||
Some(crate_name),
|
||||
Some(name),
|
||||
cfg_options.clone(),
|
||||
env,
|
||||
proc_macro,
|
||||
|
@ -389,7 +387,7 @@ impl ProjectWorkspace {
|
|||
let crate_id = crate_graph.add_crate_root(
|
||||
file_id,
|
||||
edition,
|
||||
Some(CrateName::normalize_dashes(&cargo[pkg].name)),
|
||||
Some(cargo[pkg].name.clone()),
|
||||
cfg_options,
|
||||
env,
|
||||
proc_macro.clone(),
|
||||
|
|
Loading…
Reference in a new issue