diff options
| author | Joshua Nelson <jyn514@gmail.com> | 2020-12-16 18:10:04 -0500 |
|---|---|---|
| committer | Joshua Nelson <jyn514@gmail.com> | 2020-12-18 12:29:55 -0500 |
| commit | a2fb4b95ddda1c2d622c809e63aa5e158cfb9976 (patch) | |
| tree | a07d5aade54d321b0f4b3a1d5fe52a3f9cc2f04c /src/librustdoc/json | |
| parent | d8d3ab96aa94423f1bdfbb605098a506ab5edc7e (diff) | |
| download | rust-a2fb4b95ddda1c2d622c809e63aa5e158cfb9976.tar.gz rust-a2fb4b95ddda1c2d622c809e63aa5e158cfb9976.zip | |
Remove `DefPath` from `Visibility` and calculate it on demand
Diffstat (limited to 'src/librustdoc/json')
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index 99587f4ec64..5a8b2cb5da1 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -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,31 +75,29 @@ impl JsonRenderer<'_> { _ => None, } } -} - -impl From<rustc_attr::Deprecation> for Deprecation { - fn from(deprecation: rustc_attr::Deprecation) -> Self { - #[rustfmt::skip] - let rustc_attr::Deprecation { since, note, is_since_rustc_version: _, suggestion: _ } = deprecation; - Deprecation { since: since.map(|s| s.to_string()), note: note.map(|s| s.to_string()) } - } -} -impl From<clean::Visibility> for Visibility { - fn from(v: clean::Visibility) -> Self { + 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, path) => Visibility::Restricted { + Restricted(did) if did.index == CRATE_DEF_INDEX => Visibility::Crate, + Restricted(did) => Visibility::Restricted { parent: did.into(), - path: path.to_string_no_crate_verbose(), + path: self.tcx.def_path(did).to_string_no_crate_verbose(), }, } } } +impl From<rustc_attr::Deprecation> for Deprecation { + fn from(deprecation: rustc_attr::Deprecation) -> Self { + #[rustfmt::skip] + let rustc_attr::Deprecation { since, note, is_since_rustc_version: _, suggestion: _ } = deprecation; + Deprecation { since: since.map(|s| s.to_string()), note: note.map(|s| s.to_string()) } + } +} + impl From<clean::GenericArgs> for GenericArgs { fn from(args: clean::GenericArgs) -> Self { use clean::GenericArgs::*; |
