@@ -4,6 +4,7 @@ export default_seq_fold;
4
4
export default_seq_fold_crate;
5
5
export default_seq_fold_item;
6
6
export default_seq_fold_mod;
7
+ export default_seq_fold_nmod;
7
8
export default_seq_fold_fn;
8
9
export default_seq_fold_const;
9
10
export default_seq_fold_enum;
@@ -21,6 +22,7 @@ enum fold<T> = t<T>;
21
22
type fold_crate < T > = fn ~( fold : fold < T > , doc : doc:: cratedoc ) -> doc:: cratedoc ;
22
23
type fold_item < T > = fn ~( fold : fold < T > , doc : doc:: itemdoc ) -> doc:: itemdoc ;
23
24
type fold_mod < T > = fn ~( fold : fold < T > , doc : doc:: moddoc ) -> doc:: moddoc ;
25
+ type fold_nmod < T > = fn ~( fold : fold < T > , doc : doc:: nmoddoc ) -> doc:: nmoddoc ;
24
26
type fold_fn < T > = fn ~( fold : fold < T > , doc : doc:: fndoc ) -> doc:: fndoc ;
25
27
type fold_const < T > = fn ~( fold : fold < T > , doc : doc:: constdoc ) -> doc:: constdoc ;
26
28
type fold_enum < T > = fn ~( fold : fold < T > , doc : doc:: enumdoc ) -> doc:: enumdoc ;
@@ -34,6 +36,7 @@ type t<T> = {
34
36
fold_crate : fold_crate < T > ,
35
37
fold_item : fold_item < T > ,
36
38
fold_mod : fold_mod < T > ,
39
+ fold_nmod : fold_nmod < T > ,
37
40
fold_fn : fold_fn < T > ,
38
41
fold_const : fold_const < T > ,
39
42
fold_enum : fold_enum < T > ,
@@ -51,6 +54,7 @@ fn mk_fold<T:copy>(
51
54
fold_crate : fold_crate < T > ,
52
55
fold_item : fold_item < T > ,
53
56
fold_mod : fold_mod < T > ,
57
+ fold_nmod : fold_nmod < T > ,
54
58
fold_fn : fold_fn < T > ,
55
59
fold_const : fold_const < T > ,
56
60
fold_enum : fold_enum < T > ,
@@ -64,6 +68,7 @@ fn mk_fold<T:copy>(
64
68
fold_crate: fold_crate,
65
69
fold_item: fold_item,
66
70
fold_mod: fold_mod,
71
+ fold_nmod: fold_nmod,
67
72
fold_fn: fold_fn,
68
73
fold_const: fold_const,
69
74
fold_enum: fold_enum,
@@ -80,6 +85,7 @@ fn default_seq_fold<T:copy>(ctxt: T) -> fold<T> {
80
85
{ |f, d| default_seq_fold_crate ( f, d) } ,
81
86
{ |f, d| default_seq_fold_item ( f, d) } ,
82
87
{ |f, d| default_seq_fold_mod ( f, d) } ,
88
+ { |f, d| default_seq_fold_nmod ( f, d) } ,
83
89
{ |f, d| default_seq_fold_fn ( f, d) } ,
84
90
{ |f, d| default_seq_fold_const ( f, d) } ,
85
91
{ |f, d| default_seq_fold_enum ( f, d) } ,
@@ -96,6 +102,7 @@ fn default_par_fold<T:send>(ctxt: T) -> fold<T> {
96
102
{ |f, d| default_seq_fold_crate ( f, d) } ,
97
103
{ |f, d| default_seq_fold_item ( f, d) } ,
98
104
{ |f, d| default_par_fold_mod ( f, d) } ,
105
+ { |f, d| default_seq_fold_nmod ( f, d) } ,
99
106
{ |f, d| default_seq_fold_fn ( f, d) } ,
100
107
{ |f, d| default_seq_fold_const ( f, d) } ,
101
108
{ |f, d| default_seq_fold_enum ( f, d) } ,
@@ -141,6 +148,19 @@ fn default_seq_fold_mod<T>(
141
148
}
142
149
}
143
150
151
+ fn default_seq_fold_nmod < T > (
152
+ fold : fold < T > ,
153
+ doc : doc:: nmoddoc
154
+ ) -> doc:: nmoddoc {
155
+ {
156
+ item: fold. fold_item ( fold, doc. item ) ,
157
+ fns: ~vec:: map ( * doc. fns ) { |fndoc|
158
+ fold. fold_fn ( fold, fndoc)
159
+ }
160
+ with doc
161
+ }
162
+ }
163
+
144
164
fn default_par_fold_mod < T : send > (
145
165
fold : fold < T > ,
146
166
doc : doc:: moddoc
@@ -166,6 +186,9 @@ fn fold_itemtag<T>(fold: fold<T>, doc: doc::itemtag) -> doc::itemtag {
166
186
doc : : modtag ( moddoc) {
167
187
doc:: modtag ( fold. fold_mod ( fold, moddoc) )
168
188
}
189
+ doc:: nmodtag ( nmoddoc) {
190
+ doc:: nmodtag ( fold. fold_nmod ( fold, nmoddoc) )
191
+ }
169
192
doc:: fntag ( fndoc) {
170
193
doc:: fntag ( fold. fold_fn ( fold, fndoc) )
171
194
}
0 commit comments