Skip to content

Commit 4dd4d7e

Browse files
committed
---
yaml --- r: 63104 b: refs/heads/snap-stage3 c: 43cae88 h: refs/heads/master v: v3
1 parent cd6fe44 commit 4dd4d7e

File tree

7 files changed

+154
-160
lines changed

7 files changed

+154
-160
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 2d28d645422c1617be58c8ca7ad9a457264ca850
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 29e5aa09427ce9f0c17e367f680d671268009ede
4+
refs/heads/snap-stage3: 43cae880790b532e5b3e2fb99c64a4ec78030652
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/src/librustc/metadata/decoder.rs

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ fn item_symbol(item: ebml::Doc) -> ~str {
174174

175175
fn item_parent_item(d: ebml::Doc) -> Option<ast::def_id> {
176176
for reader::tagged_docs(d, tag_items_data_parent_item) |did| {
177-
return Some(reader::with_doc_data(did, parse_def_id));
177+
return Some(reader::with_doc_data(did, |d| parse_def_id(d)));
178178
}
179179
None
180180
}
@@ -195,7 +195,8 @@ fn item_reqd_and_translated_parent_item(cnum: ast::crate_num,
195195

196196
fn item_def_id(d: ebml::Doc, cdata: cmd) -> ast::def_id {
197197
let tagdoc = reader::get_doc(d, tag_def_id);
198-
return translate_def_id(cdata, reader::with_doc_data(tagdoc, parse_def_id));
198+
return translate_def_id(cdata, reader::with_doc_data(tagdoc,
199+
|d| parse_def_id(d)));
199200
}
200201

201202
fn each_reexport(d: ebml::Doc, f: &fn(ebml::Doc) -> bool) -> bool {
@@ -215,13 +216,13 @@ fn variant_disr_val(d: ebml::Doc) -> Option<int> {
215216

216217
fn doc_type(doc: ebml::Doc, tcx: ty::ctxt, cdata: cmd) -> ty::t {
217218
let tp = reader::get_doc(doc, tag_items_data_item_type);
218-
parse_ty_data(*tp.data, cdata.cnum, tp.start, tcx,
219+
parse_ty_data(tp.data, cdata.cnum, tp.start, tcx,
219220
|_, did| translate_def_id(cdata, did))
220221
}
221222

222223
fn doc_method_fty(doc: ebml::Doc, tcx: ty::ctxt, cdata: cmd) -> ty::BareFnTy {
223224
let tp = reader::get_doc(doc, tag_item_method_fty);
224-
parse_bare_fn_ty_data(*tp.data, cdata.cnum, tp.start, tcx,
225+
parse_bare_fn_ty_data(tp.data, cdata.cnum, tp.start, tcx,
225226
|_, did| translate_def_id(cdata, did))
226227
}
227228

@@ -230,7 +231,7 @@ fn doc_transformed_self_ty(doc: ebml::Doc,
230231
cdata: cmd) -> Option<ty::t>
231232
{
232233
do reader::maybe_get_doc(doc, tag_item_method_transformed_self_ty).map |tp| {
233-
parse_ty_data(*tp.data, cdata.cnum, tp.start, tcx,
234+
parse_ty_data(tp.data, cdata.cnum, tp.start, tcx,
234235
|_, did| translate_def_id(cdata, did))
235236
}
236237
}
@@ -241,7 +242,7 @@ pub fn item_type(_item_id: ast::def_id, item: ebml::Doc,
241242
}
242243

243244
fn doc_trait_ref(doc: ebml::Doc, tcx: ty::ctxt, cdata: cmd) -> ty::TraitRef {
244-
parse_trait_ref_data(*doc.data, cdata.cnum, doc.start, tcx,
245+
parse_trait_ref_data(doc.data, cdata.cnum, doc.start, tcx,
245246
|_, did| translate_def_id(cdata, did))
246247
}
247248

@@ -256,7 +257,7 @@ fn item_ty_param_defs(item: ebml::Doc, tcx: ty::ctxt, cdata: cmd,
256257
let mut bounds = ~[];
257258
for reader::tagged_docs(item, tag) |p| {
258259
let bd = parse_type_param_def_data(
259-
*p.data, p.start, cdata.cnum, tcx,
260+
p.data, p.start, cdata.cnum, tcx,
260261
|_, did| translate_def_id(cdata, did));
261262
bounds.push(bd);
262263
}
@@ -281,7 +282,7 @@ fn enum_variant_ids(item: ebml::Doc, cdata: cmd) -> ~[ast::def_id] {
281282
let mut ids: ~[ast::def_id] = ~[];
282283
let v = tag_items_data_item_variant;
283284
for reader::tagged_docs(item, v) |p| {
284-
let ext = reader::with_doc_data(p, parse_def_id);
285+
let ext = reader::with_doc_data(p, |d| parse_def_id(d));
285286
ids.push(ast::def_id { crate: cdata.cnum, node: ext.node });
286287
};
287288
return ids;
@@ -412,9 +413,15 @@ pub fn get_impl_trait(cdata: cmd,
412413
tcx: ty::ctxt) -> Option<@ty::TraitRef>
413414
{
414415
let item_doc = lookup_item(id, cdata.data);
415-
do reader::maybe_get_doc(item_doc, tag_item_trait_ref).map |&tp| {
416-
@doc_trait_ref(tp, tcx, cdata)
417-
}
416+
let mut result = None;
417+
for reader::tagged_docs(item_doc, tag_item_trait_ref) |tp| {
418+
let trait_ref =
419+
@parse_trait_ref_data(tp.data, cdata.cnum, tp.start, tcx,
420+
|_, did| translate_def_id(cdata, did));
421+
result = Some(trait_ref);
422+
break;
423+
};
424+
result
418425
}
419426

420427
pub fn get_impl_method(intr: @ident_interner, cdata: cmd, id: ast::node_id,
@@ -423,7 +430,7 @@ pub fn get_impl_method(intr: @ident_interner, cdata: cmd, id: ast::node_id,
423430
let mut found = None;
424431
for reader::tagged_docs(find_item(id, items), tag_item_impl_method)
425432
|mid| {
426-
let m_did = reader::with_doc_data(mid, parse_def_id);
433+
let m_did = reader::with_doc_data(mid, |d| parse_def_id(d));
427434
if item_name(intr, find_item(m_did.node, items)) == name {
428435
found = Some(translate_def_id(cdata, m_did));
429436
}
@@ -661,7 +668,7 @@ fn item_impl_methods(intr: @ident_interner, cdata: cmd, item: ebml::Doc,
661668
base_tps: uint) -> ~[@resolve::MethodInfo] {
662669
let mut rslt = ~[];
663670
for reader::tagged_docs(item, tag_item_impl_method) |doc| {
664-
let m_did = reader::with_doc_data(doc, parse_def_id);
671+
let m_did = reader::with_doc_data(doc, |d| parse_def_id(d));
665672
let mth_item = lookup_item(m_did.node, cdata.data);
666673
let explicit_self = get_explicit_self(mth_item);
667674
rslt.push(@resolve::MethodInfo {
@@ -683,7 +690,7 @@ pub fn get_impls_for_mod(intr: @ident_interner,
683690
let mod_item = lookup_item(m_id, data);
684691
let mut result = ~[];
685692
for reader::tagged_docs(mod_item, tag_mod_impl) |doc| {
686-
let did = reader::with_doc_data(doc, parse_def_id);
693+
let did = reader::with_doc_data(doc, |d| parse_def_id(d));
687694
let local_did = translate_def_id(cdata, did);
688695
debug!("(get impls for mod) getting did %? for '%?'",
689696
local_did, name);

0 commit comments

Comments
 (0)