about summary refs log tree commit diff
path: root/src/rustc/metadata/decoder.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rustc/metadata/decoder.rs')
-rw-r--r--src/rustc/metadata/decoder.rs89
1 files changed, 45 insertions, 44 deletions
diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs
index b738bd2ed8c..d069b4046bc 100644
--- a/src/rustc/metadata/decoder.rs
+++ b/src/rustc/metadata/decoder.rs
@@ -64,7 +64,7 @@ fn lookup_hash(d: ebml::doc, eq_fn: fn@(~[u8]) -> bool, hash: uint) ->
 
     let mut result: ~[ebml::doc] = ~[];
     let belt = tag_index_buckets_bucket_elt;
-    do ebml::tagged_docs(bucket, belt) {|elt|
+    do ebml::tagged_docs(bucket, belt) |elt| {
         let pos = io::u64_from_be_bytes(*elt.data, elt.start, 4u) as uint;
         if eq_fn(vec::slice::<u8>(*elt.data, elt.start + 4u, elt.end)) {
             vec::push(result, ebml::doc_at(d.data, pos).doc);
@@ -77,7 +77,7 @@ fn maybe_find_item(item_id: int, items: ebml::doc) -> option<ebml::doc> {
     fn eq_item(bytes: ~[u8], item_id: int) -> bool {
         ret io::u64_from_be_bytes(bytes, 0u, 4u) as int == item_id;
     }
-    let eqer = {|a|eq_item(a, item_id)};
+    let eqer = |a| eq_item(a, item_id);
     let found = lookup_hash(items, eqer, hash_node_id(item_id));
     if vec::len(found) == 0u {
         ret option::none::<ebml::doc>;
@@ -110,7 +110,7 @@ fn item_symbol(item: ebml::doc) -> str {
 
 fn item_parent_item(d: ebml::doc) -> option<ast::def_id> {
     let mut found = none;
-    do ebml::tagged_docs(d, tag_items_data_parent_item) {|did|
+    do ebml::tagged_docs(d, tag_items_data_parent_item) |did| {
         found = some(parse_def_id(ebml::doc_data(did)));
     }
     found
@@ -123,25 +123,26 @@ fn class_member_id(d: ebml::doc, cdata: cmd) -> ast::def_id {
 
 fn field_mutability(d: ebml::doc) -> ast::class_mutability {
     // Use maybe_get_doc in case it's a method
-    option::map_default(ebml::maybe_get_doc(d, tag_class_mut),
-                  ast::class_immutable,
-                  {|d|
-                  alt ebml::doc_as_u8(d) as char {
-                    'm' { ast::class_mutable }
-                    _   { ast::class_immutable }
-                  }
-                  })
+    option::map_default(
+        ebml::maybe_get_doc(d, tag_class_mut),
+        ast::class_immutable,
+        |d| {
+            alt ebml::doc_as_u8(d) as char {
+              'm' { ast::class_mutable }
+              _   { ast::class_immutable }
+            }
+        })
 }
 
 fn variant_disr_val(d: ebml::doc) -> option<int> {
-    do option::chain(ebml::maybe_get_doc(d, tag_disr_val)) {|val_doc|
+    do option::chain(ebml::maybe_get_doc(d, tag_disr_val)) |val_doc| {
         int::parse_buf(ebml::doc_data(val_doc), 10u)
     }
 }
 
 fn doc_type(doc: ebml::doc, tcx: ty::ctxt, cdata: cmd) -> ty::t {
     let tp = ebml::get_doc(doc, tag_items_data_item_type);
-    parse_ty_data(tp.data, cdata.cnum, tp.start, tcx, {|did|
+    parse_ty_data(tp.data, cdata.cnum, tp.start, tcx, |did| {
         translate_def_id(cdata, did)
     })
 }
@@ -157,7 +158,7 @@ fn item_type(item_id: ast::def_id, item: ebml::doc,
 fn item_impl_iface(item: ebml::doc, tcx: ty::ctxt, cdata: cmd)
     -> option<ty::t> {
     let mut result = none;
-    do ebml::tagged_docs(item, tag_impl_iface) {|ity|
+    do ebml::tagged_docs(item, tag_impl_iface) |ity| {
         result = some(doc_type(ity, tcx, cdata));
     };
     result
@@ -166,8 +167,8 @@ fn item_impl_iface(item: ebml::doc, tcx: ty::ctxt, cdata: cmd)
 fn item_ty_param_bounds(item: ebml::doc, tcx: ty::ctxt, cdata: cmd)
     -> @~[ty::param_bounds] {
     let mut bounds = ~[];
-    do ebml::tagged_docs(item, tag_items_data_item_ty_param_bounds) {|p|
-        let bd = parse_bounds_data(p.data, p.start, cdata.cnum, tcx, {|did|
+    do ebml::tagged_docs(item, tag_items_data_item_ty_param_bounds) |p| {
+        let bd = parse_bounds_data(p.data, p.start, cdata.cnum, tcx, |did| {
             translate_def_id(cdata, did)
         });
         vec::push(bounds, bd);
@@ -190,14 +191,14 @@ fn item_ty_region_param(item: ebml::doc) -> ast::region_param {
 fn item_ty_param_count(item: ebml::doc) -> uint {
     let mut n = 0u;
     ebml::tagged_docs(item, tag_items_data_item_ty_param_bounds,
-                      {|_p| n += 1u; });
+                      |_p| n += 1u );
     n
 }
 
 fn enum_variant_ids(item: ebml::doc, cdata: cmd) -> ~[ast::def_id] {
     let mut ids: ~[ast::def_id] = ~[];
     let v = tag_items_data_item_variant;
-    do ebml::tagged_docs(item, v) {|p|
+    do ebml::tagged_docs(item, v) |p| {
         let ext = parse_def_id(ebml::doc_data(p));
         vec::push(ids, {crate: cdata.cnum, node: ext.node});
     };
@@ -213,10 +214,10 @@ fn resolve_path(path: ~[ast::ident], data: @~[u8]) -> ~[ast::def_id] {
     let s = ast_util::path_name_i(path);
     let md = ebml::doc(data);
     let paths = ebml::get_doc(md, tag_paths);
-    let eqer = {|a|eq_item(a, s)};
+    let eqer = |a| eq_item(a, s);
     let mut result: ~[ast::def_id] = ~[];
     #debug("resolve_path: looking up %s", s);
-    for lookup_hash(paths, eqer, hash_path(s)).each {|doc|
+    for lookup_hash(paths, eqer, hash_path(s)).each |doc| {
         let did_doc = ebml::get_doc(doc, tag_def_id);
         vec::push(result, parse_def_id(ebml::doc_data(did_doc)));
     }
@@ -232,7 +233,7 @@ fn item_path(item_doc: ebml::doc) -> ast_map::path {
     let mut result = ~[];
     vec::reserve(result, len);
 
-    do ebml::docs(path_doc) {|tag, elt_doc|
+    do ebml::docs(path_doc) |tag, elt_doc| {
         if tag == tag_path_elt_mod {
             let str = ebml::doc_as_str(elt_doc);
             vec::push(result, ast_map::path_mod(@str));
@@ -306,7 +307,7 @@ fn get_impl_method(cdata: cmd, id: ast::node_id,
                    name: ast::ident) -> ast::def_id {
     let items = ebml::get_doc(ebml::doc(cdata.data), tag_items);
     let mut found = none;
-    do ebml::tagged_docs(find_item(id, items), tag_item_impl_method) {|mid|
+    do ebml::tagged_docs(find_item(id, items), tag_item_impl_method) |mid| {
         let m_did = parse_def_id(ebml::doc_data(mid));
         if item_name(find_item(m_did.node, items)) == name {
             found = some(translate_def_id(cdata, m_did));
@@ -323,7 +324,7 @@ fn get_class_method(cdata: cmd, id: ast::node_id,
             some(it) { it }
             none { fail (#fmt("get_class_method: class id not found \
              when looking up method %s", *name)) }};
-    do ebml::tagged_docs(cls_items, tag_item_iface_method) {|mid|
+    do ebml::tagged_docs(cls_items, tag_item_iface_method) |mid| {
         let m_did = class_member_id(mid, cdata);
         if item_name(mid) == name {
             found = some(m_did);
@@ -343,7 +344,7 @@ fn class_dtor(cdata: cmd, id: ast::node_id) -> option<ast::def_id> {
             none     { fail (#fmt("class_dtor: class id not found \
               when looking up dtor for %d", id)); }
     };
-    do ebml::tagged_docs(cls_items, tag_item_dtor) {|doc|
+    do ebml::tagged_docs(cls_items, tag_item_dtor) |doc| {
          let doc1 = ebml::get_doc(doc, tag_def_id);
          let did = parse_def_id(ebml::doc_data(doc1));
          found = some(translate_def_id(cdata, did));
@@ -399,7 +400,7 @@ fn get_enum_variants(cdata: cmd, id: ast::node_id, tcx: ty::ctxt)
     let mut infos: ~[ty::variant_info] = ~[];
     let variant_ids = enum_variant_ids(item, cdata);
     let mut disr_val = 0;
-    for variant_ids.each {|did|
+    for variant_ids.each |did| {
         let item = find_item(did.node, items);
         let ctor_ty = item_type({crate: cdata.cnum, node: id}, item,
                                 tcx, cdata);
@@ -407,7 +408,7 @@ fn get_enum_variants(cdata: cmd, id: ast::node_id, tcx: ty::ctxt)
         let mut arg_tys: ~[ty::t] = ~[];
         alt ty::get(ctor_ty).struct {
           ty::ty_fn(f) {
-            for f.inputs.each {|a| vec::push(arg_tys, a.ty); }
+            for f.inputs.each |a| { vec::push(arg_tys, a.ty); }
           }
           _ { /* Nullary enum variant. */ }
         }
@@ -429,7 +430,7 @@ type _impl = {did: ast::def_id, ident: ast::ident, methods: ~[@method_info]};
 fn item_impl_methods(cdata: cmd, item: ebml::doc, base_tps: uint)
     -> ~[@method_info] {
     let mut rslt = ~[];
-    do ebml::tagged_docs(item, tag_item_impl_method) {|doc|
+    do ebml::tagged_docs(item, tag_item_impl_method) |doc| {
         let m_did = parse_def_id(ebml::doc_data(doc));
         let mth_item = lookup_item(m_did.node, cdata.data);
         vec::push(rslt, @{did: translate_def_id(cdata, m_did),
@@ -447,7 +448,7 @@ fn get_impls_for_mod(cdata: cmd, m_id: ast::node_id,
     let data = cdata.data;
     let mod_item = lookup_item(m_id, data);
     let mut result = ~[];
-    do ebml::tagged_docs(mod_item, tag_mod_impl) {|doc|
+    do ebml::tagged_docs(mod_item, tag_mod_impl) |doc| {
         let did = parse_def_id(ebml::doc_data(doc));
         let local_did = translate_def_id(cdata, did);
           // The impl may be defined in a different crate. Ask the caller
@@ -473,7 +474,7 @@ fn get_iface_methods(cdata: cmd, id: ast::node_id, tcx: ty::ctxt)
     let data = cdata.data;
     let item = lookup_item(id, data);
     let mut result = ~[];
-    do ebml::tagged_docs(item, tag_item_iface_method) {|mth|
+    do ebml::tagged_docs(item, tag_item_iface_method) |mth| {
         let bounds = item_ty_param_bounds(mth, tcx, cdata);
         let name = item_name(mth);
         let ty = doc_type(mth, tcx, cdata);
@@ -498,7 +499,7 @@ fn get_class_members(cdata: cmd, id: ast::node_id,
     let data = cdata.data;
     let item = lookup_item(id, data);
     let mut result = ~[];
-    do ebml::tagged_docs(item, tag_item_field) {|an_item|
+    do ebml::tagged_docs(item, tag_item_field) |an_item| {
        let f = item_family(an_item);
        if p(f) {
           let name = item_name(an_item);
@@ -520,7 +521,7 @@ pure fn family_to_visibility(family: char) -> ast::visibility {
 
 /* 'g' for public field, 'j' for private field */
 fn get_class_fields(cdata: cmd, id: ast::node_id) -> ~[ty::field_ty] {
-    get_class_members(cdata, id, {|f| f == 'g' || f == 'j'})
+    get_class_members(cdata, id, |f| f == 'g' || f == 'j')
 }
 
 fn family_has_type_params(fam_ch: char) -> bool {
@@ -578,12 +579,12 @@ fn item_family_to_str(fam: char) -> str {
 
 fn get_meta_items(md: ebml::doc) -> ~[@ast::meta_item] {
     let mut items: ~[@ast::meta_item] = ~[];
-    do ebml::tagged_docs(md, tag_meta_item_word) {|meta_item_doc|
+    do ebml::tagged_docs(md, tag_meta_item_word) |meta_item_doc| {
         let nd = ebml::get_doc(meta_item_doc, tag_meta_item_name);
         let n = str::from_bytes(ebml::doc_data(nd));
         vec::push(items, attr::mk_word_item(@n));
     };
-    do ebml::tagged_docs(md, tag_meta_item_name_value) {|meta_item_doc|
+    do ebml::tagged_docs(md, tag_meta_item_name_value) |meta_item_doc| {
         let nd = ebml::get_doc(meta_item_doc, tag_meta_item_name);
         let vd = ebml::get_doc(meta_item_doc, tag_meta_item_value);
         let n = str::from_bytes(ebml::doc_data(nd));
@@ -592,7 +593,7 @@ fn get_meta_items(md: ebml::doc) -> ~[@ast::meta_item] {
         // but currently the encoder just drops them
         vec::push(items, attr::mk_name_value_item_str(@n, v));
     };
-    do ebml::tagged_docs(md, tag_meta_item_list) {|meta_item_doc|
+    do ebml::tagged_docs(md, tag_meta_item_list) |meta_item_doc| {
         let nd = ebml::get_doc(meta_item_doc, tag_meta_item_name);
         let n = str::from_bytes(ebml::doc_data(nd));
         let subitems = get_meta_items(meta_item_doc);
@@ -605,7 +606,7 @@ fn get_attributes(md: ebml::doc) -> ~[ast::attribute] {
     let mut attrs: ~[ast::attribute] = ~[];
     alt ebml::maybe_get_doc(md, tag_attributes) {
       option::some(attrs_d) {
-        do ebml::tagged_docs(attrs_d, tag_attribute) {|attr_doc|
+        do ebml::tagged_docs(attrs_d, tag_attribute) |attr_doc| {
             let meta_items = get_meta_items(attr_doc);
             // Currently it's only possible to have a single meta item on
             // an attribute
@@ -622,7 +623,7 @@ fn get_attributes(md: ebml::doc) -> ~[ast::attribute] {
 }
 
 fn list_meta_items(meta_items: ebml::doc, out: io::writer) {
-    for get_meta_items(meta_items).each {|mi|
+    for get_meta_items(meta_items).each |mi| {
         out.write_str(#fmt["%s\n", pprust::meta_item_to_str(*mi)]);
     }
 }
@@ -630,7 +631,7 @@ fn list_meta_items(meta_items: ebml::doc, out: io::writer) {
 fn list_crate_attributes(md: ebml::doc, hash: @str, out: io::writer) {
     out.write_str(#fmt("=Crate Attributes (%s)=\n", *hash));
 
-    for get_attributes(md).each {|attr|
+    for get_attributes(md).each |attr| {
         out.write_str(#fmt["%s\n", pprust::attribute_to_str(attr)]);
     }
 
@@ -652,7 +653,7 @@ fn get_crate_deps(data: @~[u8]) -> ~[crate_dep] {
     fn docstr(doc: ebml::doc, tag_: uint) -> str {
         str::from_bytes(ebml::doc_data(ebml::get_doc(doc, tag_)))
     }
-    do ebml::tagged_docs(depsdoc, tag_crate_dep) {|depdoc|
+    do ebml::tagged_docs(depsdoc, tag_crate_dep) |depdoc| {
         vec::push(deps, {cnum: crate_num,
                   name: @docstr(depdoc, tag_crate_dep_name),
                   vers: @docstr(depdoc, tag_crate_dep_vers),
@@ -665,7 +666,7 @@ fn get_crate_deps(data: @~[u8]) -> ~[crate_dep] {
 fn list_crate_deps(data: @~[u8], out: io::writer) {
     out.write_str("=External Dependencies=\n");
 
-    for get_crate_deps(data).each {|dep|
+    for get_crate_deps(data).each |dep| {
         out.write_str(#fmt["%d %s-%s-%s\n",
                            dep.cnum, *dep.name, *dep.hash, *dep.vers]);
     }
@@ -691,7 +692,7 @@ fn get_crate_vers(data: @~[u8]) -> @str {
 fn list_crate_items(bytes: @~[u8], md: ebml::doc, out: io::writer) {
     out.write_str("=Items=\n");
     let items = ebml::get_doc(md, tag_items);
-    do iter_crate_items(bytes) {|path, did|
+    do iter_crate_items(bytes) |path, did| {
         out.write_str(#fmt["%s (%s)\n", path, describe_def(items, did)]);
     }
     out.write_str("\n");
@@ -702,9 +703,9 @@ fn iter_crate_items(bytes: @~[u8], proc: fn(str, ast::def_id)) {
     let paths = ebml::get_doc(md, tag_paths);
     let index = ebml::get_doc(paths, tag_index);
     let bs = ebml::get_doc(index, tag_index_buckets);
-    do ebml::tagged_docs(bs, tag_index_buckets_bucket) {|bucket|
+    do ebml::tagged_docs(bs, tag_index_buckets_bucket) |bucket| {
         let et = tag_index_buckets_bucket_elt;
-        do ebml::tagged_docs(bucket, et) {|elt|
+        do ebml::tagged_docs(bucket, et) |elt| {
             let data = read_path(elt);
             let {tag:_, doc:def} = ebml::doc_at(bytes, data.pos);
             let did_doc = ebml::get_doc(def, tag_def_id);
@@ -723,7 +724,7 @@ fn get_crate_module_paths(bytes: @~[u8]) -> ~[(ast::def_id, str)] {
     // fowarded path due to renamed import or reexport
     let mut res = ~[];
     let mods = map::str_hash();
-    do iter_crate_items(bytes) {|path, did|
+    do iter_crate_items(bytes) |path, did| {
         let m = mod_of_path(path);
         if str::is_not_empty(m) {
             // if m has a sub-item, it must be a module
@@ -734,7 +735,7 @@ fn get_crate_module_paths(bytes: @~[u8]) -> ~[(ast::def_id, str)] {
         // unified later by using the mods map
         vec::push(res, (did, path));
     }
-    ret do vec::filter(res) {|x|
+    ret do vec::filter(res) |x| {
         let (_, xp) = x;
         mods.contains_key(xp)
     }