rustdoc: Extract method to get item names

This commit is contained in:
Brian Anderson 2012-01-29 13:36:16 -08:00
parent dbe2928c4d
commit 55e69eb458
2 changed files with 14 additions and 9 deletions

View File

@ -122,4 +122,16 @@ impl util for moddoc {
}
}
}
}
}
impl util for itemtag {
fn name() -> str {
alt self {
doc::modtag(~{name, _}) { name }
doc::fntag(~{name, _}) { name }
doc::consttag(~{name, _}) { name }
doc::enumtag(~{name, _}) { name }
doc::restag(~{name, _}) { name }
}
}
}

View File

@ -67,13 +67,6 @@ fn exported_items_from(
is_exported: fn(astsrv::srv, str) -> bool
) -> [doc::itemtag] {
vec::filter_map(doc.items) { |itemtag|
let name = alt itemtag {
doc::modtag(~{name, _}) { name }
doc::fntag(~{name, _}) { name }
doc::consttag(~{name, _}) { name }
doc::enumtag(~{name, _}) { name }
doc::restag(~{name, _}) { name }
};
let itemtag = alt itemtag {
doc::enumtag(enumdoc) {
// Also need to check variant exportedness
@ -84,7 +77,7 @@ fn exported_items_from(
}
_ { itemtag }
};
if is_exported(srv, name) {
if is_exported(srv, itemtag.name()) {
some(itemtag)
} else {
none