Skip to content

Commit 702bd6a

Browse files
committed
---
yaml --- r: 10879 b: refs/heads/master c: 5aa6c3a h: refs/heads/master i: 10877: f642835 10875: 8f781d0 10871: af64f96 10863: 29ed8d7 10847: 57c4bbe 10815: fb75502 10751: 6e28a23 v: v3
1 parent 6fbda94 commit 702bd6a

File tree

12 files changed

+49
-109
lines changed

12 files changed

+49
-109
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 95e2b1b8f91c3381b9b02b53a544a5f35eb2c853
2+
refs/heads/master: 5aa6c3a49a924c077641df6c5308586a0b0390cd
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/rustdoc/attr_pass.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ fn fold_const_should_extract_docs() {
247247
let srv = astsrv::mk_srv_from_str(source);
248248
let doc = extract::from_srv(srv, "");
249249
let fold = fold::default_seq_fold(srv);
250-
let doc = fold_const(fold, doc.topmod.consts[0]);
250+
let doc = fold_const(fold, doc.topmod.consts()[0]);
251251
assert doc.brief == some("foo");
252252
assert doc.desc == some("bar");
253253
}

trunk/src/rustdoc/desc_to_brief_pass.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ fn should_promote_const_desc() {
101101
let doc = extract::from_srv(srv, "");
102102
let doc = attr_pass::mk_pass()(srv, doc);
103103
let doc = run(srv, doc);
104-
assert doc.topmod.consts[0].brief == some("desc");
105-
assert doc.topmod.consts[0].desc == none;
104+
assert doc.topmod.consts()[0].brief == some("desc");
105+
assert doc.topmod.consts()[0].desc == none;
106106
}
107107

108108
#[test]

trunk/src/rustdoc/doc.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ type moddoc = ~{
2222
desc: option<str>,
2323
items: [itemtag],
2424
mods: modlist,
25-
fns: fnlist,
26-
consts: constlist
25+
fns: fnlist
2726
};
2827

