Skip to content

Commit 1b50717

Browse files
committed
---
yaml --- r: 13883 b: refs/heads/try c: d56a4dd h: refs/heads/master i: 13881: 05be541 13879: 4864ce2 v: v3
1 parent 42e0744 commit 1b50717

File tree

12 files changed

+104
-117
lines changed

12 files changed

+104
-117
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 40cbc89b6fc8c1d0c61689b9b0507d534a576d9d
5+
refs/heads/try: d56a4dd04bf6fc3017f32cd4a6b4375c52e66a9c
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/rustdoc/attr_pass.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ fn fold_enum_should_extract_docs() {
294294
let srv = astsrv::mk_srv_from_str(source);
295295
let doc = extract::from_srv(srv, "");
296296
let fold = fold::default_seq_fold(srv);
297-
let doc = fold_enum(fold, doc.topmod.enums[0]);
297+
let doc = fold_enum(fold, doc.topmod.enums()[0]);
298298
assert doc.brief == some("a");
299299
assert doc.desc == some("b");
300300
}
@@ -305,7 +305,7 @@ fn fold_enum_should_extract_variant_docs() {
305305
let srv = astsrv::mk_srv_from_str(source);
306306
let doc = extract::from_srv(srv, "");
307307
let fold = fold::default_seq_fold(srv);
308-
let doc = fold_enum(fold, doc.topmod.enums[0]);
308+
let doc = fold_enum(fold, doc.topmod.enums()[0]);
309309
assert doc.variants[0].desc == some("c");
310310
}
311311

branches/try/src/rustdoc/desc_pass.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ fn should_execute_op_on_enum_brief() {
106106
let doc = extract::from_srv(srv, "");
107107
let doc = attr_pass::mk_pass()(srv, doc);
108108
let doc = mk_pass(str::trim)(srv, doc);
109-
assert doc.topmod.enums[0].brief == some("a");
109+
assert doc.topmod.enums()[0].brief == some("a");
110110
}
111111

112112
#[test]
@@ -116,7 +116,7 @@ fn should_execute_op_on_enum_desc() {
116116
let doc = extract::from_srv(srv, "");
117117
let doc = attr_pass::mk_pass()(srv, doc);
118118
let doc = mk_pass(str::trim)(srv, doc);
119-
assert doc.topmod.enums[0].desc == some("a");
119+
assert doc.topmod.enums()[0].desc == some("a");
120120
}
121121

122122
#[test]
@@ -126,7 +126,7 @@ fn should_execute_op_on_variant_desc() {
126126
let doc = extract::from_srv(srv, "");
127127
let doc = attr_pass::mk_pass()(srv, doc);
128128
let doc = mk_pass(str::trim)(srv, doc);
129-
assert doc.topmod.enums[0].variants[0].desc == some("a");
129+
assert doc.topmod.enums()[0].variants[0].desc == some("a");
130130
}
131131

132132
#[test]

branches/try/src/rustdoc/desc_to_brief_pass.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ fn should_promote_enum_desc() {
123123
let doc = extract::from_srv(srv, "");
124124
let doc = attr_pass::mk_pass()(srv, doc);
125125
let doc = run(srv, doc);
126-
assert doc.topmod.enums[0].brief == some("desc");
127-
assert doc.topmod.enums[0].desc == none;
126+
assert doc.topmod.enums()[0].brief == some("desc");
127+
assert doc.topmod.enums()[0].desc == none;
128128
}
129129

130130
#[test]

branches/try/src/rustdoc/doc.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ type moddoc = ~{
2323
items: [itemtag],
2424
mods: modlist,
2525
fns: fnlist,
26-
consts: constlist,
27-
enums: enumlist
26+
consts: constlist
2827
};
2928

