class.c: first step to private methods; #1835

Now each method entry holds visibility information in flag bits.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2025-01-29 17:24:36 +09:00
parent 3a3e877ae5
commit fdf71d8f2d
3 changed files with 61 additions and 13 deletions
+5 -4
View File
@@ -109,10 +109,11 @@ MRB_API mrb_value mrb_proc_cfunc_env_get(mrb_state *mrb, mrb_int idx);
/* old name */
#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
#define MRB_METHOD_PRIVATE_FL 4
#define MRB_METHOD_PROTECTED_FL 8
#define MRB_METHOD_FUNC_FL 8
#define MRB_METHOD_NOARG_FL 4
#define MRB_METHOD_PUBLIC_FL 0
#define MRB_METHOD_PRIVATE_FL 1
#define MRB_METHOD_PROTECTED_FL 2
#define MRB_METHOD_FUNC_P(m) ((m).flags&MRB_METHOD_FUNC_FL)
#define MRB_METHOD_NOARG_P(m) (((m).flags&MRB_METHOD_NOARG_FL)?1:0)