From 29df58d73babbc6bf5af285162ea03170b8ff9ab Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 18 Jan 2012 14:47:18 -0800 Subject: [PATCH] rustdoc: Introduce type doc::argdoc --- src/rustdoc/attr_pass.rs | 4 ++-- src/rustdoc/doc.rs | 6 +++++- src/rustdoc/extract.rs | 12 +++++++----- src/rustdoc/gen.rs | 7 +++---- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/rustdoc/attr_pass.rs b/src/rustdoc/attr_pass.rs index 2daa77fac57..10fa5022a7a 100644 --- a/src/rustdoc/attr_pass.rs +++ b/src/rustdoc/attr_pass.rs @@ -99,9 +99,9 @@ fn fold_fn( } fn merge_arg_attrs( - doc: [(str, str)], + doc: [doc::argdoc], _attrs: [attr_parser::arg_attrs] - ) -> [(str, str)] { + ) -> [doc::argdoc] { // FIXME doc } diff --git a/src/rustdoc/doc.rs b/src/rustdoc/doc.rs index 8fb3c6bc53e..2b5856e0fac 100644 --- a/src/rustdoc/doc.rs +++ b/src/rustdoc/doc.rs @@ -18,7 +18,11 @@ type fndoc = ~{ brief: option, desc: option, return: option, - args: [(str, str)] + args: [argdoc] +}; + +type argdoc = ~{ + name: str }; type retdoc = { diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs index cb6feb98d58..3b5a2e09127 100644 --- a/src/rustdoc/extract.rs +++ b/src/rustdoc/extract.rs @@ -85,16 +85,18 @@ fn should_extract_fn_args() { let ast = parse::from_str(source); let doc = extract(ast, ""); let fn_ = doc.topmod.fns[0]; - assert tuple::first(fn_.args[0]) == "b"; - assert tuple::first(fn_.args[1]) == "c"; + assert fn_.args[0].name == "b"; + assert fn_.args[1].name == "c"; } -fn argdocs_from_args(args: [ast::arg]) -> [(str, str)] { +fn argdocs_from_args(args: [ast::arg]) -> [doc::argdoc] { vec::map(args, argdoc_from_arg) } -fn argdoc_from_arg(arg: ast::arg) -> (str, str) { - (arg.ident, "") +fn argdoc_from_arg(arg: ast::arg) -> doc::argdoc { + ~{ + name: arg.ident + } } #[cfg(test)] diff --git a/src/rustdoc/gen.rs b/src/rustdoc/gen.rs index afd06523b9a..ee555962e29 100644 --- a/src/rustdoc/gen.rs +++ b/src/rustdoc/gen.rs @@ -125,11 +125,10 @@ fn write_desc( fn write_args( ctxt: ctxt, - args: [(str, str)] + args: [doc::argdoc] ) { - for (arg, desc) in args { - ctxt.w.write_str("### Argument `" + arg + "`: "); - ctxt.w.write_str(desc) + for arg in args { + ctxt.w.write_str("### Argument `" + arg.name + "`: "); } }