diff options
| author | Graydon Hoare <[email protected]> | 2010-12-16 18:34:04 -0800 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-12-16 18:34:04 -0800 |
| commit | a3f828f941439276092fe1c0d091de746d35d42e (patch) | |
| tree | 6b026fc59a64ac7b89d680d4fce2278f780eba58 /src/comp/middle | |
| parent | rustc: Translate parametric function signatures into task + type parameters +... (diff) | |
| download | rust-a3f828f941439276092fe1c0d091de746d35d42e.tar.xz rust-a3f828f941439276092fe1c0d091de746d35d42e.zip | |
Sketch trans_vtbl.
Diffstat (limited to 'src/comp/middle')
| -rw-r--r-- | src/comp/middle/trans.rs | 9 |
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) { |