Handle class destructors correctly in metadata

This allows destructors to be inlined, which is necessary since
classes can have both ty params and destructors.
This commit is contained in:
Tim Chevalier
2012-06-12 16:25:09 -07:00
parent e9fc19c3c2
commit aa9d2d88d3
8 changed files with 91 additions and 26 deletions

View File

@@ -320,6 +320,7 @@ impl inlined_item_methods for inlined_item {
ii_native(i) { /* FIXME: bad */ copy i.ident }
ii_method(_, m) { /* FIXME: bad */ copy m.ident }
ii_ctor(_, nm, _, _) { /* FIXME: bad */ copy nm }
ii_dtor(_, nm, _, _) { /* FIXME: bad */ copy nm }
}
}
@@ -329,6 +330,7 @@ impl inlined_item_methods for inlined_item {
ii_native(i) { i.id }
ii_method(_, m) { m.id }
ii_ctor(ctor, _, _, _) { ctor.node.id }
ii_dtor(dtor, _, _, _) { dtor.node.id }
}
}
@@ -340,6 +342,9 @@ impl inlined_item_methods for inlined_item {
ii_ctor(ctor, nm, tps, parent_id) {
visit::visit_class_ctor_helper(ctor, nm, tps, parent_id, e, v);
}
ii_dtor(dtor, nm, tps, parent_id) {
visit::visit_class_dtor_helper(dtor, tps, parent_id, e, v);
}
}
}
}