Filter out keyword items in rustdoc JSON output
This commit is contained in:
parent
a5c039cdb7
commit
8e40d93647
@ -43,7 +43,7 @@ impl JsonRenderer<'_> {
|
|||||||
let span = item.span(self.tcx);
|
let span = item.span(self.tcx);
|
||||||
let clean::Item { name, attrs: _, kind: _, visibility, item_id, cfg: _ } = item;
|
let clean::Item { name, attrs: _, kind: _, visibility, item_id, cfg: _ } = item;
|
||||||
let inner = match *item.kind {
|
let inner = match *item.kind {
|
||||||
clean::StrippedItem(_) => return None,
|
clean::StrippedItem(_) | clean::KeywordItem(_) => return None,
|
||||||
_ => from_clean_item(item, self.tcx),
|
_ => from_clean_item(item, self.tcx),
|
||||||
};
|
};
|
||||||
Some(Item {
|
Some(Item {
|
||||||
@ -254,11 +254,8 @@ fn from_clean_item(item: clean::Item, tcx: TyCtxt<'_>) -> ItemEnum {
|
|||||||
},
|
},
|
||||||
// FIXME: do not map to Typedef but to a custom variant
|
// FIXME: do not map to Typedef but to a custom variant
|
||||||
AssocTypeItem(t, _) => ItemEnum::Typedef(t.into_tcx(tcx)),
|
AssocTypeItem(t, _) => ItemEnum::Typedef(t.into_tcx(tcx)),
|
||||||
// `convert_item` early returns `None` for striped items
|
// `convert_item` early returns `None` for striped items and keywords.
|
||||||
StrippedItem(_) => unreachable!(),
|
StrippedItem(_) | KeywordItem(_) => unreachable!(),
|
||||||
KeywordItem(_) => {
|
|
||||||
panic!("{:?} is not supported for JSON output", item)
|
|
||||||
}
|
|
||||||
ExternCrateItem { ref src } => ItemEnum::ExternCrate {
|
ExternCrateItem { ref src } => ItemEnum::ExternCrate {
|
||||||
name: name.as_ref().unwrap().to_string(),
|
name: name.as_ref().unwrap().to_string(),
|
||||||
rename: src.map(|x| x.to_string()),
|
rename: src.map(|x| x.to_string()),
|
||||||
@ -764,7 +761,7 @@ impl FromWithTcx<ItemType> for ItemKind {
|
|||||||
fn ids(items: impl IntoIterator<Item = clean::Item>, tcx: TyCtxt<'_>) -> Vec<Id> {
|
fn ids(items: impl IntoIterator<Item = clean::Item>, tcx: TyCtxt<'_>) -> Vec<Id> {
|
||||||
items
|
items
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|x| !x.is_stripped())
|
.filter(|x| !x.is_stripped() && !x.is_keyword())
|
||||||
.map(|i| from_item_id_with_name(i.item_id, tcx, i.name))
|
.map(|i| from_item_id_with_name(i.item_id, tcx, i.name))
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user