Handle parameter list checking in closures.

This commit is contained in:
Bob Nystrom
2014-02-10 07:53:09 -08:00
parent ee04f1cf9c
commit 1b4582fec3

View File

@ -250,7 +250,16 @@ DEF_NATIVE(fiber_yield1)
static PrimitiveResult callFunction(WrenVM* vm, Value* args, int numArgs)
{
ObjFn* fn = AS_FN(args[0]);
ObjFn* fn;
if (IS_CLOSURE(args[0]))
{
fn = AS_CLOSURE(args[0])->fn;
}
else
{
fn = AS_FN(args[0]);
}
if (numArgs < fn->numParams) RETURN_ERROR("Function expects more arguments.");
return PRIM_CALL;