diff options
| author | Marijn Haverbeke <[email protected]> | 2011-04-18 09:22:23 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <[email protected]> | 2011-04-18 15:28:47 +0200 |
| commit | 0bf75a203e6611f0b0293c3fc08a6f2ee3a5f1ba (patch) | |
| tree | 158b96caa1d2590f84238a10650fa3aba14a8bab /src/comp/driver/session.rs | |
| parent | move rust_crate structure into the actual crate code (diff) | |
| download | rust-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.rs | 17 |
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); |