aboutsummaryrefslogtreecommitdiff
path: root/src/comp/driver/session.rs
diff options
context:
space:
mode:
authorMarijn Haverbeke <[email protected]>2011-04-18 09:22:23 +0200
committerMarijn Haverbeke <[email protected]>2011-04-18 15:28:47 +0200
commit0bf75a203e6611f0b0293c3fc08a6f2ee3a5f1ba (patch)
tree158b96caa1d2590f84238a10650fa3aba14a8bab /src/comp/driver/session.rs
parentmove rust_crate structure into the actual crate code (diff)
downloadrust-0bf75a203e6611f0b0293c3fc08a6f2ee3a5f1ba.tar.xz
rust-0bf75a203e6611f0b0293c3fc08a6f2ee3a5f1ba.zip
collect crate meta info and ext crate names
Diffstat (limited to 'src/comp/driver/session.rs')
-rw-r--r--src/comp/driver/session.rs17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs
index dab02fbd..9cbbc94c 100644
--- a/src/comp/driver/session.rs
+++ b/src/comp/driver/session.rs
@@ -23,11 +23,13 @@ type cfg = rec(os os,
ty_mach uint_type,
ty_mach float_type);
-type crate_metadata = vec[u8];
+type crate_metadata = rec(str name,
+ vec[u8] data);
-obj session(ast.crate_num cnum, cfg targ,
- map.hashmap[int, crate_metadata] crates,
- codemap.codemap cm) {
+state obj session(ast.crate_num cnum, cfg targ,
+ map.hashmap[int, crate_metadata] crates,
+ mutable vec[@ast.meta_item] metadata,
+ codemap.codemap cm) {
fn get_targ_cfg() -> cfg {
ret targ;
@@ -53,6 +55,13 @@ obj session(ast.crate_num cnum, cfg targ,
fail;
}
+ fn add_metadata(vec[@ast.meta_item] data) {
+ metadata = metadata + data;
+ }
+ fn get_metadata() -> vec[@ast.meta_item] {
+ ret metadata;
+ }
+
fn span_warn(span sp, str msg) {
auto lo = codemap.lookup_pos(cm, sp.lo);
auto hi = codemap.lookup_pos(cm, sp.hi);