rustdoc: Extract resources from the AST
This commit is contained in:
parent
7cf725355a
commit
23e9f7a1b6
3 changed files with 39 additions and 6 deletions
|
@ -88,7 +88,17 @@ fn moddoc_from_mod(
|
|||
}
|
||||
}
|
||||
}),
|
||||
resources: doc::resourcelist([])
|
||||
resources: doc::reslist(
|
||||
vec::filter_map(module.items) {|item|
|
||||
alt item.node {
|
||||
ast::item_res(_, _, _, _, _) {
|
||||
some(resdoc_from_resource(item.ident, item.id))
|
||||
}
|
||||
_ {
|
||||
none
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -201,6 +211,29 @@ fn should_extract_enum_variants() {
|
|||
assert doc.topmod.enums[0].variants[0].name == "v";
|
||||
}
|
||||
|
||||
fn resdoc_from_resource(
|
||||
name: str,
|
||||
id: ast::node_id
|
||||
) -> doc::resdoc {
|
||||
~{
|
||||
id: id,
|
||||
name: name,
|
||||
brief: none,
|
||||
desc: none,
|
||||
args: [],
|
||||
sig: none
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_extract_resources() {
|
||||
let source = "resource r(b: bool) { }";
|
||||
let ast = parse::from_str(source);
|
||||
let doc = extract(ast, "");
|
||||
assert doc.topmod.resources[0].id != 0;
|
||||
assert doc.topmod.resources[0].name == "r";
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue