diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-09-16 10:50:31 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-09-16 10:50:31 +0900 |
| commit | 30f37872486915174f23083fc70d2699084918e1 (patch) | |
| tree | a6cde8f8db8ece53c9136b7976afc69625022bbf /include | |
| parent | 2764fdf9f098378b6d378b823b5d9ab745543277 (diff) | |
| download | mruby-30f37872486915174f23083fc70d2699084918e1.tar.gz mruby-30f37872486915174f23083fc70d2699084918e1.zip | |
Raise `ArgumentError` by `aspec` check; ref #4688
This is partial `aspec` check that only checks `MRB_ARGS_NONE()`.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/proc.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/mruby/proc.h b/include/mruby/proc.h index e58684fa1..f7f4d336a 100644 --- a/include/mruby/proc.h +++ b/include/mruby/proc.h @@ -98,9 +98,12 @@ MRB_API mrb_value mrb_proc_cfunc_env_get(mrb_state *mrb, mrb_int idx); #define mrb_cfunc_env_get(mrb, idx) mrb_proc_cfunc_env_get(mrb, idx) #define MRB_METHOD_FUNC_FL 1 +#define MRB_METHOD_NOARG_FL 2 #ifdef MRB_METHOD_TABLE_INLINE #define MRB_METHOD_FUNC_P(m) (((uintptr_t)(m))&MRB_METHOD_FUNC_FL) +#define MRB_METHOD_NOARG_P(m) (((uintptr_t)(m))&MRB_METHOD_NOARG_FL) +#define MRB_METHOD_NOARG_SET(m) ((m)=(mrb_method_t)(((uintptr_t)(m))|MRB_METHOD_NOARG_FL)) #define MRB_METHOD_FUNC(m) ((mrb_func_t)((uintptr_t)(m)>>2)) #define MRB_METHOD_FROM_FUNC(m,fn) ((m)=(mrb_method_t)((((uintptr_t)(fn))<<2)|MRB_METHOD_FUNC_FL)) #define MRB_METHOD_FROM_PROC(m,pr) ((m)=(mrb_method_t)(pr)) @@ -111,7 +114,9 @@ MRB_API mrb_value mrb_proc_cfunc_env_get(mrb_state *mrb, mrb_int idx); #else #define MRB_METHOD_FUNC_P(m) ((m).flags&MRB_METHOD_FUNC_FL) +#define MRB_METHOD_NOARG_P(m) ((m).flags&MRB_METHOD_NOARG_FL) #define MRB_METHOD_FUNC(m) ((m).func) +#define MRB_METHOD_NOARG_SET(m) do{(m).flags|=MRB_METHOD_NOARG_FL;}while(0) #define MRB_METHOD_FROM_FUNC(m,fn) do{(m).flags=MRB_METHOD_FUNC_FL;(m).func=(fn);}while(0) #define MRB_METHOD_FROM_PROC(m,pr) do{(m).flags=0;(m).proc=(pr);}while(0) #define MRB_METHOD_PROC_P(m) (!MRB_METHOD_FUNC_P(m)) |
