summaryrefslogtreecommitdiff
path: root/src/librustc_metadata/csearch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustc_metadata/csearch.rs')
-rw-r--r--src/librustc_metadata/csearch.rs15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/librustc_metadata/csearch.rs b/src/librustc_metadata/csearch.rs
index 2cd119cfc48..9ac7216165c 100644
--- a/src/librustc_metadata/csearch.rs
+++ b/src/librustc_metadata/csearch.rs
@@ -8,7 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use astencode;
use cstore;
use decoder;
use encoder;
@@ -237,7 +236,7 @@ impl<'tcx> CrateStore<'tcx> for cstore::CStore {
}
fn impl_or_trait_item(&self, tcx: &TyCtxt<'tcx>, def: DefId)
- -> ty::ImplOrTraitItem<'tcx>
+ -> Option<ty::ImplOrTraitItem<'tcx>>
{
let cdata = self.get_crate_data(def.krate);
decoder::get_impl_or_trait_item(
@@ -439,8 +438,7 @@ impl<'tcx> CrateStore<'tcx> for cstore::CStore {
-> FoundAst<'tcx>
{
let cdata = self.get_crate_data(def.krate);
- let decode_inlined_item = Box::new(astencode::decode_inlined_item);
- decoder::maybe_get_item_ast(&cdata, tcx, def.index, decode_inlined_item)
+ decoder::maybe_get_item_ast(&cdata, tcx, def.index)
}
fn maybe_get_item_mir(&self, tcx: &TyCtxt<'tcx>, def: DefId)
@@ -509,21 +507,18 @@ impl<'tcx> CrateStore<'tcx> for cstore::CStore {
mir_map: &MirMap<'tcx>,
krate: &hir::Crate) -> Vec<u8>
{
- let encode_inlined_item: encoder::EncodeInlinedItem =
- Box::new(|ecx, rbml_w, ii| astencode::encode_inlined_item(ecx, rbml_w, ii));
-
- let encode_params = encoder::EncodeParams {
+ let ecx = encoder::EncodeContext {
diag: tcx.sess.diagnostic(),
tcx: tcx,
reexports: reexports,
item_symbols: item_symbols,
link_meta: link_meta,
cstore: self,
- encode_inlined_item: encode_inlined_item,
reachable: reachable,
mir_map: mir_map,
+ type_abbrevs: RefCell::new(FnvHashMap()),
};
- encoder::encode_metadata(encode_params, krate)
+ encoder::encode_metadata(ecx, krate)
}