Mercurial > repos > tabletprog
diff runtime/object.c @ 35:bf5e88f6419d
Use a function/method call strategy that actually works
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 09 Jul 2012 21:32:28 -0700 |
parents | a10f1b049193 |
children | 2a9c6eed0c70 |
line wrap: on
line diff
--- a/runtime/object.c Mon Jul 09 08:57:50 2012 -0700 +++ b/runtime/object.c Mon Jul 09 21:32:28 2012 -0700 @@ -30,3 +30,12 @@ ret->func = func; return (object *) ret; } + +object * mcall(uint32_t method_id, uint32_t num_args, object * self, ...) +{ + va_list args; + va_start(args, self); + object * ret = self->meta->meth_lookup[method_id & 0xF](method_id, num_args, self, args); + va_end(args); + return ret; +}