Skip to content

Commit bafcbb1

Browse files
committed
Fold exports.
1 parent 11a10c7 commit bafcbb1

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/comp/middle/fold.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@ type ast_fold[ENV] =
254254
(fn(&ENV e, &span sp, ident i, vec[ident] idents,
255255
def_id id, option.t[def]) -> @view_item) fold_view_item_import,
256256

257+
(fn(&ENV e, &span sp, ident i) -> @view_item) fold_view_item_export,
258+
257259
// Additional nodes.
258260
(fn(&ENV e, &span sp,
259261
&ast.block_) -> block) fold_block,
@@ -852,6 +854,10 @@ fn fold_view_item[ENV](&ENV env, ast_fold[ENV] fld, @view_item vi)
852854
ret fld.fold_view_item_import(env_, vi.span, def_ident, idents,
853855
def_id, target_def);
854856
}
857+
858+
case (ast.view_item_export(?def_ident)) {
859+
ret fld.fold_view_item_export(env_, vi.span, def_ident);
860+
}
855861
}
856862

857863
fail;
@@ -1339,6 +1345,11 @@ fn identity_fold_view_item_import[ENV](&ENV e, &span sp, ident i,
13391345
ret @respan(sp, ast.view_item_import(i, is, id, target_def));
13401346
}
13411347

1348+
fn identity_fold_view_item_export[ENV](&ENV e, &span sp, ident i)
1349+
-> @view_item {
1350+
ret @respan(sp, ast.view_item_export(i));
1351+
}
1352+
13421353
// Additional identities.
13431354

13441355
fn identity_fold_block[ENV](&ENV e, &span sp, &ast.block_ blk) -> block {
@@ -1516,6 +1527,8 @@ fn new_identity_fold[ENV]() -> ast_fold[ENV] {
15161527
bind identity_fold_view_item_use[ENV](_,_,_,_,_),
15171528
fold_view_item_import =
15181529
bind identity_fold_view_item_import[ENV](_,_,_,_,_,_),
1530+
fold_view_item_export =
1531+
bind identity_fold_view_item_export[ENV](_,_,_),
15191532

15201533
fold_block = bind identity_fold_block[ENV](_,_,_),
15211534
fold_fn = bind identity_fold_fn[ENV](_,_,_,_),

0 commit comments

Comments
 (0)