diff options
Diffstat (limited to 'src/rustc/metadata')
| -rw-r--r-- | src/rustc/metadata/astencode.rs | 7 | ||||
| -rw-r--r-- | src/rustc/metadata/encoder.rs | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/rustc/metadata/astencode.rs b/src/rustc/metadata/astencode.rs index 080a5431faa..315836fc0c3 100644 --- a/src/rustc/metadata/astencode.rs +++ b/src/rustc/metadata/astencode.rs @@ -214,6 +214,13 @@ fn visit_ids(item: ast::inlined_item, vfn: fn@(ast::node_id)) { vfn(self_id); vfn(parent_id.node); } + // not sure if this should be here? FIXME + visit::fk_dtor(tps, self_id, parent_id) { + vec::iter(tps) {|tp| vfn(tp.id)} + vfn(id); + vfn(self_id); + vfn(parent_id.node); + } visit::fk_item_fn(_, tps) | visit::fk_res(_, tps, _) { vec::iter(tps) {|tp| vfn(tp.id)} diff --git a/src/rustc/metadata/encoder.rs b/src/rustc/metadata/encoder.rs index 7c261829084..3afa3776cca 100644 --- a/src/rustc/metadata/encoder.rs +++ b/src/rustc/metadata/encoder.rs @@ -187,7 +187,8 @@ fn encode_module_item_paths(ebml_w: ebml::writer, ecx: @encode_ctxt, encode_def_id(ebml_w, local_def(it.id)); ebml_w.end_tag(); } - item_class(_, _, items, ctor, _) { + // FIXME: I don't *think* dtor needs to be serialized? + item_class(_, _, items, ctor, _dtor, _) { add_to_index(ebml_w, path, index, it.ident); ebml_w.start_tag(tag_paths_data_item); encode_name(ebml_w, it.ident); @@ -621,7 +622,8 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::writer, item: @item, encode_enum_variant_info(ecx, ebml_w, item.id, variants, path, index, tps); } - item_class(tps, ifaces, items, ctor, rp) { + // FIXME: not sure if the dtor should be serialized + item_class(tps, ifaces, items, ctor, _dtor, rp) { /* First, encode the fields and methods These come first because we need to write them to make the index, and the index needs to be in the item for the @@ -801,7 +803,8 @@ fn encode_info_for_items(ecx: @encode_ctxt, ebml_w: ebml::writer, encode_info_for_item(ecx, ebml_w, i, index, *pt); /* encode ctor, then encode items */ alt i.node { - item_class(tps, _, _, ctor, _) { + // FIXME: not doing anything with dtor + item_class(tps, _, _, ctor, _, _) { /* this is assuming that ctors aren't inlined... probably shouldn't assume that */ #debug("encoding info for ctor %s %d", i.ident, |
