X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc_metadata%2Fcsearch.rs;h=bc52921e1b8ca530bd10d513ce1402239ce41eb7;hb=09e62bac0f010f406d2f2b823812ebc5eab06892;hp=ecbc84023309105f9953e0a7babf1a36c43e79d5;hpb=5446139387fe21928dfbd3145aade01cf26829d4;p=rust.git diff --git a/src/librustc_metadata/csearch.rs b/src/librustc_metadata/csearch.rs index ecbc8402330..bc52921e1b8 100644 --- a/src/librustc_metadata/csearch.rs +++ b/src/librustc_metadata/csearch.rs @@ -18,7 +18,7 @@ use middle::cstore::{NativeLibraryKind, LinkMeta, LinkagePreference}; use middle::def; use middle::lang_items; -use middle::ty::{self, Ty}; +use middle::ty::{self, Ty, VariantKind}; use middle::def_id::{DefId, DefIndex}; use rustc::front::map as hir_map; @@ -377,6 +377,17 @@ fn def_path(&self, def: DefId) -> hir_map::DefPath local_path.into_iter().chain(path).collect() } + fn variant_kind(&self, def_id: DefId) -> Option { + let cdata = self.get_crate_data(def_id.krate); + decoder::get_variant_kind(&cdata, def_id.index) + } + + fn struct_ctor_def_id(&self, struct_def_id: DefId) -> Option + { + let cdata = self.get_crate_data(struct_def_id.krate); + decoder::get_struct_ctor_def_id(&cdata, struct_def_id.index) + } + fn tuple_struct_definition_if_ctor(&self, did: DefId) -> Option { let cdata = self.get_crate_data(did.krate); @@ -434,6 +445,11 @@ fn maybe_get_item_mir(&self, tcx: &ty::ctxt<'tcx>, def: DefId) decoder::maybe_get_item_mir(&*cdata, tcx, def.index) } + fn is_item_mir_available(&self, def: DefId) -> bool { + let cdata = self.get_crate_data(def.krate); + decoder::is_item_mir_available(&*cdata, def.index) + } + fn crates(&self) -> Vec { let mut result = vec![];