about summary refs log tree commit diff
path: root/src/comp/middle/resolve.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-03-25 11:10:50 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-03-25 11:11:21 -0700
commite2d6475308481a43facb0e95e9535c5602bf54f2 (patch)
tree7953ea0a80b10457168af8a4e2411863bf6cc122 /src/comp/middle/resolve.rs
parent9ca7acb1f3455f76a7991ce675a46aaa228aa497 (diff)
downloadrust-e2d6475308481a43facb0e95e9535c5602bf54f2.tar.gz
rust-e2d6475308481a43facb0e95e9535c5602bf54f2.zip
rustc: Store cached crate metadata in the session
Diffstat (limited to 'src/comp/middle/resolve.rs')
-rw-r--r--src/comp/middle/resolve.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index fb357c53bbb..2c378c8f3af 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);
                     }
                 }
             }