Remove DefPath
from Visibility
and calculate it on demand
This commit is contained in:
parent
d8d3ab96aa
commit
a2fb4b95dd
5 changed files with 76 additions and 62 deletions
|
@ -35,7 +35,7 @@ impl JsonRenderer<'_> {
|
|||
crate_id: def_id.krate.as_u32(),
|
||||
name: name.map(|sym| sym.to_string()),
|
||||
source: self.convert_span(source),
|
||||
visibility: visibility.into(),
|
||||
visibility: self.convert_visibility(visibility),
|
||||
docs: attrs.collapsed_doc_value().unwrap_or_default(),
|
||||
links: attrs
|
||||
.links
|
||||
|
@ -75,6 +75,19 @@ impl JsonRenderer<'_> {
|
|||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn convert_visibility(&self, v: clean::Visibility) -> Visibility {
|
||||
use clean::Visibility::*;
|
||||
match v {
|
||||
Public => Visibility::Public,
|
||||
Inherited => Visibility::Default,
|
||||
Restricted(did) if did.index == CRATE_DEF_INDEX => Visibility::Crate,
|
||||
Restricted(did) => Visibility::Restricted {
|
||||
parent: did.into(),
|
||||
path: self.tcx.def_path(did).to_string_no_crate_verbose(),
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<rustc_attr::Deprecation> for Deprecation {
|
||||
|
@ -85,21 +98,6 @@ impl From<rustc_attr::Deprecation> for Deprecation {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<clean::Visibility> for Visibility {
|
||||
fn from(v: clean::Visibility) -> Self {
|
||||
use clean::Visibility::*;
|
||||
match v {
|
||||
Public => Visibility::Public,
|
||||
Inherited => Visibility::Default,
|
||||
Restricted(did, _) if did.index == CRATE_DEF_INDEX => Visibility::Crate,
|
||||
Restricted(did, path) => Visibility::Restricted {
|
||||
parent: did.into(),
|
||||
path: path.to_string_no_crate_verbose(),
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<clean::GenericArgs> for GenericArgs {
|
||||
fn from(args: clean::GenericArgs) -> Self {
|
||||
use clean::GenericArgs::*;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue