class.c: auto-set MRB_MT_FUNC in MRB_MT_ENTRY macro

Since ROM table entries are always C functions, have the
MRB_MT_ENTRY() macro set MRB_MT_FUNC automatically. This
simplifies entry definitions across all 32 source files.

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Yukihiro "Matz" Matsumoto
2026-02-20 10:37:06 +09:00
parent 0fab703028
commit 8adba34bd9
34 changed files with 727 additions and 729 deletions
+54 -54
View File
@@ -2220,64 +2220,64 @@ str_prepend(mrb_state *mrb, mrb_value self)
/* ---------------------------*/
static const mrb_mt_entry string_ext_rom_entries[] = {
MRB_MT_ENTRY(mrb_str_dump, MRB_SYM(dump), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_swapcase_bang, MRB_SYM_B(swapcase), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(mrb_str_slice_bang, MRB_SYM_B(slice), MRB_MT_FUNC),
MRB_MT_ENTRY(str_swapcase, MRB_SYM(swapcase), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_clear, MRB_SYM(clear), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_concat_m, MRB_OPSYM(lshift), MRB_MT_FUNC),
MRB_MT_ENTRY(str_concat_m, MRB_SYM(concat), MRB_MT_FUNC),
MRB_MT_ENTRY(str_append_as_bytes, MRB_SYM(append_as_bytes), MRB_MT_FUNC),
MRB_MT_ENTRY(str_count, MRB_SYM(count), MRB_MT_FUNC),
MRB_MT_ENTRY(str_tr_m, MRB_SYM(tr), MRB_MT_FUNC),
MRB_MT_ENTRY(str_partition, MRB_SYM(partition), MRB_MT_FUNC),
MRB_MT_ENTRY(str_rpartition, MRB_SYM(rpartition), MRB_MT_FUNC),
MRB_MT_ENTRY(str_insert, MRB_SYM(insert), MRB_MT_FUNC),
MRB_MT_ENTRY(str_prepend, MRB_SYM(prepend), MRB_MT_FUNC),
MRB_MT_ENTRY(str_tr_bang, MRB_SYM_B(tr), MRB_MT_FUNC),
MRB_MT_ENTRY(str_tr_s, MRB_SYM(tr_s), MRB_MT_FUNC),
MRB_MT_ENTRY(str_tr_s_bang, MRB_SYM_B(tr_s), MRB_MT_FUNC),
MRB_MT_ENTRY(str_squeeze_m, MRB_SYM(squeeze), MRB_MT_FUNC),
MRB_MT_ENTRY(str_squeeze_bang, MRB_SYM_B(squeeze), MRB_MT_FUNC),
MRB_MT_ENTRY(str_delete_m, MRB_SYM(delete), MRB_MT_FUNC),
MRB_MT_ENTRY(str_delete_bang, MRB_SYM_B(delete), MRB_MT_FUNC),
MRB_MT_ENTRY(str_start_with, MRB_SYM_Q(start_with), MRB_MT_FUNC),
MRB_MT_ENTRY(str_end_with, MRB_SYM_Q(end_with), MRB_MT_FUNC),
MRB_MT_ENTRY(str_hex, MRB_SYM(hex), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_oct, MRB_SYM(oct), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_chr, MRB_SYM(chr), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ, MRB_SYM(succ), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ_bang, MRB_SYM_B(succ), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ, MRB_SYM(next), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ_bang, MRB_SYM_B(next), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_ord, MRB_SYM(ord), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_del_prefix_bang, MRB_SYM_B(delete_prefix), MRB_MT_FUNC),
MRB_MT_ENTRY(str_del_prefix, MRB_SYM(delete_prefix), MRB_MT_FUNC),
MRB_MT_ENTRY(str_del_suffix_bang, MRB_SYM_B(delete_suffix), MRB_MT_FUNC),
MRB_MT_ENTRY(str_del_suffix, MRB_SYM(delete_suffix), MRB_MT_FUNC),
MRB_MT_ENTRY(str_casecmp, MRB_SYM(casecmp), MRB_MT_FUNC),
MRB_MT_ENTRY(str_casecmp_p, MRB_SYM_Q(casecmp), MRB_MT_FUNC),
MRB_MT_ENTRY(str_uplus, MRB_OPSYM(plus), MRB_MT_FUNC),
MRB_MT_ENTRY(str_uminus, MRB_OPSYM(minus), MRB_MT_FUNC),
MRB_MT_ENTRY(str_ascii_only_p, MRB_SYM_Q(ascii_only), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_b, MRB_SYM(b), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_lines, MRB_SYM(__lines), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_codepoints, MRB_SYM(__codepoints), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_lstrip, MRB_SYM(lstrip), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_rstrip, MRB_SYM(rstrip), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_strip, MRB_SYM(strip), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_lstrip_bang, MRB_SYM_B(lstrip), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_rstrip_bang, MRB_SYM_B(rstrip), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_strip_bang, MRB_SYM_B(strip), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_chars_ary, MRB_SYM(__chars), MRB_MT_FUNC|MRB_MT_NOARG),
MRB_MT_ENTRY(str_ljust_core, MRB_SYM(ljust), MRB_MT_FUNC),
MRB_MT_ENTRY(str_rjust_core, MRB_SYM(rjust), MRB_MT_FUNC),
MRB_MT_ENTRY(str_center_core, MRB_SYM(center), MRB_MT_FUNC),
MRB_MT_ENTRY(mrb_str_dump, MRB_SYM(dump), MRB_MT_NOARG),
MRB_MT_ENTRY(str_swapcase_bang, MRB_SYM_B(swapcase), MRB_MT_NOARG),
MRB_MT_ENTRY(mrb_str_slice_bang, MRB_SYM_B(slice), 0),
MRB_MT_ENTRY(str_swapcase, MRB_SYM(swapcase), MRB_MT_NOARG),
MRB_MT_ENTRY(str_clear, MRB_SYM(clear), MRB_MT_NOARG),
MRB_MT_ENTRY(str_concat_m, MRB_OPSYM(lshift), 0),
MRB_MT_ENTRY(str_concat_m, MRB_SYM(concat), 0),
MRB_MT_ENTRY(str_append_as_bytes, MRB_SYM(append_as_bytes), 0),
MRB_MT_ENTRY(str_count, MRB_SYM(count), 0),
MRB_MT_ENTRY(str_tr_m, MRB_SYM(tr), 0),
MRB_MT_ENTRY(str_partition, MRB_SYM(partition), 0),
MRB_MT_ENTRY(str_rpartition, MRB_SYM(rpartition), 0),
MRB_MT_ENTRY(str_insert, MRB_SYM(insert), 0),
MRB_MT_ENTRY(str_prepend, MRB_SYM(prepend), 0),
MRB_MT_ENTRY(str_tr_bang, MRB_SYM_B(tr), 0),
MRB_MT_ENTRY(str_tr_s, MRB_SYM(tr_s), 0),
MRB_MT_ENTRY(str_tr_s_bang, MRB_SYM_B(tr_s), 0),
MRB_MT_ENTRY(str_squeeze_m, MRB_SYM(squeeze), 0),
MRB_MT_ENTRY(str_squeeze_bang, MRB_SYM_B(squeeze), 0),
MRB_MT_ENTRY(str_delete_m, MRB_SYM(delete), 0),
MRB_MT_ENTRY(str_delete_bang, MRB_SYM_B(delete), 0),
MRB_MT_ENTRY(str_start_with, MRB_SYM_Q(start_with), 0),
MRB_MT_ENTRY(str_end_with, MRB_SYM_Q(end_with), 0),
MRB_MT_ENTRY(str_hex, MRB_SYM(hex), MRB_MT_NOARG),
MRB_MT_ENTRY(str_oct, MRB_SYM(oct), MRB_MT_NOARG),
MRB_MT_ENTRY(str_chr, MRB_SYM(chr), MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ, MRB_SYM(succ), MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ_bang, MRB_SYM_B(succ), MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ, MRB_SYM(next), MRB_MT_NOARG),
MRB_MT_ENTRY(str_succ_bang, MRB_SYM_B(next), MRB_MT_NOARG),
MRB_MT_ENTRY(str_ord, MRB_SYM(ord), MRB_MT_NOARG),
MRB_MT_ENTRY(str_del_prefix_bang, MRB_SYM_B(delete_prefix), 0),
MRB_MT_ENTRY(str_del_prefix, MRB_SYM(delete_prefix), 0),
MRB_MT_ENTRY(str_del_suffix_bang, MRB_SYM_B(delete_suffix), 0),
MRB_MT_ENTRY(str_del_suffix, MRB_SYM(delete_suffix), 0),
MRB_MT_ENTRY(str_casecmp, MRB_SYM(casecmp), 0),
MRB_MT_ENTRY(str_casecmp_p, MRB_SYM_Q(casecmp), 0),
MRB_MT_ENTRY(str_uplus, MRB_OPSYM(plus), 0),
MRB_MT_ENTRY(str_uminus, MRB_OPSYM(minus), 0),
MRB_MT_ENTRY(str_ascii_only_p, MRB_SYM_Q(ascii_only), MRB_MT_NOARG),
MRB_MT_ENTRY(str_b, MRB_SYM(b), MRB_MT_NOARG),
MRB_MT_ENTRY(str_lines, MRB_SYM(__lines), MRB_MT_NOARG),
MRB_MT_ENTRY(str_codepoints, MRB_SYM(__codepoints), MRB_MT_NOARG),
MRB_MT_ENTRY(str_lstrip, MRB_SYM(lstrip), MRB_MT_NOARG),
MRB_MT_ENTRY(str_rstrip, MRB_SYM(rstrip), MRB_MT_NOARG),
MRB_MT_ENTRY(str_strip, MRB_SYM(strip), MRB_MT_NOARG),
MRB_MT_ENTRY(str_lstrip_bang, MRB_SYM_B(lstrip), MRB_MT_NOARG),
MRB_MT_ENTRY(str_rstrip_bang, MRB_SYM_B(rstrip), MRB_MT_NOARG),
MRB_MT_ENTRY(str_strip_bang, MRB_SYM_B(strip), MRB_MT_NOARG),
MRB_MT_ENTRY(str_chars_ary, MRB_SYM(__chars), MRB_MT_NOARG),
MRB_MT_ENTRY(str_ljust_core, MRB_SYM(ljust), 0),
MRB_MT_ENTRY(str_rjust_core, MRB_SYM(rjust), 0),
MRB_MT_ENTRY(str_center_core, MRB_SYM(center), 0),
};
static mrb_mt_tbl string_ext_rom_mt = MRB_MT_ROM_TAB(string_ext_rom_entries);
static const mrb_mt_entry integer_chr_rom_entries[] = {
MRB_MT_ENTRY(int_chr, MRB_SYM(chr), MRB_MT_FUNC),
MRB_MT_ENTRY(int_chr, MRB_SYM(chr), 0),
};
static mrb_mt_tbl integer_chr_rom_mt = MRB_MT_ROM_TAB(integer_chr_rom_entries);