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.rs245
1 files changed, 123 insertions, 122 deletions
diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs
index 197e567ab2f..6b8c995ffd2 100644
--- a/src/rustc/metadata/decoder.rs
+++ b/src/rustc/metadata/decoder.rs
@@ -1,8 +1,9 @@
 // Decoding metadata from a single crate's metadata
 
-use std::{ebml2, map};
+use std::ebml;
+use std::map;
 use std::map::HashMap;
-use std::serialization2::deserialize;
+use std::serialization::deserialize;
 use io::WriterUtil;
 use dvec::DVec;
 use syntax::{ast, ast_util};
@@ -64,25 +65,25 @@ export translate_def_id;
 // what crate that's in and give us a def_id that makes sense for the current
 // build.
 
-fn lookup_hash(d: ebml2::Doc, eq_fn: fn(x:&[u8]) -> bool, hash: uint) ->
-   Option<ebml2::Doc> {
-    let index = ebml2::get_doc(d, tag_index);
-    let table = ebml2::get_doc(index, tag_index_table);
+fn lookup_hash(d: ebml::Doc, eq_fn: fn(x:&[u8]) -> bool, hash: uint) ->
+   Option<ebml::Doc> {
+    let index = ebml::get_doc(d, tag_index);
+    let table = ebml::get_doc(index, tag_index_table);
     let hash_pos = table.start + hash % 256u * 4u;
     let pos = io::u64_from_be_bytes(*d.data, hash_pos, 4u) as uint;
-    let tagged_doc = ebml2::doc_at(d.data, pos);
+    let tagged_doc = ebml::doc_at(d.data, pos);
 
     let belt = tag_index_buckets_bucket_elt;
-    for ebml2::tagged_docs(tagged_doc.doc, belt) |elt| {
+    for ebml::tagged_docs(tagged_doc.doc, belt) |elt| {
         let pos = io::u64_from_be_bytes(*elt.data, elt.start, 4u) as uint;
         if eq_fn(vec::view(*elt.data, elt.start + 4u, elt.end)) {
-            return Some(ebml2::doc_at(d.data, pos).doc);
+            return Some(ebml::doc_at(d.data, pos).doc);
         }
     };
     None
 }
 
-fn maybe_find_item(item_id: int, items: ebml2::Doc) -> Option<ebml2::Doc> {
+fn maybe_find_item(item_id: int, items: ebml::Doc) -> Option<ebml::Doc> {
     fn eq_item(bytes: &[u8], item_id: int) -> bool {
         return io::u64_from_be_bytes(vec::view(bytes, 0u, 4u), 0u, 4u) as int
             == item_id;
@@ -92,14 +93,14 @@ fn maybe_find_item(item_id: int, items: ebml2::Doc) -> Option<ebml2::Doc> {
                 item_id.hash() as uint)
 }
 
-fn find_item(item_id: int, items: ebml2::Doc) -> ebml2::Doc {
+fn find_item(item_id: int, items: ebml::Doc) -> ebml::Doc {
     return maybe_find_item(item_id, items).get();
 }
 
-// Looks up an item in the given metadata and returns an ebml2 doc pointing
+// Looks up an item in the given metadata and returns an ebml doc pointing
 // to the item data.
-fn lookup_item(item_id: int, data: @~[u8]) -> ebml2::Doc {
-    let items = ebml2::get_doc(ebml2::Doc(data), tag_items);
+fn lookup_item(item_id: int, data: @~[u8]) -> ebml::Doc {
+    let items = ebml::get_doc(ebml::Doc(data), tag_items);
     match maybe_find_item(item_id, items) {
        None => fail(fmt!("lookup_item: id not found: %d", item_id)),
        Some(d) => d
@@ -137,9 +138,9 @@ impl Family : cmp::Eq {
     pure fn ne(other: &Family) -> bool { !self.eq(other) }
 }
 
-fn item_family(item: ebml2::Doc) -> Family {
-    let fam = ebml2::get_doc(item, tag_items_data_item_family);
-    match ebml2::doc_as_u8(fam) as char {
+fn item_family(item: ebml::Doc) -> Family {
+    let fam = ebml::get_doc(item, tag_items_data_item_family);
+    match ebml::doc_as_u8(fam) as char {
       'c' => Const,
       'f' => Fn,
       'u' => UnsafeFn,
@@ -165,59 +166,59 @@ fn item_family(item: ebml2::Doc) -> Family {
     }
 }
 
-fn item_symbol(item: ebml2::Doc) -> ~str {
-    let sym = ebml2::get_doc(item, tag_items_data_item_symbol);
-    return str::from_bytes(ebml2::doc_data(sym));
+fn item_symbol(item: ebml::Doc) -> ~str {
+    let sym = ebml::get_doc(item, tag_items_data_item_symbol);
+    return str::from_bytes(ebml::doc_data(sym));
 }
 
-fn item_parent_item(d: ebml2::Doc) -> Option<ast::def_id> {
-    for ebml2::tagged_docs(d, tag_items_data_parent_item) |did| {
-        return Some(ebml2::with_doc_data(did, |d| parse_def_id(d)));
+fn item_parent_item(d: ebml::Doc) -> Option<ast::def_id> {
+    for ebml::tagged_docs(d, tag_items_data_parent_item) |did| {
+        return Some(ebml::with_doc_data(did, |d| parse_def_id(d)));
     }
     None
 }
 
-fn item_def_id(d: ebml2::Doc, cdata: cmd) -> ast::def_id {
-    let tagdoc = ebml2::get_doc(d, tag_def_id);
-    return translate_def_id(cdata, ebml2::with_doc_data(tagdoc,
+fn item_def_id(d: ebml::Doc, cdata: cmd) -> ast::def_id {
+    let tagdoc = ebml::get_doc(d, tag_def_id);
+    return translate_def_id(cdata, ebml::with_doc_data(tagdoc,
                                                     |d| parse_def_id(d)));
 }
 
-fn each_reexport(d: ebml2::Doc, f: fn(ebml2::Doc) -> bool) {
-    for ebml2::tagged_docs(d, tag_items_data_item_reexport) |reexport_doc| {
+fn each_reexport(d: ebml::Doc, f: fn(ebml::Doc) -> bool) {
+    for ebml::tagged_docs(d, tag_items_data_item_reexport) |reexport_doc| {
         if !f(reexport_doc) {
             return;
         }
     }
 }
 
-fn field_mutability(d: ebml2::Doc) -> ast::class_mutability {
+fn field_mutability(d: ebml::Doc) -> ast::class_mutability {
     // Use maybe_get_doc in case it's a method
     option::map_default(
-        &ebml2::maybe_get_doc(d, tag_class_mut),
+        &ebml::maybe_get_doc(d, tag_class_mut),
         ast::class_immutable,
         |d| {
-            match ebml2::doc_as_u8(*d) as char {
+            match ebml::doc_as_u8(*d) as char {
               'm' => ast::class_mutable,
               _   => ast::class_immutable
             }
         })
 }
 
-fn variant_disr_val(d: ebml2::Doc) -> Option<int> {
-    do option::chain(ebml2::maybe_get_doc(d, tag_disr_val)) |val_doc| {
-        int::parse_bytes(ebml2::doc_data(val_doc), 10u)
+fn variant_disr_val(d: ebml::Doc) -> Option<int> {
+    do option::chain(ebml::maybe_get_doc(d, tag_disr_val)) |val_doc| {
+        int::parse_bytes(ebml::doc_data(val_doc), 10u)
     }
 }
 
-fn doc_type(doc: ebml2::Doc, tcx: ty::ctxt, cdata: cmd) -> ty::t {
-    let tp = ebml2::get_doc(doc, tag_items_data_item_type);
+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| {
         translate_def_id(cdata, did)
     })
 }
 
-fn item_type(item_id: ast::def_id, item: ebml2::Doc,
+fn item_type(item_id: ast::def_id, item: ebml::Doc,
              tcx: ty::ctxt, cdata: cmd) -> ty::t {
     let t = doc_type(item, tcx, cdata);
     if family_names_type(item_family(item)) {
@@ -225,18 +226,18 @@ fn item_type(item_id: ast::def_id, item: ebml2::Doc,
     } else { t }
 }
 
-fn item_impl_traits(item: ebml2::Doc, tcx: ty::ctxt, cdata: cmd) -> ~[ty::t] {
+fn item_impl_traits(item: ebml::Doc, tcx: ty::ctxt, cdata: cmd) -> ~[ty::t] {
     let mut results = ~[];
-    for ebml2::tagged_docs(item, tag_impl_trait) |ity| {
+    for ebml::tagged_docs(item, tag_impl_trait) |ity| {
         results.push(doc_type(ity, tcx, cdata));
     };
     results
 }
 
-fn item_ty_param_bounds(item: ebml2::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 = ~[];
-    for ebml2::tagged_docs(item, tag_items_data_item_ty_param_bounds) |p| {
+    for 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)
         });
@@ -245,42 +246,42 @@ fn item_ty_param_bounds(item: ebml2::Doc, tcx: ty::ctxt, cdata: cmd)
     @bounds
 }
 
-fn item_ty_region_param(item: ebml2::Doc) -> Option<ty::region_variance> {
-    ebml2::maybe_get_doc(item, tag_region_param).map(|doc| {
-        deserialize(&ebml2::Deserializer(*doc))
+fn item_ty_region_param(item: ebml::Doc) -> Option<ty::region_variance> {
+    ebml::maybe_get_doc(item, tag_region_param).map(|doc| {
+        deserialize(&ebml::Deserializer(*doc))
     })
 }
 
-fn item_ty_param_count(item: ebml2::Doc) -> uint {
+fn item_ty_param_count(item: ebml::Doc) -> uint {
     let mut n = 0u;
-    ebml2::tagged_docs(item, tag_items_data_item_ty_param_bounds,
+    ebml::tagged_docs(item, tag_items_data_item_ty_param_bounds,
                       |_p| { n += 1u; true } );
     n
 }
 
-fn enum_variant_ids(item: ebml2::Doc, cdata: cmd) -> ~[ast::def_id] {
+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;
-    for ebml2::tagged_docs(item, v) |p| {
-        let ext = ebml2::with_doc_data(p, |d| parse_def_id(d));
+    for ebml::tagged_docs(item, v) |p| {
+        let ext = ebml::with_doc_data(p, |d| parse_def_id(d));
         ids.push({crate: cdata.cnum, node: ext.node});
     };
     return ids;
 }
 
-fn item_path(intr: @ident_interner, item_doc: ebml2::Doc) -> ast_map::path {
-    let path_doc = ebml2::get_doc(item_doc, tag_path);
+fn item_path(intr: @ident_interner, item_doc: ebml::Doc) -> ast_map::path {
+    let path_doc = ebml::get_doc(item_doc, tag_path);
 
-    let len_doc = ebml2::get_doc(path_doc, tag_path_len);
-    let len = ebml2::doc_as_u32(len_doc) as uint;
+    let len_doc = ebml::get_doc(path_doc, tag_path_len);
+    let len = ebml::doc_as_u32(len_doc) as uint;
 
     let mut result = vec::with_capacity(len);
-    for ebml2::docs(path_doc) |tag, elt_doc| {
+    for ebml::docs(path_doc) |tag, elt_doc| {
         if tag == tag_path_elt_mod {
-            let str = ebml2::doc_as_str(elt_doc);
+            let str = ebml::doc_as_str(elt_doc);
             result.push(ast_map::path_mod(intr.intern(@str)));
         } else if tag == tag_path_elt_name {
-            let str = ebml2::doc_as_str(elt_doc);
+            let str = ebml::doc_as_str(elt_doc);
             result.push(ast_map::path_name(intr.intern(@str)));
         } else {
             // ignore tag_path_len element
@@ -290,12 +291,12 @@ fn item_path(intr: @ident_interner, item_doc: ebml2::Doc) -> ast_map::path {
     return result;
 }
 
-fn item_name(intr: @ident_interner, item: ebml2::Doc) -> ast::ident {
-    let name = ebml2::get_doc(item, tag_paths_data_name);
-    intr.intern(@str::from_bytes(ebml2::doc_data(name)))
+fn item_name(intr: @ident_interner, item: ebml::Doc) -> ast::ident {
+    let name = ebml::get_doc(item, tag_paths_data_name);
+    intr.intern(@str::from_bytes(ebml::doc_data(name)))
 }
 
-fn item_to_def_like(item: ebml2::Doc, did: ast::def_id, cnum: ast::crate_num)
+fn item_to_def_like(item: ebml::Doc, did: ast::def_id, cnum: ast::crate_num)
         -> def_like {
     let fam = item_family(item);
     match fam {
@@ -367,10 +368,10 @@ fn get_impl_traits(cdata: cmd, id: ast::node_id, tcx: ty::ctxt) -> ~[ty::t] {
 
 fn get_impl_method(intr: @ident_interner, cdata: cmd, id: ast::node_id,
                    name: ast::ident) -> ast::def_id {
-    let items = ebml2::get_doc(ebml2::Doc(cdata.data), tag_items);
+    let items = ebml::get_doc(ebml::Doc(cdata.data), tag_items);
     let mut found = None;
-    for ebml2::tagged_docs(find_item(id, items), tag_item_impl_method) |mid| {
-        let m_did = ebml2::with_doc_data(mid, |d| parse_def_id(d));
+    for ebml::tagged_docs(find_item(id, items), tag_item_impl_method) |mid| {
+        let m_did = ebml::with_doc_data(mid, |d| parse_def_id(d));
         if item_name(intr, find_item(m_did.node, items)) == name {
             found = Some(translate_def_id(cdata, m_did));
         }
@@ -380,14 +381,14 @@ fn get_impl_method(intr: @ident_interner, cdata: cmd, id: ast::node_id,
 
 fn get_class_method(intr: @ident_interner, cdata: cmd, id: ast::node_id,
                     name: ast::ident) -> ast::def_id {
-    let items = ebml2::get_doc(ebml2::Doc(cdata.data), tag_items);
+    let items = ebml::get_doc(ebml::Doc(cdata.data), tag_items);
     let mut found = None;
     let cls_items = match maybe_find_item(id, items) {
       Some(it) => it,
       None => fail (fmt!("get_class_method: class id not found \
                               when looking up method %s", *intr.get(name)))
     };
-    for ebml2::tagged_docs(cls_items, tag_item_trait_method) |mid| {
+    for ebml::tagged_docs(cls_items, tag_item_trait_method) |mid| {
         let m_did = item_def_id(mid, cdata);
         if item_name(intr, mid) == name {
             found = Some(m_did);
@@ -401,16 +402,16 @@ fn get_class_method(intr: @ident_interner, cdata: cmd, id: ast::node_id,
 }
 
 fn class_dtor(cdata: cmd, id: ast::node_id) -> Option<ast::def_id> {
-    let items = ebml2::get_doc(ebml2::Doc(cdata.data), tag_items);
+    let items = ebml::get_doc(ebml::Doc(cdata.data), tag_items);
     let mut found = None;
     let cls_items = match maybe_find_item(id, items) {
             Some(it) => it,
             None     => fail (fmt!("class_dtor: class id not found \
               when looking up dtor for %d", id))
     };
-    for ebml2::tagged_docs(cls_items, tag_item_dtor) |doc| {
-         let doc1 = ebml2::get_doc(doc, tag_def_id);
-         let did = ebml2::with_doc_data(doc1, |d| parse_def_id(d));
+    for ebml::tagged_docs(cls_items, tag_item_dtor) |doc| {
+         let doc1 = ebml::get_doc(doc, tag_def_id);
+         let did = ebml::with_doc_data(doc1, |d| parse_def_id(d));
          found = Some(translate_def_id(cdata, did));
     };
     found
@@ -452,14 +453,14 @@ fn path_entry(path_string: ~str, def_like: def_like) -> path_entry {
 
 /// Iterates over all the paths in the given crate.
 fn each_path(intr: @ident_interner, cdata: cmd, f: fn(path_entry) -> bool) {
-    let root = ebml2::Doc(cdata.data);
-    let items = ebml2::get_doc(root, tag_items);
-    let items_data = ebml2::get_doc(items, tag_items_data);
+    let root = ebml::Doc(cdata.data);
+    let items = ebml::get_doc(root, tag_items);
+    let items_data = ebml::get_doc(items, tag_items_data);
 
     let mut broken = false;
 
     // First, go through all the explicit items.
-    for ebml2::tagged_docs(items_data, tag_items_data_item) |item_doc| {
+    for ebml::tagged_docs(items_data, tag_items_data_item) |item_doc| {
         if !broken {
             let path = ast_map::path_to_str_with_sep(
                 item_path(intr, item_doc), ~"::", intr);
@@ -482,16 +483,16 @@ fn each_path(intr: @ident_interner, cdata: cmd, f: fn(path_entry) -> bool) {
             for each_reexport(item_doc) |reexport_doc| {
                 if !broken {
                     let def_id_doc =
-                        ebml2::get_doc(reexport_doc,
+                        ebml::get_doc(reexport_doc,
                             tag_items_data_item_reexport_def_id);
                     let def_id =
-                        ebml2::with_doc_data(def_id_doc, |d| parse_def_id(d));
+                        ebml::with_doc_data(def_id_doc, |d| parse_def_id(d));
                     let def_id = translate_def_id(cdata, def_id);
 
                     let reexport_name_doc =
-                        ebml2::get_doc(reexport_doc,
+                        ebml::get_doc(reexport_doc,
                                       tag_items_data_item_reexport_name);
-                    let reexport_name = ebml2::doc_as_str(reexport_name_doc);
+                    let reexport_name = ebml::doc_as_str(reexport_name_doc);
 
                     let reexport_path;
                     if path == ~"" {
@@ -540,7 +541,7 @@ type decode_inlined_item = fn(
     cdata: cstore::crate_metadata,
     tcx: ty::ctxt,
     path: ast_map::path,
-    par_doc: ebml2::Doc) -> Option<ast::inlined_item>;
+    par_doc: ebml::Doc) -> Option<ast::inlined_item>;
 
 fn maybe_get_item_ast(intr: @ident_interner, cdata: cmd, tcx: ty::ctxt,
                       id: ast::node_id,
@@ -571,7 +572,7 @@ fn maybe_get_item_ast(intr: @ident_interner, cdata: cmd, tcx: ty::ctxt,
 fn get_enum_variants(intr: @ident_interner, cdata: cmd, id: ast::node_id,
                      tcx: ty::ctxt) -> ~[ty::variant_info] {
     let data = cdata.data;
-    let items = ebml2::get_doc(ebml2::Doc(data), tag_items);
+    let items = ebml::get_doc(ebml::Doc(data), tag_items);
     let item = find_item(id, items);
     let mut infos: ~[ty::variant_info] = ~[];
     let variant_ids = enum_variant_ids(item, cdata);
@@ -609,7 +610,7 @@ type method_info = {
 
 type _impl = {did: ast::def_id, ident: ast::ident, methods: ~[@method_info]};
 
-fn get_self_ty(item: ebml2::Doc) -> ast::self_ty_ {
+fn get_self_ty(item: ebml::Doc) -> ast::self_ty_ {
     fn get_mutability(ch: u8) -> ast::mutability {
         match ch as char {
             'i' => { ast::m_imm }
@@ -621,8 +622,8 @@ fn get_self_ty(item: ebml2::Doc) -> ast::self_ty_ {
         }
     }
 
-    let self_type_doc = ebml2::get_doc(item, tag_item_trait_method_self_ty);
-    let string = ebml2::doc_as_str(self_type_doc);
+    let self_type_doc = ebml::get_doc(item, tag_item_trait_method_self_ty);
+    let string = ebml::doc_as_str(self_type_doc);
 
     let self_ty_kind = string[0];
     match self_ty_kind as char {
@@ -638,11 +639,11 @@ fn get_self_ty(item: ebml2::Doc) -> ast::self_ty_ {
     }
 }
 
-fn item_impl_methods(intr: @ident_interner, cdata: cmd, item: ebml2::Doc,
+fn item_impl_methods(intr: @ident_interner, cdata: cmd, item: ebml::Doc,
                      base_tps: uint) -> ~[@method_info] {
     let mut rslt = ~[];
-    for ebml2::tagged_docs(item, tag_item_impl_method) |doc| {
-        let m_did = ebml2::with_doc_data(doc, |d| parse_def_id(d));
+    for ebml::tagged_docs(item, tag_item_impl_method) |doc| {
+        let m_did = ebml::with_doc_data(doc, |d| parse_def_id(d));
         let mth_item = lookup_item(m_did.node, cdata.data);
         let self_ty = get_self_ty(mth_item);
         rslt.push(@{did: translate_def_id(cdata, m_did),
@@ -662,8 +663,8 @@ fn get_impls_for_mod(intr: @ident_interner, cdata: cmd,
     let data = cdata.data;
     let mod_item = lookup_item(m_id, data);
     let mut result = ~[];
-    for ebml2::tagged_docs(mod_item, tag_mod_impl) |doc| {
-        let did = ebml2::with_doc_data(doc, |d| parse_def_id(d));
+    for ebml::tagged_docs(mod_item, tag_mod_impl) |doc| {
+        let did = ebml::with_doc_data(doc, |d| parse_def_id(d));
         let local_did = translate_def_id(cdata, did);
         debug!("(get impls for mod) getting did %? for '%?'",
                local_did, name);
@@ -690,7 +691,7 @@ fn get_trait_methods(intr: @ident_interner, cdata: cmd, id: ast::node_id,
     let data = cdata.data;
     let item = lookup_item(id, data);
     let mut result = ~[];
-    for ebml2::tagged_docs(item, tag_item_trait_method) |mth| {
+    for ebml::tagged_docs(item, tag_item_trait_method) |mth| {
         let bounds = item_ty_param_bounds(mth, tcx, cdata);
         let name = item_name(intr, mth);
         let ty = doc_type(mth, tcx, cdata);
@@ -722,7 +723,7 @@ fn get_method_names_if_trait(intr: @ident_interner, cdata: cmd,
     }
 
     let resulting_methods = @DVec();
-    for ebml2::tagged_docs(item, tag_item_trait_method) |method| {
+    for ebml::tagged_docs(item, tag_item_trait_method) |method| {
         resulting_methods.push(
             (item_name(intr, method), get_self_ty(method)));
     }
@@ -734,8 +735,8 @@ fn get_item_attrs(cdata: cmd,
                   f: fn(~[@ast::meta_item])) {
 
     let item = lookup_item(node_id, cdata.data);
-    for ebml2::tagged_docs(item, tag_attributes) |attributes| {
-        for ebml2::tagged_docs(attributes, tag_attribute) |attribute| {
+    for ebml::tagged_docs(item, tag_attributes) |attributes| {
+        for ebml::tagged_docs(attributes, tag_attribute) |attribute| {
             f(get_meta_items(attribute));
         }
     }
@@ -747,7 +748,7 @@ fn get_class_members(intr: @ident_interner, cdata: cmd, id: ast::node_id,
     let data = cdata.data;
     let item = lookup_item(id, data);
     let mut result = ~[];
-    for ebml2::tagged_docs(item, tag_item_field) |an_item| {
+    for ebml::tagged_docs(item, tag_item_field) |an_item| {
        let f = item_family(an_item);
        if p(f) {
           let name = item_name(intr, an_item);
@@ -787,15 +788,15 @@ fn family_names_type(fam: Family) -> bool {
     match fam { Type | Mod | Trait => true, _ => false }
 }
 
-fn read_path(d: ebml2::Doc) -> {path: ~str, pos: uint} {
-    let desc = ebml2::doc_data(d);
+fn read_path(d: ebml::Doc) -> {path: ~str, pos: uint} {
+    let desc = ebml::doc_data(d);
     let pos = io::u64_from_be_bytes(desc, 0u, 4u) as uint;
     let pathbytes = vec::slice::<u8>(desc, 4u, vec::len::<u8>(desc));
     let path = str::from_bytes(pathbytes);
     return {path: path, pos: pos};
 }
 
-fn describe_def(items: ebml2::Doc, id: ast::def_id) -> ~str {
+fn describe_def(items: ebml::Doc, id: ast::def_id) -> ~str {
     if id.crate != ast::local_crate { return ~"external"; }
     let it = match maybe_find_item(id.node, items) {
         Some(it) => it,
@@ -830,36 +831,36 @@ fn item_family_to_str(fam: Family) -> ~str {
     }
 }
 
-fn get_meta_items(md: ebml2::Doc) -> ~[@ast::meta_item] {
+fn get_meta_items(md: ebml::Doc) -> ~[@ast::meta_item] {
     let mut items: ~[@ast::meta_item] = ~[];
-    for ebml2::tagged_docs(md, tag_meta_item_word) |meta_item_doc| {
-        let nd = ebml2::get_doc(meta_item_doc, tag_meta_item_name);
-        let n = str::from_bytes(ebml2::doc_data(nd));
+    for 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));
         items.push(attr::mk_word_item(n));
     };
-    for ebml2::tagged_docs(md, tag_meta_item_name_value) |meta_item_doc| {
-        let nd = ebml2::get_doc(meta_item_doc, tag_meta_item_name);
-        let vd = ebml2::get_doc(meta_item_doc, tag_meta_item_value);
-        let n = str::from_bytes(ebml2::doc_data(nd));
-        let v = str::from_bytes(ebml2::doc_data(vd));
+    for 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));
+        let v = str::from_bytes(ebml::doc_data(vd));
         // FIXME (#623): Should be able to decode meta_name_value variants,
         // but currently the encoder just drops them
         items.push(attr::mk_name_value_item_str(n, v));
     };
-    for ebml2::tagged_docs(md, tag_meta_item_list) |meta_item_doc| {
-        let nd = ebml2::get_doc(meta_item_doc, tag_meta_item_name);
-        let n = str::from_bytes(ebml2::doc_data(nd));
+    for 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);
         items.push(attr::mk_list_item(n, subitems));
     };
     return items;
 }
 
-fn get_attributes(md: ebml2::Doc) -> ~[ast::attribute] {
+fn get_attributes(md: ebml::Doc) -> ~[ast::attribute] {
     let mut attrs: ~[ast::attribute] = ~[];
-    match ebml2::maybe_get_doc(md, tag_attributes) {
+    match ebml::maybe_get_doc(md, tag_attributes) {
       option::Some(attrs_d) => {
-        for ebml2::tagged_docs(attrs_d, tag_attribute) |attr_doc| {
+        for 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
@@ -877,13 +878,13 @@ fn get_attributes(md: ebml2::Doc) -> ~[ast::attribute] {
 }
 
 fn list_meta_items(intr: @ident_interner,
-                   meta_items: ebml2::Doc, out: io::Writer) {
+                   meta_items: ebml::Doc, out: io::Writer) {
     for get_meta_items(meta_items).each |mi| {
         out.write_str(fmt!("%s\n", pprust::meta_item_to_str(*mi, intr)));
     }
 }
 
-fn list_crate_attributes(intr: @ident_interner, md: ebml2::Doc, hash: ~str,
+fn list_crate_attributes(intr: @ident_interner, md: ebml::Doc, hash: ~str,
                          out: io::Writer) {
     out.write_str(fmt!("=Crate Attributes (%s)=\n", hash));
 
@@ -895,7 +896,7 @@ fn list_crate_attributes(intr: @ident_interner, md: ebml2::Doc, hash: ~str,
 }
 
 fn get_crate_attributes(data: @~[u8]) -> ~[ast::attribute] {
-    return get_attributes(ebml2::Doc(data));
+    return get_attributes(ebml::Doc(data));
 }
 
 type crate_dep = {cnum: ast::crate_num, name: ast::ident,
@@ -903,13 +904,13 @@ type crate_dep = {cnum: ast::crate_num, name: ast::ident,
 
 fn get_crate_deps(intr: @ident_interner, data: @~[u8]) -> ~[crate_dep] {
     let mut deps: ~[crate_dep] = ~[];
-    let cratedoc = ebml2::Doc(data);
-    let depsdoc = ebml2::get_doc(cratedoc, tag_crate_deps);
+    let cratedoc = ebml::Doc(data);
+    let depsdoc = ebml::get_doc(cratedoc, tag_crate_deps);
     let mut crate_num = 1;
-    fn docstr(doc: ebml2::Doc, tag_: uint) -> ~str {
-        str::from_bytes(ebml2::doc_data(ebml2::get_doc(doc, tag_)))
+    fn docstr(doc: ebml::Doc, tag_: uint) -> ~str {
+        str::from_bytes(ebml::doc_data(ebml::get_doc(doc, tag_)))
     }
-    for ebml2::tagged_docs(depsdoc, tag_crate_dep) |depdoc| {
+    for ebml::tagged_docs(depsdoc, tag_crate_dep) |depdoc| {
         deps.push({cnum: crate_num,
                   name: intr.intern(@docstr(depdoc, tag_crate_dep_name)),
                   vers: docstr(depdoc, tag_crate_dep_vers),
@@ -932,9 +933,9 @@ fn list_crate_deps(intr: @ident_interner, data: @~[u8], out: io::Writer) {
 }
 
 fn get_crate_hash(data: @~[u8]) -> ~str {
-    let cratedoc = ebml2::Doc(data);
-    let hashdoc = ebml2::get_doc(cratedoc, tag_crate_hash);
-    return str::from_bytes(ebml2::doc_data(hashdoc));
+    let cratedoc = ebml::Doc(data);
+    let hashdoc = ebml::get_doc(cratedoc, tag_crate_hash);
+    return str::from_bytes(ebml::doc_data(hashdoc));
 }
 
 fn get_crate_vers(data: @~[u8]) -> ~str {
@@ -988,7 +989,7 @@ fn get_crate_module_paths(intr: @ident_interner, cdata: cmd)
 fn list_crate_metadata(intr: @ident_interner, bytes: @~[u8],
                        out: io::Writer) {
     let hash = get_crate_hash(bytes);
-    let md = ebml2::Doc(bytes);
+    let md = ebml::Doc(bytes);
     list_crate_attributes(intr, md, hash, out);
     list_crate_deps(intr, bytes, out);
 }