File tree Expand file tree Collapse file tree 4 files changed +17
-4
lines changed Expand file tree Collapse file tree 4 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ type cratedoc = ~{
7
7
} ;
8
8
9
9
type moddoc = ~{
10
+ id : ast_id ,
10
11
name : str ,
11
12
brief : option < str > ,
12
13
desc : option < str > ,
Original file line number Diff line number Diff line change @@ -29,22 +29,24 @@ fn top_moddoc_from_crate(
29
29
crate : @ast:: crate ,
30
30
default_name : str
31
31
) -> doc:: moddoc {
32
- moddoc_from_mod ( crate . node. module , default_name)
32
+ moddoc_from_mod ( crate . node. module , default_name, ast :: crate_node_id )
33
33
}
34
34
35
35
fn moddoc_from_mod (
36
36
module : ast:: _mod ,
37
- name : ast:: ident
37
+ name : ast:: ident ,
38
+ id : ast:: node_id
38
39
) -> doc:: moddoc {
39
40
~{
41
+ id: id,
40
42
name: name,
41
43
brief: none,
42
44
desc: none,
43
45
mods: doc:: modlist (
44
46
vec:: filter_map ( module. items ) { |item|
45
47
alt item. node {
46
48
ast:: item_mod ( m) {
47
- some ( moddoc_from_mod ( m, item. ident ) )
49
+ some ( moddoc_from_mod ( m, item. ident , item . id ) )
48
50
}
49
51
_ {
50
52
none
@@ -133,6 +135,14 @@ mod tests {
133
135
assert doc. topmod . mods [ 0 ] . mods [ 0 ] . mods [ 0 ] . name == "c" ;
134
136
}
135
137
138
+ #[ test]
139
+ fn extract_should_set_mod_ast_id ( ) {
140
+ let source = "mod a { }" ;
141
+ let ast = parse:: from_str ( source) ;
142
+ let doc = extract ( ast, "" ) ;
143
+ assert doc. topmod . mods [ 0 ] . id != 0 ;
144
+ }
145
+
136
146
#[ test]
137
147
fn extract_fns ( ) {
138
148
let source =
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ fn new_parse_sess() -> parser::parse_sess {
11
11
let cm = codemap:: new_codemap ( ) ;
12
12
let sess = @{
13
13
cm: cm,
14
- mutable next_id: 0 ,
14
+ mutable next_id: 1 ,
15
15
diagnostic: diagnostic:: mk_handler ( cm, none)
16
16
} ;
17
17
ret sess;
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ fn test_run_passes() {
26
26
) -> doc:: cratedoc {
27
27
~{
28
28
topmod : ~{
29
+ id : 0 ,
29
30
name : doc. topmod . name + "two" ,
30
31
brief : none,
31
32
desc : none,
@@ -40,6 +41,7 @@ fn test_run_passes() {
40
41
) -> doc:: cratedoc {
41
42
~{
42
43
topmod : ~{
44
+ id : 0 ,
43
45
name : doc. topmod . name + "three" ,
44
46
brief : none,
45
47
desc : none,
You can’t perform that action at this time.
0 commit comments