Skip to content

Commit ca0aefa

Browse files
committed
rustdoc: Add resource arg tys to doc tree
1 parent e51ae23 commit ca0aefa

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

src/rustdoc/demo.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,32 @@ mod blade_runner {
7070
Alien 3 was crap though."
7171
)];
7272
}
73+
74+
#[doc(
75+
brief = "Bored",
76+
desc = "
77+
78+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec
79+
molestie nisl. Duis massa risus, pharetra a scelerisque a,
80+
molestie eu velit. Donec mattis ligula at ante imperdiet ut
81+
dapibus mauris malesuada. Sed gravida nisi a metus elementum sit
82+
amet hendrerit dolor bibendum. Aenean sit amet neque massa, sed
83+
tempus tortor. Sed ut lobortis enim. Proin a mauris quis nunc
84+
fermentum ultrices eget a erat. Mauris in lectus vitae metus
85+
sodales auctor. Morbi nunc quam, ultricies at venenatis non,
86+
pellentesque ac dui.
87+
88+
Quisque vitae est id eros placerat laoreet sit amet eu
89+
nisi. Curabitur suscipit neque porttitor est euismod
90+
lacinia. Curabitur non quam vitae ipsum adipiscing
91+
condimentum. Mauris ut ante eget metus sollicitudin
92+
blandit. Aliquam erat volutpat. Morbi sed nisl mauris. Nulla
93+
facilisi. Phasellus at mollis ipsum. Maecenas sed convallis
94+
sapien. Nullam in ligula turpis. Pellentesque a neque augue. Sed
95+
eget ante feugiat tortor congue auctor ac quis ante. Proin
96+
condimentum lacinia tincidunt.
97+
98+
")]
99+
resource bored(bored: bool) {
100+
log(error, bored);
101+
}

src/rustdoc/tystr_pass.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ fn get_arg_tys(srv: astsrv::srv, fn_id: doc::ast_id) -> [(str, str)] {
134134
alt ctxt.ast_map.get(fn_id) {
135135
ast_map::node_item(@{
136136
node: ast::item_fn(decl, _, _), _
137+
}) |
138+
ast_map::node_item(@{
139+
node: ast::item_res(decl, _, _, _, _), _
137140
}) {
138141
vec::map(decl.inputs) {|arg|
139142
(arg.ident, pprust::ty_to_str(arg.ty))
@@ -231,6 +234,7 @@ fn fold_res(
231234
let srv = fold.ctxt;
232235

233236
~{
237+
args: merge_arg_tys(srv, doc.id, doc.args),
234238
sig: some(astsrv::exec(srv) {|ctxt|
235239
alt ctxt.ast_map.get(doc.id) {
236240
ast_map::node_item(@{
@@ -250,6 +254,14 @@ fn should_add_resource_sigs() {
250254
let srv = astsrv::mk_srv_from_str(source);
251255
let doc = extract::from_srv(srv, "");
252256
let doc = run(srv, doc);
253-
log(error, doc.topmod.resources[0].sig);
254257
assert doc.topmod.resources[0].sig == some("resource r(b: bool)");
255258
}
259+
260+
#[test]
261+
fn should_add_resource_arg_tys() {
262+
let source = "resource r(a: bool) { }";
263+
let srv = astsrv::mk_srv_from_str(source);
264+
let doc = extract::from_srv(srv, "");
265+
let doc = run(srv, doc);
266+
assert doc.topmod.resources[0].args[0].ty == some("bool");
267+
}

0 commit comments

Comments
 (0)