diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-02-10 10:28:35 -0800 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-02-10 20:48:28 -0800 |
| commit | 0263039ca0350eb67ce11e985bd7e698de48ca0f (patch) | |
| tree | 97349888cf68f0d3b487ec15f50dcca558e96026 /src/comp/metadata/decoder.rs | |
| parent | fdddf8f9e1d6738d42989a6d8a735dd58127e199 (diff) | |
| download | rust-0263039ca0350eb67ce11e985bd7e698de48ca0f.tar.gz rust-0263039ca0350eb67ce11e985bd7e698de48ca0f.zip | |
use absolute names when pretty-printing types
Diffstat (limited to 'src/comp/metadata/decoder.rs')
| -rw-r--r-- | src/comp/metadata/decoder.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/comp/metadata/decoder.rs b/src/comp/metadata/decoder.rs index ccc0e3bfa2a..cd007e22fc4 100644 --- a/src/comp/metadata/decoder.rs +++ b/src/comp/metadata/decoder.rs @@ -112,10 +112,11 @@ fn doc_type(doc: ebml::doc, tcx: ty::ctxt, cdata: cmd) -> ty::t { }) } -fn item_type(item: ebml::doc, tcx: ty::ctxt, cdata: cmd) -> ty::t { +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)) { - ty::mk_named(tcx, t, item_name(item)) + ty::mk_with_id(tcx, t, item_id) } else { t } } @@ -240,7 +241,7 @@ fn lookup_def(cnum: ast::crate_num, data: @[u8], did_: ast::def_id) -> fn get_type(cdata: cmd, id: ast::node_id, tcx: ty::ctxt) -> ty::ty_param_bounds_and_ty { let item = lookup_item(id, cdata.data); - let t = item_type(item, tcx, cdata); + let t = item_type({crate: cdata.cnum, node: id}, item, tcx, cdata); let tp_bounds = if family_has_type_params(item_family(item)) { item_ty_param_bounds(item, tcx, cdata) } else { @[] }; @@ -274,7 +275,8 @@ fn get_enum_variants(cdata: cmd, id: ast::node_id, tcx: ty::ctxt) let disr_val = 0; for did: ast::def_id in variant_ids { let item = find_item(did.node, items); - let ctor_ty = item_type(item, tcx, cdata); + let ctor_ty = item_type({crate: cdata.cnum, node: id}, item, + tcx, cdata); let name = item_name(item); let arg_tys: [ty::t] = []; alt ty::get(ctor_ty).struct { |
