Use mrb_funcall_id() extensively.

Except for support files e.g. `mruby-test/driver.c`, which are not
target of symbol collection via `rake gensym`.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2020-05-27 23:24:31 +09:00
parent dcd3e5907c
commit 00f5ddc9ae
17 changed files with 37 additions and 37 deletions
+1 -1
View File
@@ -1090,7 +1090,7 @@ mrb_ary_splat(mrb_state *mrb, mrb_value v)
return mrb_ary_new_from_values(mrb, 1, &v);
}
ary = mrb_funcall(mrb, v, "to_a", 0);
ary = mrb_funcall_id(mrb, v, MRB_SYM(to_a), 0);
if (mrb_nil_p(ary)) {
return mrb_ary_new_from_values(mrb, 1, &v);
}
+1 -1
View File
@@ -114,7 +114,7 @@ exc_to_s(mrb_state *mrb, mrb_value exc)
static mrb_value
exc_message(mrb_state *mrb, mrb_value exc)
{
return mrb_funcall(mrb, exc, "to_s", 0);
return mrb_funcall_id(mrb, exc, MRB_SYM(to_s), 0);
}
/*
+4 -4
View File
@@ -72,7 +72,7 @@ ht_hash_func(mrb_state *mrb, htable *t, mrb_value key)
break;
default:
hv = mrb_funcall(mrb, key, "hash", 0);
hv = mrb_funcall_id(mrb, key, MRB_SYM(hash), 0);
h = (size_t)tt ^ (size_t)mrb_fixnum(hv);
break;
}
@@ -856,7 +856,7 @@ hash_default(mrb_state *mrb, mrb_value hash, mrb_value key)
{
if (MRB_RHASH_DEFAULT_P(hash)) {
if (MRB_RHASH_PROCDEFAULT_P(hash)) {
return mrb_funcall(mrb, RHASH_PROCDEFAULT(hash), "call", 2, hash, key);
return mrb_funcall_id(mrb, RHASH_PROCDEFAULT(hash), MRB_SYM(call), 2, hash, key);
}
else {
return RHASH_IFNONE(hash);
@@ -897,7 +897,7 @@ mrb_hash_default(mrb_state *mrb, mrb_value hash)
if (MRB_RHASH_DEFAULT_P(hash)) {
if (MRB_RHASH_PROCDEFAULT_P(hash)) {
if (!given) return mrb_nil_value();
return mrb_funcall(mrb, RHASH_PROCDEFAULT(hash), "call", 2, hash, key);
return mrb_funcall_id(mrb, RHASH_PROCDEFAULT(hash), MRB_SYM(call), 2, hash, key);
}
else {
return RHASH_IFNONE(hash);
@@ -1083,7 +1083,7 @@ mrb_hash_shift(mrb_state *mrb, mrb_value hash)
if (MRB_RHASH_DEFAULT_P(hash)) {
if (MRB_RHASH_PROCDEFAULT_P(hash)) {
return mrb_funcall(mrb, RHASH_PROCDEFAULT(hash), "call", 2, hash, mrb_nil_value());
return mrb_funcall_id(mrb, RHASH_PROCDEFAULT(hash), MRB_SYM(call), 2, hash, mrb_nil_value());
}
else {
return RHASH_IFNONE(hash);
+4 -4
View File
@@ -310,7 +310,7 @@ init_copy(mrb_state *mrb, mrb_value dest, mrb_value obj)
default:
break;
}
mrb_funcall(mrb, dest, "initialize_copy", 1, obj);
mrb_funcall_id(mrb, dest, MRB_SYM(initialize_copy), 1, obj);
}
/* 15.3.1.3.8 */
@@ -411,8 +411,8 @@ mrb_obj_extend(mrb_state *mrb, mrb_int argc, mrb_value *argv, mrb_value obj)
mrb_check_type(mrb, argv[i], MRB_TT_MODULE);
}
while (argc--) {
mrb_funcall(mrb, argv[argc], "extend_object", 1, obj);
mrb_funcall(mrb, argv[argc], "extended", 1, obj);
mrb_funcall_id(mrb, argv[argc], MRB_SYM(extend_object), 1, obj);
mrb_funcall_id(mrb, argv[argc], MRB_SYM(extended), 1, obj);
}
return obj;
}
@@ -749,7 +749,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_intern_lit(mrb, "respond_to_missing?");
rtm_id = MRB_QSYM(respond_to_missing_p);
if (basic_obj_respond_to(mrb, self, rtm_id, !priv)) {
mrb_value args[2], v;
args[0] = mrb_symbol_value(id);
+1 -1
View File
@@ -1558,7 +1558,7 @@ mrb_cmp(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
return -2;
return mrb_str_cmp(mrb, obj1, obj2);
default:
v = mrb_funcall(mrb, obj1, "<=>", 1, obj2);
v = mrb_funcall_id(mrb, obj1, MRB_SYM(cmp), 1, obj2);
if (mrb_nil_p(v) || !mrb_fixnum_p(v))
return -2;
return mrb_fixnum(v);
+3 -3
View File
@@ -58,7 +58,7 @@ mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
return TRUE;
}
#endif
result = mrb_funcall(mrb, obj1, "==", 1, obj2);
result = mrb_funcall_id(mrb, obj1, MRB_QSYM(eq), 1, obj2);
if (mrb_test(result)) return TRUE;
return FALSE;
}
@@ -648,12 +648,12 @@ mrb_check_hash_type(mrb_state *mrb, mrb_value hash)
MRB_API mrb_value
mrb_inspect(mrb_state *mrb, mrb_value obj)
{
return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0));
return mrb_obj_as_string(mrb, mrb_funcall_id(mrb, obj, MRB_SYM(inspect), 0));
}
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(mrb, obj1, "eql?", 1, obj2));
return mrb_test(mrb_funcall_id(mrb, obj1, MRB_QSYM(eql_p), 1, obj2));
}