Skip to content

Commit 7865e3c

Browse files
committed
---
yaml --- r: 7853 b: refs/heads/snap-stage3 c: 23e9f7a h: refs/heads/master i: 7851: 2b71799 v: v3
1 parent 48fb2c1 commit 7865e3c

File tree

4 files changed

+40
-7
lines changed

4 files changed

+40
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: 2898dcc5d97da9427ac367542382b6239d9c0bbf
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 7cf725355a9ad21f6b139b882e310727fa2ff364
4+
refs/heads/snap-stage3: 23e9f7a1b6a0f2056ad6981e198513aee08e999d
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/snap-stage3/src/rustdoc/doc.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ type moddoc = ~{
1616
fns: fnlist,
1717
consts: constlist,
1818
enums: enumlist,
19-
resources: resourcelist
19+
resources: reslist
2020
};
2121

2222
type constdoc = ~{
@@ -63,7 +63,7 @@ type variantdoc = ~{
6363
sig: option<str>
6464
};
6565

66-
type resourcedoc = ~{
66+
type resdoc = ~{
6767
id: ast_id,
6868
name: str,
6969
brief: option<str>,
@@ -77,4 +77,4 @@ enum modlist = [moddoc];
7777
enum constlist = [constdoc];
7878
enum fnlist = [fndoc];
7979
enum enumlist = [enumdoc];
80-
enum resourcelist = [resourcedoc];
80+
enum reslist = [resdoc];

branches/snap-stage3/src/rustdoc/extract.rs

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,17 @@ fn moddoc_from_mod(
8888
}
8989
}
9090
}),
91-
resources: doc::resourcelist([])
91+
resources: doc::reslist(
92+
vec::filter_map(module.items) {|item|
93+
alt item.node {
94+
ast::item_res(_, _, _, _, _) {
95+
some(resdoc_from_resource(item.ident, item.id))
96+
}
97+
_ {
98+
none
99+
}
100+
}
101+
})
92102
}
93103
}
94104

@@ -201,6 +211,29 @@ fn should_extract_enum_variants() {
201211
assert doc.topmod.enums[0].variants[0].name == "v";
202212
}
203213

214+
fn resdoc_from_resource(
215+
name: str,
216+
id: ast::node_id
217+
) -> doc::resdoc {
218+
~{
219+
id: id,
220+
name: name,
221+
brief: none,
222+
desc: none,
223+
args: [],
224+
sig: none
225+
}
226+
}
227+
228+
#[test]
229+
fn should_extract_resources() {
230+
let source = "resource r(b: bool) { }";
231+
let ast = parse::from_str(source);
232+
let doc = extract(ast, "");
233+
assert doc.topmod.resources[0].id != 0;
234+
assert doc.topmod.resources[0].name == "r";
235+
}
236+
204237
#[cfg(test)]
205238
mod tests {
206239

branches/snap-stage3/src/rustdoc/rustdoc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ fn test_run_passes() {
5353
fns: doc::fnlist([]),
5454
consts: doc::constlist([]),
5555
enums: doc::enumlist([]),
56-
resources: doc::resourcelist([])
56+
resources: doc::reslist([])
5757
}
5858
}
5959
}
@@ -72,7 +72,7 @@ fn test_run_passes() {
7272
fns: doc::fnlist([]),
7373
consts: doc::constlist([]),
7474
enums: doc::enumlist([]),
75-
resources: doc::resourcelist([])
75+
resources: doc::reslist([])
7676
}
7777
}
7878
}

0 commit comments

Comments
 (0)