Skip to content

Commit f8742b4

Browse files
committed
rustdoc: Introduce the concept of a 'page'
1 parent 481d27a commit f8742b4

19 files changed

+381
-314
lines changed

src/rustdoc/attr_pass.rs

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ fn mk_pass() -> pass {
2020

2121
fn run(
2222
srv: astsrv::srv,
23-
doc: doc::cratedoc
24-
) -> doc::cratedoc {
23+
doc: doc::doc
24+
) -> doc::doc {
2525
let fold = fold::fold({
2626
fold_crate: fold_crate,
2727
fold_item: fold_item,
@@ -32,7 +32,7 @@ fn run(
3232
fold_impl: fold_impl
3333
with *fold::default_any_fold(srv)
3434
});
35-
fold.fold_crate(fold, doc)
35+
fold.fold_doc(fold, doc)
3636
}
3737

3838
fn fold_crate(
@@ -62,7 +62,7 @@ fn fold_crate(
6262
#[test]
6363
fn should_replace_top_module_name_with_crate_name() {
6464
let doc = test::mk_doc("#[link(name = \"bond\")];");
65-
assert doc.topmod.name() == "bond";
65+
assert doc.cratemod().name() == "bond";
6666
}
6767

6868
fn fold_item(
@@ -108,25 +108,25 @@ fn parse_item_attrs<T:send>(
108108
#[test]
109109
fn should_should_extract_mod_attributes() {
110110
let doc = test::mk_doc("#[doc = \"test\"] mod a { }");
111-
assert doc.topmod.mods()[0].desc() == some("test");
111+
assert doc.cratemod().mods()[0].desc() == some("test");
112112
}
113113

114114
#[test]
115115
fn should_extract_top_mod_attributes() {
116116
let doc = test::mk_doc("#[doc = \"test\"];");
117-
assert doc.topmod.desc() == some("test");
117+
assert doc.cratemod().desc() == some("test");
118118
}
119119

120120
#[test]
121121
fn should_extract_native_mod_attributes() {
122122
let doc = test::mk_doc("#[doc = \"test\"] native mod a { }");
123-
assert doc.topmod.nmods()[0].desc() == some("test");
123+
assert doc.cratemod().nmods()[0].desc() == some("test");
124124
}
125125

126126
#[test]
127127
fn should_extract_native_fn_attributes() {
128128
let doc = test::mk_doc("native mod a { #[doc = \"test\"] fn a(); }");
129-
assert doc.topmod.nmods()[0].fns[0].desc() == some("test");
129+
assert doc.cratemod().nmods()[0].fns[0].desc() == some("test");
130130
}
131131

132132
fn fold_fn(
@@ -187,13 +187,13 @@ fn merge_ret_attrs(
187187
#[test]
188188
fn should_extract_fn_attributes() {
189189
let doc = test::mk_doc("#[doc = \"test\"] fn a() -> int { }");
190-
assert doc.topmod.fns()[0].desc() == some("test");
190+
assert doc.cratemod().fns()[0].desc() == some("test");
191191
}
192192

193193
#[test]
194194
fn should_extract_fn_arg_attributes() {
195195
let doc = test::mk_doc("#[doc(args(a = \"b\"))] fn c(a: bool) { }");
196-
assert doc.topmod.fns()[0].args[0].desc == some("b");
196+
assert doc.cratemod().fns()[0].args[0].desc == some("b");
197197
}
198198

199199
#[test]
@@ -203,7 +203,7 @@ fn should_extract_fn_return_attributes() {
203203
let doc = extract::from_srv(srv, "");
204204
let doc = tystr_pass::mk_pass().f(srv, doc);
205205
let fold = fold::default_any_fold(srv);
206-
let doc = fold_fn(fold, doc.topmod.fns()[0]);
206+
let doc = fold_fn(fold, doc.cratemod().fns()[0]);
207207
assert doc.return.desc == some("what");
208208
}
209209
}
@@ -215,23 +215,23 @@ fn should_preserve_fn_sig() {
215215
let doc = extract::from_srv(srv, "");
216216
let doc = tystr_pass::mk_pass().f(srv, doc);
217217
let fold = fold::default_any_fold(srv);
218-
let doc = fold_fn(fold, doc.topmod.fns()[0]);
218+
let doc = fold_fn(fold, doc.cratemod().fns()[0]);
219219
assert doc.sig == some("fn a() -> int");
220220
}
221221
}
222222

223223
#[test]
224224
fn should_extract_fn_failure_conditions() {
225225
let doc = test::mk_doc("#[doc(failure = \"what\")] fn a() { }");
226-
assert doc.topmod.fns()[0].failure == some("what");
226+
assert doc.cratemod().fns()[0].failure == some("what");
227227
}
228228

229229
#[test]
230230
fn should_extract_const_docs() {
231231
let doc = test::mk_doc("#[doc(brief = \"foo\", desc = \"bar\")]\
232232
const a: bool = true;");
233-
assert doc.topmod.consts()[0].brief() == some("foo");
234-
assert doc.topmod.consts()[0].desc() == some("bar");
233+
assert doc.cratemod().consts()[0].brief() == some("foo");
234+
assert doc.cratemod().consts()[0].desc() == some("bar");
235235
}
236236

237237
fn fold_enum(
@@ -273,14 +273,14 @@ fn fold_enum(
273273
fn should_extract_enum_docs() {
274274
let doc = test::mk_doc("#[doc(brief = \"a\", desc = \"b\")]\
275275
enum a { v }");
276-
assert doc.topmod.enums()[0].brief() == some("a");
277-
assert doc.topmod.enums()[0].desc() == some("b");
276+
assert doc.cratemod().enums()[0].brief() == some("a");
277+
assert doc.cratemod().enums()[0].desc() == some("b");
278278
}
279279

280280
#[test]
281281
fn should_extract_variant_docs() {
282282
let doc = test::mk_doc("enum a { #[doc = \"c\"] v }");
283-
assert doc.topmod.enums()[0].variants[0].desc == some("c");
283+
assert doc.cratemod().enums()[0].variants[0].desc == some("c");
284284
}
285285

286286
fn fold_res(
@@ -314,16 +314,16 @@ fn fold_res(
314314
fn should_extract_res_docs() {
315315
let doc = test::mk_doc("#[doc(brief = \"a\", desc = \"b\")]\
316316
resource r(b: bool) { }");
317-
assert doc.topmod.resources()[0].brief() == some("a");
318-
assert doc.topmod.resources()[0].desc() == some("b");
317+
assert doc.cratemod().resources()[0].brief() == some("a");
318+
assert doc.cratemod().resources()[0].desc() == some("b");
319319
}
320320

321321
#[test]
322322
fn should_extract_res_arg_docs() {
323323
let doc = test::mk_doc("#[doc(args(a = \"b\"))]\
324324
resource r(a: bool) { }");
325-
assert doc.topmod.resources()[0].args[0].name == "a";
326-
assert doc.topmod.resources()[0].args[0].desc == some("b");
325+
assert doc.cratemod().resources()[0].args[0].name == "a";
326+
assert doc.cratemod().resources()[0].args[0].desc == some("b");
327327
}
328328

329329
fn fold_iface(
@@ -394,7 +394,7 @@ fn merge_method_attrs(
394394
#[test]
395395
fn should_extract_iface_docs() {
396396
let doc = test::mk_doc("#[doc = \"whatever\"] iface i { fn a(); }");
397-
assert doc.topmod.ifaces()[0].desc() == some("whatever");
397+
assert doc.cratemod().ifaces()[0].desc() == some("whatever");
398398
}
399399

400400
#[test]
@@ -409,11 +409,12 @@ fn should_extract_iface_method_docs() {
409409
failure = \"failure\")]\
410410
fn f(a: bool) -> bool;\
411411
}");
412-
assert doc.topmod.ifaces()[0].methods[0].brief == some("brief");
413-
assert doc.topmod.ifaces()[0].methods[0].desc == some("desc");
414-
assert doc.topmod.ifaces()[0].methods[0].args[0].desc == some("a");
415-
assert doc.topmod.ifaces()[0].methods[0].return.desc == some("return");
416-
assert doc.topmod.ifaces()[0].methods[0].failure == some("failure");
412+
assert doc.cratemod().ifaces()[0].methods[0].brief == some("brief");
413+
assert doc.cratemod().ifaces()[0].methods[0].desc == some("desc");
414+
assert doc.cratemod().ifaces()[0].methods[0].args[0].desc == some("a");
415+
assert doc.cratemod().ifaces()[0].methods[0].return.desc
416+
== some("return");
417+
assert doc.cratemod().ifaces()[0].methods[0].failure == some("failure");
417418
}
418419

419420

@@ -434,7 +435,7 @@ fn fold_impl(
434435
fn should_extract_impl_docs() {
435436
let doc = test::mk_doc(
436437
"#[doc = \"whatever\"] impl i for int { fn a() { } }");
437-
assert doc.topmod.impls()[0].desc() == some("whatever");
438+
assert doc.cratemod().impls()[0].desc() == some("whatever");
438439
}
439440

440441
#[test]
@@ -449,25 +450,25 @@ fn should_extract_impl_method_docs() {
449450
failure = \"failure\")]\
450451
fn f(a: bool) -> bool { }\
451452
}");
452-
assert doc.topmod.impls()[0].methods[0].brief == some("brief");
453-
assert doc.topmod.impls()[0].methods[0].desc == some("desc");
454-
assert doc.topmod.impls()[0].methods[0].args[0].desc == some("a");
455-
assert doc.topmod.impls()[0].methods[0].return.desc == some("return");
456-
assert doc.topmod.impls()[0].methods[0].failure == some("failure");
453+
assert doc.cratemod().impls()[0].methods[0].brief == some("brief");
454+
assert doc.cratemod().impls()[0].methods[0].desc == some("desc");
455+
assert doc.cratemod().impls()[0].methods[0].args[0].desc == some("a");
456+
assert doc.cratemod().impls()[0].methods[0].return.desc == some("return");
457+
assert doc.cratemod().impls()[0].methods[0].failure == some("failure");
457458
}
458459

459460
#[test]
460461
fn should_extract_type_docs() {
461462
let doc = test::mk_doc(
462463
"#[doc(brief = \"brief\", desc = \"desc\")]\
463464
type t = int;");
464-
assert doc.topmod.types()[0].brief() == some("brief");
465-
assert doc.topmod.types()[0].desc() == some("desc");
465+
assert doc.cratemod().types()[0].brief() == some("brief");
466+
assert doc.cratemod().types()[0].desc() == some("desc");
466467
}
467468

468469
#[cfg(test)]
469470
mod test {
470-
fn mk_doc(source: str) -> doc::cratedoc {
471+
fn mk_doc(source: str) -> doc::doc {
471472
astsrv::from_str(source) {|srv|
472473
let doc = extract::from_srv(srv, "");
473474
run(srv, doc)

0 commit comments

Comments
 (0)