diff options
| author | Patrick Walton <[email protected]> | 2011-03-25 11:10:50 -0700 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2011-03-25 11:11:21 -0700 |
| commit | e2d6475308481a43facb0e95e9535c5602bf54f2 (patch) | |
| tree | 7953ea0a80b10457168af8a4e2411863bf6cc122 /src/comp/middle | |
| parent | Update pretty printer for ports, channels, send and receive (diff) | |
| download | rust-e2d6475308481a43facb0e95e9535c5602bf54f2.tar.xz rust-e2d6475308481a43facb0e95e9535c5602bf54f2.zip | |
rustc: Store cached crate metadata in the session
Diffstat (limited to 'src/comp/middle')
| -rw-r--r-- | src/comp/middle/fold.rs | 11 | ||||
| -rw-r--r-- | src/comp/middle/resolve.rs | 14 |
2 files changed, 11 insertions, 14 deletions
diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs index 9525e58b..da898f4d 100644 --- a/src/comp/middle/fold.rs +++ b/src/comp/middle/fold.rs @@ -265,7 +265,7 @@ type ast_fold[ENV] = // View Item folds. (fn(&ENV e, &span sp, ident ident, vec[@meta_item] meta_items, - def_id id, ann a) -> @view_item) fold_view_item_use, + def_id id, option.t[int]) -> @view_item) fold_view_item_use, (fn(&ENV e, &span sp, ident i, vec[ident] idents, def_id id, option.t[def]) -> @view_item) fold_view_item_import, @@ -883,9 +883,9 @@ fn fold_view_item[ENV](&ENV env, ast_fold[ENV] fld, @view_item vi) } alt (vi.node) { - case (ast.view_item_use(?ident, ?meta_items, ?def_id, ?ann)) { + case (ast.view_item_use(?ident, ?meta_items, ?def_id, ?cnum)) { ret fld.fold_view_item_use(env_, vi.span, ident, meta_items, - def_id, ann); + def_id, cnum); } case (ast.view_item_import(?def_ident, ?idents, ?def_id, ?target_def)) { @@ -1400,8 +1400,9 @@ fn identity_fold_item_obj[ENV](&ENV e, &span sp, ident i, fn identity_fold_view_item_use[ENV](&ENV e, &span sp, ident i, vec[@meta_item] meta_items, - def_id id, ann a) -> @view_item { - ret @respan(sp, ast.view_item_use(i, meta_items, id, a)); + def_id id, option.t[int] cnum) + -> @view_item { + ret @respan(sp, ast.view_item_use(i, meta_items, id, cnum)); } fn identity_fold_view_item_import[ENV](&ENV e, &span sp, ident i, diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs index fb357c53..2c378c8f 100644 --- a/src/comp/middle/resolve.rs +++ b/src/comp/middle/resolve.rs @@ -137,11 +137,10 @@ fn find_final_def(&env e, import_map index, } fn found_crate(&env e, &import_map index, &span sp, - vec[ident] idents, - @ast.external_crate_info cinfo) -> def_wrap { + vec[ident] idents, int cnum) -> def_wrap { auto len = _vec.len[ident](idents); auto rest_idents = _vec.slice[ident](idents, 1u, len); - auto def = creader.lookup_def(sp, cinfo, rest_idents); + auto def = creader.lookup_def(e.sess, sp, cnum, rest_idents); ret def_wrap_other(def); } @@ -171,12 +170,9 @@ fn find_final_def(&env e, import_map index, } case (def_wrap_use(?vi)) { alt (vi.node) { - case (ast.view_item_use(_, _, _, ?ann)) { - alt (ann) { - case (ast.ann_crate(?cinfo)) { - ret found_crate(e, index, sp, idents, cinfo); - } - } + case (ast.view_item_use(_, _, _, ?cnum_opt)) { + auto cnum = option.get[int](cnum_opt); + ret found_crate(e, index, sp, idents, cnum); } } } |