2928
type constdoc = ~{
@@ -81,11 +80,19 @@ type resdoc = ~{
8180

8281
// Just to break the structural recursive types
8382
enum modlist = [moddoc];
84-
enum constlist = [constdoc];
8583
enum fnlist = [fndoc];
8684

8785
impl util for moddoc {
8886

87+
fn consts() -> [constdoc] {
88+
vec::filter_map(self.items) {|itemtag|
89+
alt itemtag {
90+
consttag(constdoc) { some(constdoc) }
91+
_ { none }
92+
}
93+
}
94+
}
95+
8996
fn enums() -> [enumdoc] {
9097
vec::filter_map(self.items) {|itemtag|
9198
alt itemtag {

trunk/src/rustdoc/extract.rs

Lines changed: 7 additions & 13 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_const(_, _) {
49+
some(doc::consttag(
50+
constdoc_from_const(item.ident, item.id)
51+
))
52+
}
4853
ast::item_enum(variants, _) {
4954
some(doc::enumtag(
5055
enumdoc_from_enum(item.ident, item.id, variants)
@@ -82,17 +87,6 @@ fn moddoc_from_mod(
8287
none
8388
}
8489
}
85-
}),
86-
consts: doc::constlist(
87-
vec::filter_map(module.items) {|item|
88-
alt item.node {
89-
ast::item_const(_, _) {
90-
some(constdoc_from_const(item.ident, item.id))
91-
}
92-
_ {
93-
none
94-
}
95-
}
9690
})
9791
}
9892
}
@@ -157,8 +151,8 @@ fn should_extract_const_name_and_id() {
157151
let source = "const a: int = 0;";
158152
let ast = parse::from_str(source);
159153
let doc = extract(ast, "");
160-
assert doc.topmod.consts[0].id != 0;
161-
assert doc.topmod.consts[0].name == "a";
154+
assert doc.topmod.consts()[0].id != 0;
155+
assert doc.topmod.consts()[0].name == "a";
162156
}
163157

164158
fn enumdoc_from_enum(

trunk/src/rustdoc/fold.rs

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ type fold_enum<T> = fn~(fold: fold<T>, doc: doc::enumdoc) -> doc::enumdoc;
2222
type fold_res<T> = fn~(fold: fold<T>, doc: doc::resdoc) -> doc::resdoc;
2323
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;
25-
type fold_constlist<T> = fn~(
26-
fold: fold<T>, list: doc::constlist) -> doc::constlist;
2725

2826
type t<T> = {
2927
ctxt: T,
@@ -34,8 +32,7 @@ type t<T> = {
3432
fold_enum: fold_enum<T>,
3533
fold_res: fold_res<T>,
3634
fold_modlist: fold_modlist<T>,
37-
fold_fnlist: fold_fnlist<T>,
38-
fold_constlist: fold_constlist<T>
35+
fold_fnlist: fold_fnlist<T>
3936
};
4037

4138

@@ -50,8 +47,7 @@ fn mk_fold<T:copy>(
5047
fold_enum: fold_enum<T>,
5148
fold_res: fold_res<T>,
5249
fold_modlist: fold_modlist<T>,
53-
fold_fnlist: fold_fnlist<T>,
54-
fold_constlist: fold_constlist<T>
50+
fold_fnlist: fold_fnlist<T>
5551
) -> fold<T> {
5652
fold({
5753
ctxt: ctxt,
@@ -62,8 +58,7 @@ fn mk_fold<T:copy>(
6258
fold_enum: fold_enum,
6359
fold_res: fold_res,
6460
fold_modlist: fold_modlist,
65-
fold_fnlist: fold_fnlist,
66-
fold_constlist: fold_constlist
61+
fold_fnlist: fold_fnlist
6762
})
6863
}
6964

@@ -77,8 +72,7 @@ fn default_seq_fold<T:copy>(ctxt: T) -> fold<T> {
7772
{|f, d| default_seq_fold_enum(f, d)},
7873
{|f, d| default_seq_fold_res(f, d)},
7974
{|f, d| default_seq_fold_modlist(f, d)},
80-
{|f, d| default_seq_fold_fnlist(f, d)},
81-
{|f, d| default_seq_fold_constlist(f, d)}
75+
{|f, d| default_seq_fold_fnlist(f, d)}
8276
)
8377
}
8478

@@ -98,6 +92,9 @@ fn default_seq_fold_mod<T>(
9892
~{
9993
items: vec::map(doc.items) {|itemtag|
10094
alt itemtag {
95+
doc::consttag(constdoc) {
96+
doc::consttag(fold.fold_const(fold, constdoc))
97+
}
10198
doc::enumtag(enumdoc) {
10299
doc::enumtag(fold.fold_enum(fold, enumdoc))
103100
}
@@ -107,8 +104,7 @@ fn default_seq_fold_mod<T>(
107104
}
108105
},
109106
mods: fold.fold_modlist(fold, doc.mods),
110-
fns: fold.fold_fnlist(fold, doc.fns),
111-
consts: fold.fold_constlist(fold, doc.consts)
107+
fns: fold.fold_fnlist(fold, doc.fns)
112108
with *doc
113109
}
114110
}
@@ -159,15 +155,6 @@ fn default_seq_fold_fnlist<T>(
159155
})
160156
}
161157

162-
fn default_seq_fold_constlist<T>(
163-
fold: fold<T>,
164-
list: doc::constlist
165-
) -> doc::constlist {
166-
doc::constlist(vec::map(*list) {|doc|
167-
fold.fold_const(fold, doc)
168-
})
169-
}
170-
171158
#[test]
172159
fn default_fold_should_produce_same_doc() {
173160
let source = "mod a { fn b() { } mod c { fn d() { } } }";

trunk/src/rustdoc/markdown_pass.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,6 @@ fn write_mod_contents(
8181
write_brief(ctxt, doc.brief);
8282
write_desc(ctxt, doc.desc);
8383

84-
for constdoc in *doc.consts {
85-
write_const(ctxt, constdoc);
86-
}
87-
8884
for fndoc in *doc.fns {
8985
write_fn(ctxt, fndoc);
9086
}
@@ -95,6 +91,7 @@ fn write_mod_contents(
9591

9692
for itemtag in doc.items {
9793
alt itemtag {
94+
doc::consttag(constdoc) { write_const(ctxt, constdoc) }
9895
doc::enumtag(enumdoc) { write_enum(ctxt, enumdoc) }
9996
doc::restag(resdoc) { write_res(ctxt, resdoc) }
10097
}

trunk/src/rustdoc/prune_undoc_pass.rs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ fn run(
2424
fold_enum: fold_enum,
2525
fold_res: fold_res,
2626
fold_modlist: fold_modlist,
27-
fold_fnlist: fold_fnlist,
28-
fold_constlist: fold_constlist
27+
fold_fnlist: fold_fnlist
2928
with *fold::default_seq_fold(ctxt)
3029
});
3130
fold.fold_crate(fold, doc)
@@ -38,6 +37,14 @@ fn fold_mod(
3837
let doc = ~{
3938
items: vec::filter_map(doc.items) {|itemtag|
4039
alt itemtag {
40+
doc::consttag(constdoc) {
41+
let doc = fold.fold_const(fold, constdoc);
42+
if fold.ctxt.have_docs {
43+
some(doc::consttag(doc))
44+
} else {
45+
none
46+
}
47+
}
4148
doc::enumtag(enumdoc) {
4249
let doc = fold.fold_enum(fold, enumdoc);
4350
if fold.ctxt.have_docs {
@@ -219,27 +226,13 @@ fn fold_const(
219226
ret doc;
220227
}
221228

222-
fn fold_constlist(
223-
fold: fold::fold<ctxt>,
224-
list: doc::constlist
225-
) -> doc::constlist {
226-
doc::constlist(vec::filter_map(*list) {|doc|
227-
let doc = fold.fold_const(fold, doc);
228-
if fold.ctxt.have_docs {
229-
some(doc)
230-
} else {
231-
none
232-
}
233-
})
234-
}
235-
236229
#[test]
237230
fn should_elide_undocumented_consts() {
238231
let source = "const a: bool = true;";
239232
let srv = astsrv::mk_srv_from_str(source);
240233
let doc = extract::from_srv(srv, "");
241234
let doc = run(srv, doc);
242-
assert vec::is_empty(*doc.topmod.consts);
235+
assert vec::is_empty(doc.topmod.consts());
243236
}
244237

245238
fn fold_enum(fold: fold::fold<ctxt>, doc: doc::enumdoc) -> doc::enumdoc {

trunk/src/rustdoc/prune_unexported_pass.rs

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ fn fold_mod(fold: fold::fold<astsrv::srv>, doc: doc::moddoc) -> doc::moddoc {
2323
~{
2424
items: exported_items(fold.ctxt, doc),
2525
mods: doc::modlist(exported_mods(fold.ctxt, doc)),
26-
fns: doc::fnlist(exported_fns(fold.ctxt, doc)),
27-
consts: doc::constlist(exported_consts(fold.ctxt, doc))
26+
fns: doc::fnlist(exported_fns(fold.ctxt, doc))
2827
with *doc
2928
}
3029
}
@@ -53,14 +52,6 @@ fn exported_fns(srv: astsrv::srv, doc: doc::moddoc) -> [doc::fndoc] {
5352
)
5453
}
5554

56-
fn exported_consts(srv: astsrv::srv, doc: doc::moddoc) -> [doc::constdoc] {
57-
exported_things(
58-
srv, doc,
59-
exported_consts_from_crate,
60-
exported_consts_from_mod
61-
)
62-
}
63-
6455
fn exported_things<T>(
6556
srv: astsrv::srv,
6657
doc: doc::moddoc,
@@ -116,27 +107,14 @@ fn exported_fns_from_mod(
116107
exported_fns_from(srv, doc, bind is_exported_from_mod(_, doc.id, _))
117108
}
118109

119-
fn exported_consts_from_crate(
120-
srv: astsrv::srv,
121-
doc: doc::moddoc
122-
) -> [doc::constdoc] {
123-
exported_consts_from(srv, doc, is_exported_from_crate)
124-
}
125-
126-
fn exported_consts_from_mod(
127-
srv: astsrv::srv,
128-
doc: doc::moddoc
129-
) -> [doc::constdoc] {
130-
exported_consts_from(srv, doc, bind is_exported_from_mod(_, doc.id, _))
131-
}
132-
133110
fn exported_items_from(
134111
srv: astsrv::srv,
135112
doc: doc::moddoc,
136113
is_exported: fn(astsrv::srv, str) -> bool
137114
) -> [doc::itemtag] {
138115
vec::filter_map(doc.items) { |itemtag|
139116
let name = alt itemtag {
117+
doc::consttag(~{name, _}) { name }
140118
doc::enumtag(~{name, _}) { name }
141119
doc::restag(~{name, _}) { name }
142120
};
@@ -186,20 +164,6 @@ fn exported_mods_from(
186164
}
187165
}
188166

189-
fn exported_consts_from(
190-
srv: astsrv::srv,
191-
doc: doc::moddoc,
192-
is_exported: fn(astsrv::srv, str) -> bool
193-
) -> [doc::constdoc] {
194-
vec::filter_map(*doc.consts) { |doc|
195-
if is_exported(srv, doc.name) {
196-
some(doc)
197-
} else {
198-
none
199-
}
200-
}
201-
}
202-
203167
fn exported_variants_from(
204168
srv: astsrv::srv,
205169
doc: doc::enumdoc,
@@ -285,7 +249,7 @@ fn should_prune_unexported_consts() {
285249
let srv = astsrv::mk_srv_from_str(source);
286250
let doc = extract::from_srv(srv, "");
287251
let doc = run(srv, doc);
288-
assert vec::len(*doc.topmod.mods[0].consts) == 1u;
252+
assert vec::len(doc.topmod.mods[0].consts()) == 1u;
289253
}
290254

291255
#[test]
@@ -294,7 +258,7 @@ fn should_prune_unexported_consts_from_top_mod() {
294258
let srv = astsrv::mk_srv_from_str(source);
295259
let doc = extract::from_srv(srv, "");
296260
let doc = run(srv, doc);
297-
assert vec::len(*doc.topmod.consts) == 1u;
261+
assert vec::len(doc.topmod.consts()) == 1u;
298262
}
299263

300264
#[test]

trunk/src/rustdoc/rustdoc.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ fn test_run_passes() {
5353
desc: none,
5454
items: [],
5555
mods: doc::modlist([]),
56-
fns: doc::fnlist([]),
57-
consts: doc::constlist([])
56+
fns: doc::fnlist([])
5857
}
5958
}
6059
}
@@ -71,8 +70,7 @@ fn test_run_passes() {
7170
desc: none,
7271
items: [],
7372
mods: doc::modlist([]),
74-
fns: doc::fnlist([]),
75-
consts: doc::constlist([])
73+
fns: doc::fnlist([])
7674
}
7775
}
7876
}

trunk/src/rustdoc/trim_pass.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ fn should_trim_const() {
3535
let doc = extract::from_srv(srv, "");
3636
let doc = attr_pass::mk_pass()(srv, doc);
3737
let doc = mk_pass()(srv, doc);
38-
assert doc.topmod.consts[0].brief == some("brief");
39-
assert doc.topmod.consts[0].desc == some("desc");
38+
assert doc.topmod.consts()[0].brief == some("brief");
39+
assert doc.topmod.consts()[0].desc == some("desc");
4040
}
4141

4242
#[test]

trunk/src/rustdoc/tystr_pass.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ fn should_add_const_types() {
183183
let srv = astsrv::mk_srv_from_str(source);
184184
let doc = extract::from_srv(srv, "");
185185
let doc = run(srv, doc);
186-
assert doc.topmod.consts[0].ty == some("bool");
186+
assert doc.topmod.consts()[0].ty == some("bool");
187187
}
188188

189189
fn fold_enum(

0 commit comments

Comments
 (0)