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;
local_path.into_iter().chain(path).collect()
}
+ fn variant_kind(&self, def_id: DefId) -> Option<VariantKind> {
+ 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<DefId>
+ {
+ 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<DefId>
{
let cdata = self.get_crate_data(did.krate);
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<ast::CrateNum>
{
let mut result = vec![];