aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-12-16 18:34:04 -0800
committerGraydon Hoare <[email protected]>2010-12-16 18:34:04 -0800
commita3f828f941439276092fe1c0d091de746d35d42e (patch)
tree6b026fc59a64ac7b89d680d4fce2278f780eba58 /src/comp/middle
parentrustc: Translate parametric function signatures into task + type parameters +... (diff)
downloadrust-a3f828f941439276092fe1c0d091de746d35d42e.tar.xz
rust-a3f828f941439276092fe1c0d091de746d35d42e.zip
Sketch trans_vtbl.
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) {