aboutsummaryrefslogtreecommitdiff
path: root/src/comp/driver/session.rs
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-03-25 10:42:57 -0700
committerPatrick Walton <[email protected]>2011-03-25 10:44:24 -0700
commit77a3373d53e3b0d1b87135b21307f19922398af9 (patch)
tree7ab7d8f75daab48a2d94c042aa6f4ad6a0e73297 /src/comp/driver/session.rs
parentAuto-reconfigure on Makefile.in or configure change. (diff)
downloadrust-77a3373d53e3b0d1b87135b21307f19922398af9.tar.xz
rust-77a3373d53e3b0d1b87135b21307f19922398af9.zip
rustc: Create a crate metadata cache
Diffstat (limited to 'src/comp/driver/session.rs')
-rw-r--r--src/comp/driver/session.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs
index 95f7466d..7ad83dc1 100644
--- a/src/comp/driver/session.rs
+++ b/src/comp/driver/session.rs
@@ -1,6 +1,7 @@
import util.common.span;
import util.common.ty_mach;
import std._uint;
+import std.map;
tag os {
os_win32;
@@ -20,7 +21,9 @@ type cfg = rec(os os,
ty_mach uint_type,
ty_mach float_type);
-obj session(cfg targ) {
+type crate_metadata = vec[u8];
+
+obj session(cfg targ, map.hashmap[int, crate_metadata] crates) {
fn get_targ_cfg() -> cfg {
ret targ;
@@ -66,6 +69,14 @@ obj session(cfg targ) {
log #fmt("error: unimplemented %s", msg);
fail;
}
+
+ fn get_external_crate(int num) -> crate_metadata {
+ ret crates.get(num);
+ }
+
+ fn set_external_crate(int num, &crate_metadata metadata) {
+ crates.insert(num, metadata);
+ }
}