about summary refs log tree commit diff
path: root/src/rustc/metadata/decoder.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-07-11 10:28:30 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-07-11 14:41:41 -0700
commitb9aa9def858cfc66d411972b10ce3d98479acd78 (patch)
treec65223b2926112a34427574cdd9c2feee6d06430 /src/rustc/metadata/decoder.rs
parent9b094c0baf4fa758c80fb9db8cc172f03789adbb (diff)
infer when types are region parameterized rather than requiring /&
- removes various fields from various variants in the AST
- also update tests not to use this notation
Diffstat (limited to 'src/rustc/metadata/decoder.rs')
-rw-r--r--src/rustc/metadata/decoder.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs
index b3e5660c4a8..fd2eb10d8d5 100644
--- a/src/rustc/metadata/decoder.rs
+++ b/src/rustc/metadata/decoder.rs
@@ -21,6 +21,7 @@ export get_class_fields;
 export get_symbol;
 export get_enum_variants;
 export get_type;
+export get_region_param;
 export get_type_param_count;
 export get_impl_trait;
 export get_class_method;
@@ -185,15 +186,10 @@ fn item_ty_param_bounds(item: ebml::doc, tcx: ty::ctxt, cdata: cmd)
     @bounds
 }
 
-fn item_ty_region_param(item: ebml::doc) -> ast::region_param {
+fn item_ty_region_param(item: ebml::doc) -> bool {
     alt ebml::maybe_get_doc(item, tag_region_param) {
-      some(rp_doc) {
-        let dsr = ebml::ebml_deserializer(rp_doc);
-        ast::deserialize_region_param(dsr)
-      }
-      none { // not all families of items have region params
-        ast::rp_none
-      }
+      some(_) { true }
+      none { false }
     }
 }
 
@@ -325,6 +321,11 @@ fn get_type(cdata: cmd, id: ast::node_id, tcx: ty::ctxt)
     ret {bounds: tp_bounds, rp: rp, ty: t};
 }
 
+fn get_region_param(cdata: cmd, id: ast::node_id) -> bool {
+    let item = lookup_item(id, cdata.data);
+    ret item_ty_region_param(item);
+}
+
 fn get_type_param_count(data: @~[u8], id: ast::node_id) -> uint {
     item_ty_param_count(lookup_item(id, data))
 }