diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-01-25 18:44:00 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-01-25 21:04:53 -0800 |
| commit | 53c6454de58dd3b7aeb2ad2c390872004cafff2c (patch) | |
| tree | 3fc3f4c0f0dbd1e38b4a0c68c07b0ecee9c3a30e | |
| parent | 1d94f40c6c9a03312b3de0902e6c6a66a54ee0a2 (diff) | |
| download | rust-53c6454de58dd3b7aeb2ad2c390872004cafff2c.tar.gz rust-53c6454de58dd3b7aeb2ad2c390872004cafff2c.zip | |
rustdoc: Extract brief enum descs from long descs
| -rw-r--r-- | src/rustdoc/desc_to_brief_pass.rs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/rustdoc/desc_to_brief_pass.rs b/src/rustdoc/desc_to_brief_pass.rs index c2412e5b702..072c6c6c910 100644 --- a/src/rustdoc/desc_to_brief_pass.rs +++ b/src/rustdoc/desc_to_brief_pass.rs @@ -20,7 +20,8 @@ fn run( let fold = fold::fold({ fold_mod: fold_mod, fold_const: fold_const, - fold_fn: fold_fn + fold_fn: fold_fn, + fold_enum: fold_enum with *fold::default_seq_fold(()) }); fold.fold_crate(fold, doc) @@ -59,6 +60,17 @@ fn fold_fn(fold: fold::fold<()>, doc: doc::fndoc) -> doc::fndoc { } } +fn fold_enum(fold: fold::fold<()>, doc: doc::enumdoc) -> doc::enumdoc { + let doc = fold::default_seq_fold_enum(fold, doc); + let (brief, desc) = modify(doc.brief, doc.desc); + + ~{ + brief: brief, + desc: desc + with *doc + } +} + #[test] fn should_promote_mod_desc() { let source = "#[doc(desc = \"desc\")] mod m { }"; @@ -92,6 +104,17 @@ fn should_promote_fn_desc() { assert doc.topmod.fns[0].desc == none; } +#[test] +fn should_promote_enum_desc() { + let source = "#[doc(desc = \"desc\")] enum a { b }"; + let srv = astsrv::mk_srv_from_str(source); + let doc = extract::from_srv(srv, ""); + let doc = attr_pass::mk_pass()(srv, doc); + let doc = run(srv, doc); + assert doc.topmod.enums[0].brief == some("desc"); + assert doc.topmod.enums[0].desc == none; +} + fn modify( brief: option<str>, desc: option<str> |
