rustdoc: Add resource arg tys to doc tree

This commit is contained in:
Brian Anderson 2012-01-26 22:45:28 -08:00
parent e51ae23317
commit ca0aefa8bf
2 changed files with 42 additions and 1 deletions

View file

@ -70,3 +70,32 @@ mod blade_runner {
Alien 3 was crap though."
)];
}
#[doc(
brief = "Bored",
desc = "
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec
molestie nisl. Duis massa risus, pharetra a scelerisque a,
molestie eu velit. Donec mattis ligula at ante imperdiet ut
dapibus mauris malesuada. Sed gravida nisi a metus elementum sit
amet hendrerit dolor bibendum. Aenean sit amet neque massa, sed
tempus tortor. Sed ut lobortis enim. Proin a mauris quis nunc
fermentum ultrices eget a erat. Mauris in lectus vitae metus
sodales auctor. Morbi nunc quam, ultricies at venenatis non,
pellentesque ac dui.
Quisque vitae est id eros placerat laoreet sit amet eu
nisi. Curabitur suscipit neque porttitor est euismod
lacinia. Curabitur non quam vitae ipsum adipiscing
condimentum. Mauris ut ante eget metus sollicitudin
blandit. Aliquam erat volutpat. Morbi sed nisl mauris. Nulla
facilisi. Phasellus at mollis ipsum. Maecenas sed convallis
sapien. Nullam in ligula turpis. Pellentesque a neque augue. Sed
eget ante feugiat tortor congue auctor ac quis ante. Proin
condimentum lacinia tincidunt.
")]
resource bored(bored: bool) {
log(error, bored);
}

View file

@ -134,6 +134,9 @@ fn get_arg_tys(srv: astsrv::srv, fn_id: doc::ast_id) -> [(str, str)] {
alt ctxt.ast_map.get(fn_id) {
ast_map::node_item(@{
node: ast::item_fn(decl, _, _), _
}) |
ast_map::node_item(@{
node: ast::item_res(decl, _, _, _, _), _
}) {
vec::map(decl.inputs) {|arg|
(arg.ident, pprust::ty_to_str(arg.ty))
@ -231,6 +234,7 @@ fn fold_res(
let srv = fold.ctxt;
~{
args: merge_arg_tys(srv, doc.id, doc.args),
sig: some(astsrv::exec(srv) {|ctxt|
alt ctxt.ast_map.get(doc.id) {
ast_map::node_item(@{
@ -250,6 +254,14 @@ fn should_add_resource_sigs() {
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
log(error, doc.topmod.resources[0].sig);
assert doc.topmod.resources[0].sig == some("resource r(b: bool)");
}
#[test]
fn should_add_resource_arg_tys() {
let source = "resource r(a: bool) { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
assert doc.topmod.resources[0].args[0].ty == some("bool");
}