1
Fork 0

rustdoc: Extract resources from the AST

This commit is contained in:
Brian Anderson 2012-01-26 18:02:39 -08:00
parent 7cf725355a
commit 23e9f7a1b6
3 changed files with 39 additions and 6 deletions

View file

@ -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 {