diff options
| author | Simon BD <simon@server> | 2012-10-06 13:15:18 -0500 |
|---|---|---|
| committer | Simon BD <simon@server> | 2012-10-06 13:15:18 -0500 |
| commit | 0e3bec0ced8d781cdd93996e7b8eeedb13f81ba8 (patch) | |
| tree | 4738dcf131910061f5253ee5ef42960b9aef35f5 /src/rustc/metadata/encoder.rs | |
| parent | d4a54837d4ab28219727e1f1e0c131ba6033ba94 (diff) | |
| parent | f96a2a2ca16a44f869336f7e28fc261551c1184c (diff) | |
| download | rust-0e3bec0ced8d781cdd93996e7b8eeedb13f81ba8.tar.gz rust-0e3bec0ced8d781cdd93996e7b8eeedb13f81ba8.zip | |
Merge remote-tracking branch 'original/incoming' into incoming
Diffstat (limited to 'src/rustc/metadata/encoder.rs')
| -rw-r--r-- | src/rustc/metadata/encoder.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/rustc/metadata/encoder.rs b/src/rustc/metadata/encoder.rs index 17d686b41d1..a65c25a46ef 100644 --- a/src/rustc/metadata/encoder.rs +++ b/src/rustc/metadata/encoder.rs @@ -34,6 +34,7 @@ export metadata_encoding_version; export def_to_str; export encode_ctxt; export write_type; +export write_vstore; export encode_def_id; type abbrev_map = map::HashMap<ty::t, tyencode::ty_abbrev>; @@ -116,7 +117,7 @@ fn encode_mutability(ebml_w: ebml::Writer, mt: class_mutability) { type entry<T> = {val: T, pos: uint}; fn add_to_index(ecx: @encode_ctxt, ebml_w: ebml::Writer, path: &[ident], - &index: ~[entry<~str>], name: ident) { + index: &mut ~[entry<~str>], name: ident) { let mut full_path = ~[]; full_path.push_all(path); full_path.push(name); @@ -180,6 +181,16 @@ fn write_type(ecx: @encode_ctxt, ebml_w: ebml::Writer, typ: ty::t) { tyencode::enc_ty(ebml_w.writer, ty_str_ctxt, typ); } +fn write_vstore(ecx: @encode_ctxt, ebml_w: ebml::Writer, vstore: ty::vstore) { + let ty_str_ctxt = + @{diag: ecx.diag, + ds: def_to_str, + tcx: ecx.tcx, + reachable: |a| reachable(ecx, a), + abbrevs: tyencode::ac_use_abbrevs(ecx.type_abbrevs)}; + tyencode::enc_vstore(ebml_w.writer, ty_str_ctxt, vstore); +} + fn encode_type(ecx: @encode_ctxt, ebml_w: ebml::Writer, typ: ty::t) { ebml_w.start_tag(tag_items_data_item_type); write_type(ecx, ebml_w, typ); |
