summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2020-11-11 23:59:45 +0900
committerKOBAYASHI Shuji <[email protected]>2020-11-13 13:41:20 +0900
commit89f591485b91780c213f459f840111a99adca9d0 (patch)
treed32adaba112c1cda8eeb5d6c7293a7a3e906bc89 /src
parent6a5e97b448e82fe55348ab1a7e96b70b2c45f6c1 (diff)
downloadmruby-89f591485b91780c213f459f840111a99adca9d0.tar.gz
mruby-89f591485b91780c213f459f840111a99adca9d0.zip
Change name and usage of presym macros
To be also able to build mruby without presym in the future. However, `MRB_QSYM` has been removed and changed as follows: ### Example | Type | Symbol | Previous Style | New Style | |---------------------------|--------|------------------|----------------| | Operator | & | MRB_QSYM(and) | MRB_OPSYM(and) | | Class Variable | @@foo | MRB_QSYM(00_foo) | MRB_CVSYM(foo) | | Instance Variable | @foo | MRB_QSYM(0_foo) | MRB_IVSYM(foo) | | Method with Bang | foo! | MRB_QSYM(foo_b) | MRB_SYM_B(foo) | | Method with Question mark | foo? | MRB_QSYM(foo_p) | MRB_SYM_Q(foo) | | Mmethod with Equal | foo= | MRB_QSYM(foo_e) | MRB_SYM_E(foo) | This change makes it possible to define, for example, `MRB_IVSYM(foo)` as `mrb_intern_lit(mrb, "@" "foo")`, which is useful if we support building without presym in the future.
Diffstat (limited to 'src')
-rw-r--r--src/array.c2
-rw-r--r--src/kernel.c4
-rw-r--r--src/object.c4
-rw-r--r--src/proc.c2
-rw-r--r--src/symbol.c8
-rw-r--r--src/vm.c10
6 files changed, 13 insertions, 17 deletions
diff --git a/src/array.c b/src/array.c
index 8827cba9e..4125e876e 100644
--- a/src/array.c
+++ b/src/array.c
@@ -1314,7 +1314,7 @@ static const mrb_code each_iseq[] = {
static const mrb_sym each_syms[] = {
MRB_SYM(each),
MRB_SYM(to_enum),
- MRB_QSYM(aref),
+ MRB_OPSYM(aref),
MRB_SYM(call),
MRB_SYM(length),
};
diff --git a/src/kernel.c b/src/kernel.c
index e29c33874..b98e52c42 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -564,7 +564,7 @@ obj_respond_to(mrb_state *mrb, mrb_value self)
mrb_get_args(mrb, "n|b", &id, &priv);
respond_to_p = basic_obj_respond_to(mrb, self, id, !priv);
if (!respond_to_p) {
- rtm_id = MRB_QSYM(respond_to_missing_p);
+ rtm_id = MRB_SYM_Q(respond_to_missing);
if (basic_obj_respond_to(mrb, self, rtm_id, !priv)) {
mrb_value args[2], v;
args[0] = mrb_symbol_value(id);
@@ -581,7 +581,7 @@ mrb_obj_ceqq(mrb_state *mrb, mrb_value self)
{
mrb_value v = mrb_get_arg1(mrb);
mrb_int i, len;
- mrb_sym eqq = MRB_QSYM(eqq);
+ mrb_sym eqq = MRB_OPSYM(eqq);
mrb_value ary;
if (mrb_array_p(self)) {
diff --git a/src/object.c b/src/object.c
index aaab4022d..bf4d743ff 100644
--- a/src/object.c
+++ b/src/object.c
@@ -58,7 +58,7 @@ mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
return TRUE;
}
#endif
- result = mrb_funcall_id(mrb, obj1, MRB_QSYM(eq), 1, obj2);
+ result = mrb_funcall_id(mrb, obj1, MRB_OPSYM(eq), 1, obj2);
if (mrb_test(result)) return TRUE;
return FALSE;
}
@@ -660,5 +660,5 @@ MRB_API mrb_bool
mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
{
if (mrb_obj_eq(mrb, obj1, obj2)) return TRUE;
- return mrb_test(mrb_funcall_id(mrb, obj1, MRB_QSYM(eql_p), 1, obj2));
+ return mrb_test(mrb_funcall_id(mrb, obj1, MRB_SYM_Q(eql), 1, obj2));
}
diff --git a/src/proc.c b/src/proc.c
index 732e94817..d58d9d0df 100644
--- a/src/proc.c
+++ b/src/proc.c
@@ -315,7 +315,7 @@ mrb_init_proc(mrb_state *mrb)
p = mrb_proc_new(mrb, &call_irep);
MRB_METHOD_FROM_PROC(m, p);
mrb_define_method_raw(mrb, mrb->proc_class, MRB_SYM(call), m);
- mrb_define_method_raw(mrb, mrb->proc_class, MRB_QSYM(aref), m);
+ mrb_define_method_raw(mrb, mrb->proc_class, MRB_OPSYM(aref), m);
mrb_define_class_method(mrb, mrb->kernel_module, "lambda", proc_lambda, MRB_ARGS_NONE()|MRB_ARGS_BLOCK()); /* 15.3.1.2.6 */
mrb_define_method(mrb, mrb->kernel_module, "lambda", proc_lambda, MRB_ARGS_NONE()|MRB_ARGS_BLOCK()); /* 15.3.1.3.27 */
diff --git a/src/symbol.c b/src/symbol.c
index add093d14..7a352a477 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -13,12 +13,8 @@
#include <mruby/class.h>
#undef MRB_PRESYM_MAX
-#undef MRB_PRESYM_CSYM
-#undef MRB_PRESYM_QSYM
-#undef MRB_PRESYM_SYM
-#define MRB_PRESYM_CSYM(sym, num) {#sym,sizeof(#sym)-1},
-#define MRB_PRESYM_QSYM(str, name, num) {str,sizeof(str)-1},
-#define MRB_PRESYM_SYM(str, num) {str,sizeof(str)-1},
+#define MRB_PRESYM_NAMED(lit, num, type, name) {lit, sizeof(lit)-1},
+#define MRB_PRESYM_UNNAMED(lit, num) {lit, sizeof(lit)-1},
static const struct {
const char *name;
diff --git a/src/vm.c b/src/vm.c
index 537ef6913..7b37ac38f 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2261,7 +2261,7 @@ RETRY_TRY_BLOCK:
OP_MATH_CASE_STRING_##op_name(); \
default: \
c = 1; \
- mid = MRB_QSYM(op_name); \
+ mid = MRB_OPSYM(op_name); \
goto L_SEND_SYM; \
} \
NEXT;
@@ -2347,7 +2347,7 @@ RETRY_TRY_BLOCK:
#endif
default:
c = 1;
- mid = MRB_QSYM(div);
+ mid = MRB_OPSYM(div);
goto L_SEND_SYM;
}
@@ -2366,7 +2366,7 @@ RETRY_TRY_BLOCK:
default: \
SET_INT_VALUE(mrb,regs[a+1], b); \
c = 1; \
- mid = MRB_QSYM(op_name); \
+ mid = MRB_OPSYM(op_name); \
goto L_SEND_SYM; \
} \
NEXT;
@@ -2412,7 +2412,7 @@ RETRY_TRY_BLOCK:
break;\
default:\
c = 1;\
- mid = MRB_QSYM(sym);\
+ mid = MRB_OPSYM(sym);\
goto L_SEND_SYM;\
}\
if (result) {\
@@ -2441,7 +2441,7 @@ RETRY_TRY_BLOCK:
break;\
default:\
c = 1;\
- mid = MRB_QSYM(sym);\
+ mid = MRB_OPSYM(sym);\
goto L_SEND_SYM;\
}\
if (result) {\