about summary refs log tree commit diff
path: root/src/rustc/metadata/decoder.rs
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2012-03-09 13:35:20 +0100
committerMarijn Haverbeke <marijnh@gmail.com>2012-03-15 10:22:46 +0100
commitb6ad34bef4f0b3613d51557cd327055a2c5311fd (patch)
tree9d94307570687aedc031e0e8b8b16a6b8cd4f9fc /src/rustc/metadata/decoder.rs
parente4cbd43c430ef0d5f63ca7cb86a65a618521e175 (diff)
Properly recognize external intrinsics
Diffstat (limited to 'src/rustc/metadata/decoder.rs')
-rw-r--r--src/rustc/metadata/decoder.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs
index ac6e32f292d..70c771b85c1 100644
--- a/src/rustc/metadata/decoder.rs
+++ b/src/rustc/metadata/decoder.rs
@@ -34,6 +34,7 @@ export get_iface_methods;
 export get_crate_module_paths;
 export get_item_path;
 export maybe_get_item_ast;
+export item_is_intrinsic;
 
 // Used internally by astencode:
 export translate_def_id;
@@ -272,6 +273,13 @@ fn get_impl_method(cdata: cmd, id: ast::node_id, name: str) -> ast::def_id {
     option::get(found)
 }
 
+fn item_is_intrinsic(cdata: cmd, id: ast::node_id) -> bool {
+    let intrinsic = false;
+    ebml::tagged_docs(lookup_item(id, cdata.data), tag_item_is_intrinsic,
+                      {|_i| intrinsic = true;});
+    intrinsic
+}
+
 fn get_symbol(data: @[u8], id: ast::node_id) -> str {
     ret item_symbol(lookup_item(id, data));
 }