about summary refs log tree commit diff
path: root/src/librustc_metadata/decoder.rs
diff options
context:
space:
mode:
authorEduard Burtescu <edy.burt@gmail.com>2016-05-12 19:52:38 +0300
committerEduard Burtescu <edy.burt@gmail.com>2016-05-25 01:34:20 +0300
commitc9a10bd26b1305e507b7a5a23ccb0a2a64b8dbba (patch)
tree1f0044641935defe8d7e82b219272ef2b7bd06ee /src/librustc_metadata/decoder.rs
parenta6a5e4884a6c5be54acd53773e68faf02d79f52f (diff)
downloadrust-c9a10bd26b1305e507b7a5a23ccb0a2a64b8dbba.tar.gz
rust-c9a10bd26b1305e507b7a5a23ccb0a2a64b8dbba.zip
trans: move exported_symbol to Instance::symbol_name.
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
-rw-r--r--src/librustc_metadata/decoder.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs
index 7f79df97852..2c4edcea611 100644
--- a/src/librustc_metadata/decoder.rs
+++ b/src/librustc_metadata/decoder.rs
@@ -1634,6 +1634,16 @@ pub fn is_extern_item<'a, 'tcx>(cdata: Cmd,
     }
 }
 
+pub fn is_foreign_item(cdata: Cmd, id: DefIndex) -> bool {
+    let item_doc = cdata.lookup_item(id);
+    let parent_item_id = match item_parent_item(cdata, item_doc) {
+        None => return false,
+        Some(item_id) => item_id,
+    };
+    let parent_item_doc = cdata.lookup_item(parent_item_id.index);
+    item_family(parent_item_doc) == ForeignMod
+}
+
 pub fn is_impl(cdata: Cmd, id: DefIndex) -> bool {
     let item_doc = cdata.lookup_item(id);
     match item_family(item_doc) {