diff options
| author | Rafael Ávila de Espíndola <[email protected]> | 2011-01-04 18:19:36 -0500 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-01-12 12:26:23 -0800 |
| commit | 359d72b4d047c3eb6fa13b0ae7b4a7432c0af785 (patch) | |
| tree | fc28d1b9d339e8433f81334609de9dca77ddfb5e /src/comp/middle/fold.rs | |
| parent | Figure out what tydescs we need to pass when translating parametric function ... (diff) | |
| download | rust-359d72b4d047c3eb6fa13b0ae7b4a7432c0af785.tar.xz rust-359d72b4d047c3eb6fa13b0ae7b4a7432c0af785.zip | |
Change mod_index_entry to point directly to items and view_items.
Diffstat (limited to 'src/comp/middle/fold.rs')
| -rw-r--r-- | src/comp/middle/fold.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs index 6679fc5f..4adf5ff9 100644 --- a/src/comp/middle/fold.rs +++ b/src/comp/middle/fold.rs @@ -779,14 +779,18 @@ fn fold_mod[ENV](&ENV e, ast_fold[ENV] fld, &ast._mod m) -> ast._mod { let vec[@view_item] view_items = vec(); let vec[@item] items = vec(); - auto index = m.index; + auto index = new_str_hash[ast.mod_index_entry](); for (@view_item vi in m.view_items) { - append[@view_item](view_items, fold_view_item[ENV](e, fld, vi)); + auto new_vi = fold_view_item[ENV](e, fld, vi); + append[@view_item](view_items, new_vi); + ast.index_view_item(index, new_vi); } for (@item i in m.items) { - append[@item](items, fold_item[ENV](e, fld, i)); + auto new_item = fold_item[ENV](e, fld, i); + append[@item](items, new_item); + ast.index_item(index, new_item); } ret fld.fold_mod(e, rec(view_items=view_items, items=items, index=index)); |