aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <[email protected]>2011-01-04 18:19:36 -0500
committerGraydon Hoare <[email protected]>2011-01-12 12:26:23 -0800
commit359d72b4d047c3eb6fa13b0ae7b4a7432c0af785 (patch)
treefc28d1b9d339e8433f81334609de9dca77ddfb5e /src/comp/middle
parentFigure out what tydescs we need to pass when translating parametric function ... (diff)
downloadrust-359d72b4d047c3eb6fa13b0ae7b4a7432c0af785.tar.xz
rust-359d72b4d047c3eb6fa13b0ae7b4a7432c0af785.zip
Change mod_index_entry to point directly to items and view_items.
Diffstat (limited to 'src/comp/middle')
-rw-r--r--src/comp/middle/fold.rs10
-rw-r--r--src/comp/middle/resolve.rs12
2 files changed, 13 insertions, 9 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));
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 95f84f46..e3b3c5a7 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -166,14 +166,14 @@ fn lookup_name(&env e, option.t[import_map] index,
alt (m.index.find(i)) {
case (some[ast.mod_index_entry](?ent)) {
alt (ent) {
- case (ast.mie_view_item(?ix)) {
- ret found_def_view(e, index, m.view_items.(ix));
+ case (ast.mie_view_item(?view_item)) {
+ ret found_def_view(e, index, view_item);
}
- case (ast.mie_item(?ix)) {
- ret found_def_item(m.items.(ix));
+ case (ast.mie_item(?item)) {
+ ret found_def_item(item);
}
- case (ast.mie_tag_variant(?item_idx, ?variant_idx)) {
- alt (m.items.(item_idx).node) {
+ case (ast.mie_tag_variant(?item, ?variant_idx)) {
+ alt (item.node) {
case (ast.item_tag(_, ?variants, _, ?tid)) {
auto vid = variants.(variant_idx).id;
auto t = ast.def_variant(tid, vid);