@@ -919,37 +919,18 @@ fn get_crate_vers(data: @~[u8]) -> @~str {
919
919
} ;
920
920
}
921
921
922
- fn list_crate_items( bytes : @~[ u8 ] , md : ebml:: doc , out : io:: Writer ) {
923
- out. write_str ( ~"=Items =\n ") ;
924
- let items = ebml:: get_doc ( md, tag_items) ;
925
- do iter_crate_items ( bytes) |tag, path, did| {
926
- // Don't print out any metadata info about intrinsics
927
- if tag != tag_paths_foreign_path {
928
- out. write_str ( fmt ! { "%s (%s)\n " , path,
929
- describe_def( items, did) } ) ;
930
- }
922
+ fn iter_crate_items ( cdata : cmd , proc : fn ( ~str , ast:: def_id ) ) {
923
+ for each_path( cdata) |path_entry| {
924
+ match path_entry. def_like {
925
+ dl_impl( * ) | dl_field => { }
926
+ dl_def( def) => {
927
+ proc ( path_entry. path_string , ast_util:: def_id_of_def ( def) )
928
+ }
929
+ }
931
930
}
932
- out. write_str ( ~"\n ") ;
933
- }
934
-
935
- fn iter_crate_items ( bytes : @~[ u8 ] , proc : fn ( uint , ~str , ast:: def_id ) ) {
936
- let md = ebml:: doc ( bytes) ;
937
- let paths = ebml:: get_doc ( md, tag_paths) ;
938
- let index = ebml:: get_doc ( paths, tag_index) ;
939
- let bs = ebml:: get_doc ( index, tag_index_buckets) ;
940
- for ebml:: tagged_docs( bs, tag_index_buckets_bucket) |bucket| {
941
- let et = tag_index_buckets_bucket_elt;
942
- for ebml:: tagged_docs( bucket, et) |elt| {
943
- let data = read_path ( elt) ;
944
- let { tag: t , doc : def } = ebml:: doc_at ( bytes, data. pos ) ;
945
- let did_doc = ebml:: get_doc ( def, tag_def_id) ;
946
- let did = ebml:: with_doc_data ( did_doc, |d| parse_def_id ( d) ) ;
947
- proc ( t, data. path , did) ;
948
- } ;
949
- } ;
950
931
}
951
932
952
- fn get_crate_module_paths( bytes : @~ [ u8 ] ) -> ~[ ( ast:: def_id , ~str ) ] {
933
+ fn get_crate_module_paths( cdata : cmd ) -> ~[ ( ast:: def_id , ~str ) ] {
953
934
fn mod_of_path ( p : ~str ) -> ~str {
954
935
str:: connect ( vec:: init ( str:: split_str ( p, ~":: ") ) , ~":: ")
955
936
}
@@ -958,7 +939,7 @@ fn get_crate_module_paths(bytes: @~[u8]) -> ~[(ast::def_id, ~str)] {
958
939
// fowarded path due to renamed import or reexport
959
940
let mut res = ~[ ] ;
960
941
let mods = map:: str_hash ( ) ;
961
- do iter_crate_items ( bytes ) |_tag , path, did| {
942
+ do iter_crate_items ( cdata ) |path, did| {
962
943
let m = mod_of_path ( path) ;
963
944
if str:: is_not_empty ( m) {
964
945
// if m has a sub-item, it must be a module
@@ -980,7 +961,6 @@ fn list_crate_metadata(bytes: @~[u8], out: io::Writer) {
980
961
let md = ebml:: doc ( bytes) ;
981
962
list_crate_attributes ( md, hash, out) ;
982
963
list_crate_deps ( bytes, out) ;
983
- list_crate_items ( bytes, md, out) ;
984
964
}
985
965
986
966
// Translates a def_id from an external crate to a def_id for the current
0 commit comments