diff options
author | Mike Pall <mike> | 2012-06-20 18:24:49 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-06-20 18:28:25 +0200 |
commit | 8b71ab108053c12bc2de9c1de0f786387a2b75e5 (patch) | |
tree | 98be8d9138d3cb13dac67f5f7621b0bf09bb0fc7 /src/lj_obj.h | |
parent | e9e45313e737579bc6db4f74942bcd66e95532c1 (diff) | |
download | luajit2-8b71ab108053c12bc2de9c1de0f786387a2b75e5.tar.gz |
FFI: Check for __new metamethod when calling a constructor.
Diffstat (limited to 'src/lj_obj.h')
-rw-r--r-- | src/lj_obj.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lj_obj.h b/src/lj_obj.h index 43ed9204..d7e8ec09 100644 --- a/src/lj_obj.h +++ b/src/lj_obj.h @@ -437,6 +437,12 @@ enum { #define setvmstate(g, st) ((g)->vmstate = ~LJ_VMST_##st) /* Metamethods. ORDER MM */ +#ifdef LJ_HASFFI +#define MMDEF_FFI(_) _(new) +#else +#define MMDEF_FFI(_) +#endif + #ifdef LUAJIT_ENABLE_LUA52COMPAT #define MMDEF_52(_) _(pairs) _(ipairs) #else @@ -450,7 +456,7 @@ enum { /* The following must be in ORDER ARITH. */ \ _(add) _(sub) _(mul) _(div) _(mod) _(pow) _(unm) \ /* The following are used in the standard libraries. */ \ - _(metatable) _(tostring) MMDEF_52(_) + _(metatable) _(tostring) MMDEF_FFI(_) MMDEF_52(_) typedef enum { #define MMENUM(name) MM_##name, |