3029
type constdoc = ~{
@@ -84,9 +83,18 @@ type resdoc = ~{
8483
enum modlist = [moddoc];
8584
enum constlist = [constdoc];
8685
enum fnlist = [fndoc];
87-
enum enumlist = [enumdoc];
8886

8987
impl util for moddoc {
88+
89+
fn enums() -> [enumdoc] {
90+
vec::filter_map(self.items) {|itemtag|
91+
alt itemtag {
92+
enumtag(enumdoc) { some(enumdoc) }
93+
_ { none }
94+
}
95+
}
96+
}
97+
9098
fn resources() -> [resdoc] {
9199
vec::filter_map(self.items) {|itemtag|
92100
alt itemtag {

branches/try/src/rustdoc/extract.rs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ fn moddoc_from_mod(
4545
desc: none,
4646
items: vec::filter_map(module.items) {|item|
4747
alt item.node {
48+
ast::item_enum(variants, _) {
49+
some(doc::enumtag(
50+
enumdoc_from_enum(item.ident, item.id, variants)
51+
))
52+
}
4853
ast::item_res(decl, _, _, _, _) {
4954
some(doc::restag(
5055
resdoc_from_resource(decl, item.ident, item.id)
@@ -88,17 +93,6 @@ fn moddoc_from_mod(
8893
none
8994
}
9095
}
91-
}),
92-
enums: doc::enumlist(
93-
vec::filter_map(module.items) {|item|
94-
alt item.node {
95-
ast::item_enum(variants, _) {
96-
some(enumdoc_from_enum(item.ident, item.id, variants))
97-
}
98-
_ {
99-
none
100-
}
101-
}
10296
})
10397
}
10498
}
@@ -200,16 +194,16 @@ fn should_extract_enums() {
200194
let source = "enum e { v }";
201195
let ast = parse::from_str(source);
202196
let doc = extract(ast, "");
203-
assert doc.topmod.enums[0].id != 0;
204-
assert doc.topmod.enums[0].name == "e";
197+
assert doc.topmod.enums()[0].id != 0;
198+
assert doc.topmod.enums()[0].name == "e";
205199
}
206200

207201
#[test]
208202
fn should_extract_enum_variants() {
209203
let source = "enum e { v }";
210204
let ast = parse::from_str(source);
211205
let doc = extract(ast, "");
212-
assert doc.topmod.enums[0].variants[0].name == "v";
206+
assert doc.topmod.enums()[0].variants[0].name == "v";
213207
}
214208

215209
fn resdoc_from_resource(

branches/try/src/rustdoc/fold.rs

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ type fold_modlist<T> = fn~(fold: fold<T>, list: doc::modlist) -> doc::modlist;
2424
type fold_fnlist<T> = fn~(fold: fold<T>, list: doc::fnlist) -> doc::fnlist;
2525
type fold_constlist<T> = fn~(
2626
fold: fold<T>, list: doc::constlist) -> doc::constlist;
27-
type fold_enumlist<T> = fn~(
28-
fold: fold<T>, list: doc::enumlist) -> doc::enumlist;
2927

3028
type t<T> = {
3129
ctxt: T,
@@ -37,8 +35,7 @@ type t<T> = {
3735
fold_res: fold_res<T>,
3836
fold_modlist: fold_modlist<T>,
3937
fold_fnlist: fold_fnlist<T>,
40-
fold_constlist: fold_constlist<T>,
41-
fold_enumlist: fold_enumlist<T>,
38+
fold_constlist: fold_constlist<T>
4239
};
4340

4441

@@ -54,8 +51,7 @@ fn mk_fold<T:copy>(
5451
fold_res: fold_res<T>,
5552
fold_modlist: fold_modlist<T>,
5653
fold_fnlist: fold_fnlist<T>,
57-
fold_constlist: fold_constlist<T>,
58-
fold_enumlist: fold_enumlist<T>
54+
fold_constlist: fold_constlist<T>
5955
) -> fold<T> {
6056
fold({
6157
ctxt: ctxt,
@@ -67,8 +63,7 @@ fn mk_fold<T:copy>(
6763
fold_res: fold_res,
6864
fold_modlist: fold_modlist,
6965
fold_fnlist: fold_fnlist,
70-
fold_constlist: fold_constlist,
71-
fold_enumlist: fold_enumlist
66+
fold_constlist: fold_constlist
7267
})
7368
}
7469

@@ -83,8 +78,7 @@ fn default_seq_fold<T:copy>(ctxt: T) -> fold<T> {
8378
{|f, d| default_seq_fold_res(f, d)},
8479
{|f, d| default_seq_fold_modlist(f, d)},
8580
{|f, d| default_seq_fold_fnlist(f, d)},
86-
{|f, d| default_seq_fold_constlist(f, d)},
87-
{|f, d| default_seq_fold_enumlist(f, d)}
81+
{|f, d| default_seq_fold_constlist(f, d)}
8882
)
8983
}
9084

@@ -104,15 +98,17 @@ fn default_seq_fold_mod<T>(
10498
~{
10599
items: vec::map(doc.items) {|itemtag|
106100
alt itemtag {
101+
doc::enumtag(enumdoc) {
102+
doc::enumtag(fold.fold_enum(fold, enumdoc))
103+
}
107104
doc::restag(resdoc) {
108105
doc::restag(fold.fold_res(fold, resdoc))
109106
}
110107
}
111108
},
112109
mods: fold.fold_modlist(fold, doc.mods),
113110
fns: fold.fold_fnlist(fold, doc.fns),
114-
consts: fold.fold_constlist(fold, doc.consts),
115-
enums: fold.fold_enumlist(fold, doc.enums)
111+
consts: fold.fold_constlist(fold, doc.consts)
116112
with *doc
117113
}
118114
}
@@ -172,15 +168,6 @@ fn default_seq_fold_constlist<T>(
172168
})
173169
}
174170

175-
fn default_seq_fold_enumlist<T>(
176-
fold: fold<T>,
177-
list: doc::enumlist
178-
) -> doc::enumlist {
179-
doc::enumlist(vec::map(*list) {|doc|
180-
fold.fold_enum(fold, doc)
181-
})
182-
}
183-
184171
#[test]
185172
fn default_fold_should_produce_same_doc() {
186173
let source = "mod a { fn b() { } mod c { fn d() { } } }";

branches/try/src/rustdoc/markdown_pass.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,6 @@ fn write_mod_contents(
8585
write_const(ctxt, constdoc);
8686
}
8787

88-
for enumdoc in *doc.enums {
89-
write_enum(ctxt, enumdoc);
90-
}
91-
9288
for fndoc in *doc.fns {
9389
write_fn(ctxt, fndoc);
9490
}
@@ -99,6 +95,7 @@ fn write_mod_contents(
9995

10096
for itemtag in doc.items {
10197
alt itemtag {
98+
doc::enumtag(enumdoc) { write_enum(ctxt, enumdoc) }
10299
doc::restag(resdoc) { write_res(ctxt, resdoc) }
103100
}
104101
}

branches/try/src/rustdoc/prune_undoc_pass.rs

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ fn run(
2525
fold_res: fold_res,
2626
fold_modlist: fold_modlist,
2727
fold_fnlist: fold_fnlist,
28-
fold_constlist: fold_constlist,
29-
fold_enumlist: fold_enumlist
28+
fold_constlist: fold_constlist
3029
with *fold::default_seq_fold(ctxt)
3130
});
3231
fold.fold_crate(fold, doc)
@@ -39,6 +38,14 @@ fn fold_mod(
3938
let doc = ~{
4039
items: vec::filter_map(doc.items) {|itemtag|
4140
alt itemtag {
41+
doc::enumtag(enumdoc) {
42+
let doc = fold.fold_enum(fold, enumdoc);
43+
if fold.ctxt.have_docs {
44+
some(doc::enumtag(doc))
45+
} else {
46+
none
47+
}
48+
}
4249
doc::restag(resdoc) {
4350
let doc = fold.fold_res(fold, resdoc);
4451
if fold.ctxt.have_docs {
@@ -253,28 +260,14 @@ fn fold_enum(fold: fold::fold<ctxt>, doc: doc::enumdoc) -> doc::enumdoc {
253260
ret doc;
254261
}
255262

256-
fn fold_enumlist(
257-
fold: fold::fold<ctxt>,
258-
list: doc::enumlist
259-
) -> doc::enumlist {
260-
doc::enumlist(vec::filter_map(*list) {|doc|
261-
let doc = fold.fold_enum(fold, doc);
262-
if fold.ctxt.have_docs {
263-
some(doc)
264-
} else {
265-
none
266-
}
267-
})
268-
}
269-
270263
#[test]
271264
fn should_elide_undocumented_enums() {
272265
let source = "enum a { b }";
273266
let srv = astsrv::mk_srv_from_str(source);
274267
let doc = extract::from_srv(srv, "");
275268
let doc = attr_pass::mk_pass()(srv, doc);
276269
let doc = run(srv, doc);
277-
assert vec::is_empty(*doc.topmod.enums);
270+
assert vec::is_empty(doc.topmod.enums());
278271
}
279272

280273
#[test]
@@ -284,7 +277,7 @@ fn should_elide_undocumented_variants() {
284277
let doc = extract::from_srv(srv, "");
285278
let doc = attr_pass::mk_pass()(srv, doc);
286279
let doc = run(srv, doc);
287-
assert vec::is_empty(doc.topmod.enums[0].variants);
280+
assert vec::is_empty(doc.topmod.enums()[0].variants);
288281
}
289282

290283
#[test]
@@ -294,7 +287,7 @@ fn should_not_elide_enums_with_documented_variants() {
294287
let doc = extract::from_srv(srv, "");
295288
let doc = attr_pass::mk_pass()(srv, doc);
296289
let doc = run(srv, doc);
297-
assert vec::is_not_empty(*doc.topmod.enums);
290+
assert vec::is_not_empty(doc.topmod.enums());
298291
}
299292

300293
fn fold_res(fold: fold::fold<ctxt>, doc: doc::resdoc) -> doc::resdoc {

0 commit comments

Comments
 (0)