Skip to content

Commit 22d182a

Browse files
committed
rustdoc: Remove attribute parsing from extract module
1 parent 04294e4 commit 22d182a

File tree

4 files changed

+28
-32
lines changed

4 files changed

+28
-32
lines changed

src/rustdoc/attr_parser.rs

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fn parse_fn(
1515
_fndoc = some(~{
1616
id: id,
1717
name: name,
18-
brief: value,
18+
brief: some(value),
1919
desc: none,
2020
return: none,
2121
args: []
@@ -34,7 +34,7 @@ fn parse_fn(
3434
~{
3535
id: id,
3636
name: name,
37-
brief: "_undocumented_",
37+
brief: none,
3838
desc: none,
3939
return: none,
4040
args: []
@@ -102,15 +102,10 @@ fn parse_fn_(
102102
}
103103
}
104104

105-
let _brief = alt brief {
106-
some(_b) { _b }
107-
none. { "_undocumented_" }
108-
};
109-
110105
~{
111106
id: id,
112107
name: name,
113-
brief: _brief,
108+
brief: brief,
114109
desc: desc,
115110
return: some({
116111
desc: return,
@@ -144,7 +139,7 @@ mod tests {
144139
let source = "";
145140
let attrs = parse_attributes(source);
146141
let doc = parse_fn("f", 0, attrs);
147-
assert doc.brief == "_undocumented_";
142+
assert doc.brief == none;
148143
assert doc.desc == none;
149144
assert doc.return == none;
150145
assert vec::len(doc.args) == 0u;
@@ -155,15 +150,15 @@ mod tests {
155150
let source = "#[doc = \"basic\"]";
156151
let attrs = parse_attributes(source);
157152
let doc = parse_fn("f", 0, attrs);
158-
assert doc.brief == "basic";
153+
assert doc.brief == some("basic");
159154
}
160155

161156
#[test]
162157
fn parse_fn_should_parse_the_brief_description() {
163158
let source = "#[doc(brief = \"short\")]";
164159
let attrs = parse_attributes(source);
165160
let doc = parse_fn("f", 0, attrs);
166-
assert doc.brief == "short";
161+
assert doc.brief == some("short");
167162
}
168163

169164
#[test]
@@ -190,12 +185,4 @@ mod tests {
190185
assert doc.args[0] == ("a", "arg a");
191186
assert doc.args[1] == ("b", "arg b");
192187
}
193-
194-
#[test]
195-
fn parse_fn_should_set_brief_desc_to_undocumented_if_not_exists() {
196-
let source = "#[doc(desc = \"long desc\")]";
197-
let attrs = parse_attributes(source);
198-
let doc = parse_fn("f", 0, attrs);
199-
assert doc.brief == "_undocumented_";
200-
}
201188
}

src/rustdoc/doc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type moddoc = ~{
1313
type fndoc = ~{
1414
id: ast_id,
1515
name: str,
16-
brief: str,
16+
brief: option<str>,
1717
desc: option<str>,
1818
return: option<retdoc>,
1919
args: [(str, str)]

src/rustdoc/extract.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,20 @@ fn top_moddoc_from_crate(
1717
crate: @ast::crate,
1818
default_name: str
1919
) -> doc::moddoc {
20-
moddoc_from_mod(crate.node.module, default_name, crate.node.attrs)
20+
moddoc_from_mod(crate.node.module, default_name)
2121
}
2222

2323
fn moddoc_from_mod(
2424
module: ast::_mod,
25-
name: ast::ident,
26-
_attrs: [ast::attribute]
25+
name: ast::ident
2726
) -> doc::moddoc {
2827
~{
2928
name: name,
3029
mods: doc::modlist(
3130
vec::filter_map(module.items) {|item|
3231
alt item.node {
3332
ast::item_mod(m) {
34-
some(moddoc_from_mod(m, item.ident, item.attrs))
33+
some(moddoc_from_mod(m, item.ident))
3534
}
3635
_ {
3736
none
@@ -41,9 +40,9 @@ fn moddoc_from_mod(
4140
fns: doc::fnlist(
4241
vec::filter_map(module.items) {|item|
4342
alt item.node {
44-
ast::item_fn(decl, typarams, _) {
43+
ast::item_fn(decl, _, _) {
4544
some(fndoc_from_fn(
46-
decl, typarams, item.ident, item.id, item.attrs))
45+
decl, item.ident, item.id))
4746
}
4847
_ {
4948
none
@@ -55,12 +54,17 @@ fn moddoc_from_mod(
5554

5655
fn fndoc_from_fn(
5756
_decl: ast::fn_decl,
58-
_typarams: [ast::ty_param],
5957
name: ast::ident,
60-
id: ast::node_id,
61-
attrs: [ast::attribute]
58+
id: ast::node_id
6259
) -> doc::fndoc {
63-
attr_parser::parse_fn(name, id, attrs)
60+
~{
61+
id: id,
62+
name: name,
63+
brief: none,
64+
desc: none,
65+
return: none,
66+
args: []
67+
}
6468
}
6569

6670
#[cfg(test)]
@@ -114,7 +118,7 @@ mod tests {
114118
}
115119

116120
#[test]
117-
fn extract_should_use_default_crate_name_if_no_link_name_exists() {
121+
fn extract_should_use_default_crate_name() {
118122
let source = "";
119123
let ast = parse::from_str(source);
120124
let doc = extract(ast, "burp");

src/rustdoc/gen.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ fn write_fn(
5555
doc: doc::fndoc
5656
) {
5757
ctxt.w.write_line("## Function `" + doc.name + "`");
58-
ctxt.w.write_line(doc.brief);
58+
alt doc.brief {
59+
some(brief) {
60+
ctxt.w.write_line(brief);
61+
}
62+
none. { }
63+
}
5964
alt doc.desc {
6065
some(_d) {
6166
ctxt.w.write_line("");

0 commit comments

Comments
 (0)