aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/fold.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-03-07 11:48:43 -0800
committerGraydon Hoare <[email protected]>2011-03-07 11:48:43 -0800
commit90f299e710c49d689d5bc815e32db375cca00394 (patch)
treed2ee1e9784a2e2a9ff5184d2d1f75327ba315d22 /src/comp/middle/fold.rs
parentStage the last compile fix to put out fire. Thanks git. (diff)
downloadrust-90f299e710c49d689d5bc815e32db375cca00394.tar.xz
rust-90f299e710c49d689d5bc815e32db375cca00394.zip
Permit view items in native modules.
Diffstat (limited to 'src/comp/middle/fold.rs')
-rw-r--r--src/comp/middle/fold.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs
index 935f426b..8a1dc70f 100644
--- a/src/comp/middle/fold.rs
+++ b/src/comp/middle/fold.rs
@@ -957,8 +957,14 @@ fn fold_native_item[ENV](&ENV env, ast_fold[ENV] fld,
fn fold_native_mod[ENV](&ENV e, ast_fold[ENV] fld,
&ast.native_mod m) -> ast.native_mod {
+ let vec[@view_item] view_items = vec();
let vec[@native_item] items = vec();
- auto index = new_str_hash[@ast.native_item]();
+ auto index = new_str_hash[ast.native_mod_index_entry]();
+
+ for (@view_item vi in m.view_items) {
+ auto new_vi = fold_view_item[ENV](e, fld, vi);
+ append[@view_item](view_items, new_vi);
+ }
for (@native_item i in m.items) {
auto new_item = fold_native_item[ENV](e, fld, i);
@@ -968,6 +974,7 @@ fn fold_native_mod[ENV](&ENV e, ast_fold[ENV] fld,
ret fld.fold_native_mod(e, rec(native_name=m.native_name,
abi=m.abi,
+ view_items=view_items,
items=items,
index=index));
}