rustc: Eliminate metadata's dependency on trans
This commit is contained in:
parent
ecf290d448
commit
a2572fe77e
10 changed files with 123 additions and 68 deletions
|
|
@ -17,7 +17,6 @@ import std::serialization::serializer_helpers;
|
|||
import std::serialization::deserializer_helpers;
|
||||
import std::prettyprint::serializer;
|
||||
import std::smallintmap::map;
|
||||
import middle::trans::common::maps;
|
||||
import middle::{ty, typeck, last_use, ast_map};
|
||||
import middle::typeck::{method_origin,
|
||||
serialize_method_origin,
|
||||
|
|
@ -657,7 +656,7 @@ impl helpers for ebml::ebml_deserializer {
|
|||
impl helpers for @e::encode_ctxt {
|
||||
fn ty_str_ctxt() -> @tyencode::ctxt {
|
||||
@{ds: e::def_to_str,
|
||||
tcx: self.ccx.tcx,
|
||||
tcx: self.tcx,
|
||||
reachable: encoder::reachable(self, _),
|
||||
abbrevs: tyencode::ac_use_abbrevs(self.type_abbrevs)}
|
||||
}
|
||||
|
|
@ -721,8 +720,7 @@ fn encode_side_tables_for_ii(ecx: @e::encode_ctxt,
|
|||
fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
||||
ebml_w: ebml::writer,
|
||||
id: ast::node_id) {
|
||||
let ccx = ecx.ccx;
|
||||
let tcx = ccx.tcx;
|
||||
let tcx = ecx.tcx;
|
||||
|
||||
#debug["Encoding side tables for id %d", id];
|
||||
|
||||
|
|
@ -796,25 +794,25 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
// }
|
||||
//}
|
||||
|
||||
option::iter(ccx.maps.mutbl_map.find(id)) {|_m|
|
||||
option::iter(ecx.maps.mutbl_map.find(id)) {|_m|
|
||||
ebml_w.tag(c::tag_table_mutbl) {||
|
||||
ebml_w.id(id);
|
||||
}
|
||||
}
|
||||
|
||||
option::iter(ccx.maps.copy_map.find(id)) {|_m|
|
||||
option::iter(ecx.maps.copy_map.find(id)) {|_m|
|
||||
ebml_w.tag(c::tag_table_copy) {||
|
||||
ebml_w.id(id);
|
||||
}
|
||||
}
|
||||
|
||||
option::iter(ccx.maps.spill_map.find(id)) {|_m|
|
||||
option::iter(ecx.maps.spill_map.find(id)) {|_m|
|
||||
ebml_w.tag(c::tag_table_spill) {||
|
||||
ebml_w.id(id);
|
||||
}
|
||||
}
|
||||
|
||||
option::iter(ccx.maps.last_uses.find(id)) {|m|
|
||||
option::iter(ecx.maps.last_uses.find(id)) {|m|
|
||||
ebml_w.tag(c::tag_table_last_use) {||
|
||||
ebml_w.id(id);
|
||||
ebml_w.tag(c::tag_table_val) {||
|
||||
|
|
@ -826,7 +824,7 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
// impl_map is not used except when emitting metadata,
|
||||
// don't need to keep it.
|
||||
|
||||
option::iter(ccx.maps.method_map.find(id)) {|mo|
|
||||
option::iter(ecx.maps.method_map.find(id)) {|mo|
|
||||
ebml_w.tag(c::tag_table_method_map) {||
|
||||
ebml_w.id(id);
|
||||
ebml_w.tag(c::tag_table_val) {||
|
||||
|
|
@ -835,7 +833,7 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
}
|
||||
}
|
||||
|
||||
option::iter(ccx.maps.vtable_map.find(id)) {|dr|
|
||||
option::iter(ecx.maps.vtable_map.find(id)) {|dr|
|
||||
ebml_w.tag(c::tag_table_vtable_map) {||
|
||||
ebml_w.id(id);
|
||||
ebml_w.tag(c::tag_table_val) {||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue