aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp/middle')
-rw-r--r--src/comp/middle/trans.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 8b094ffc..e8225677 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -2307,6 +2307,15 @@ impure fn trans_fn(@crate_ctxt cx, &ast._fn f, ast.def_id fid,
}
}
+impure fn trans_vtbl(@crate_ctxt cx, &ast._obj ob) -> ValueRef {
+ let vec[ValueRef] methods = vec();
+ for (@ast.method m in ob.methods) {
+ trans_fn(cx, m.node.meth, m.node.id, m.node.ann);
+ methods += cx.item_ids.get(m.node.id);
+ }
+ ret C_struct(methods);
+}
+
fn trans_obj(@crate_ctxt cx, &ast._obj ob, ast.def_id oid,
&ast.ann ann) {