diff --git a/doc/guides/rom-method-table.md b/doc/guides/rom-method-table.md index 84c964753..34a62a508 100644 --- a/doc/guides/rom-method-table.md +++ b/doc/guides/rom-method-table.md @@ -74,9 +74,9 @@ constants) and define the ROM entries: #include static const mrb_mt_entry my_rom_entries[] = { - MRB_MT_ENTRY(my_method_a, MRB_SYM(method_a), 0), - MRB_MT_ENTRY(my_method_b, MRB_SYM(method_b), MRB_MT_NOARG), - MRB_MT_ENTRY(my_method_eq, MRB_OPSYM(eq), 0), + MRB_MT_ENTRY(my_method_a, MRB_SYM(method_a), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(my_method_b, MRB_SYM(method_b), MRB_ARGS_NONE()), + MRB_MT_ENTRY(my_method_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl my_rom_mt = MRB_MT_ROM_TAB(my_rom_entries); ``` @@ -118,7 +118,7 @@ union mrb_mt_ptr { typedef struct mrb_mt_entry { union mrb_mt_ptr val; mrb_sym key; /* pure symbol ID (no flags packed) */ - uint32_t flags; /* method flags */ + uint32_t flags; /* method flags + aspec */ } mrb_mt_entry; typedef struct mrb_mt_tbl { @@ -132,9 +132,18 @@ typedef struct mrb_mt_tbl { ### Macros ```c -/* ROM table entry: MRB_MT_FUNC is set automatically */ -#define MRB_MT_ENTRY(fn, sym, flags) \ - { { .func = (fn) }, (sym), (flags) | MRB_MT_FUNC } +/* ROM table entry: MRB_MT_FUNC auto-set, MRB_MT_NOARG auto-derived from aspec==0 */ +#define MRB_MT_ENTRY(fn, sym, aspec) \ + { { .func = (fn) }, (sym), \ + ((aspec) << 4) | MRB_MT_FUNC | (((aspec)==0)?MRB_MT_NOARG:0) } + +/* ROM table entry for private methods */ +#define MRB_MT_ENTRY_PRIVATE(fn, sym, aspec) \ + { { .func = (fn) }, (sym), \ + ((aspec) << 4) | MRB_MT_FUNC | MRB_MT_PRIVATE | (((aspec)==0)?MRB_MT_NOARG:0) } + +/* Extract aspec from combined flags */ +#define MRB_MT_ASPEC(flags) ((mrb_aspec)((flags) >> 4)) /* ROM table initializer (auto-computes size from entries array) */ #define MRB_MT_ROM_TAB(entries) { \ @@ -143,23 +152,25 @@ typedef struct mrb_mt_tbl { (mrb_mt_entry*)(entries), NULL } ``` -### Flags +### Flags (bits 0-3 of uint32_t) -| Flag | Value | Description | -| ---------------- | ----- | --------------------------------------------- | -| `MRB_MT_NOARG` | 4 | Method takes no arguments (optimization hint) | -| `MRB_MT_PUBLIC` | 0 | Public visibility (default, can be omitted) | -| `MRB_MT_PRIVATE` | 1 | Private visibility | +| Flag | Value | Description | +| ----------------- | ----- | ---------------------------------------- | +| `MRB_MT_FUNC` | 8 | C function (auto-set by macros) | +| `MRB_MT_NOARG` | 4 | Method takes no arguments (auto-derived) | +| `MRB_MT_PUBLIC` | 0 | Public visibility (default) | +| `MRB_MT_PRIVATE` | 1 | Private visibility | -`MRB_MT_FUNC` is set automatically by `MRB_MT_ENTRY()`. Pass `0` -for a public method that takes arguments. +Bits 4-27 store the `mrb_aspec` argument specification (shifted left +by 4). Both `MRB_MT_FUNC` and `MRB_MT_NOARG` are set automatically +by the macros; `MRB_MT_NOARG` is derived from `aspec == 0` +(`MRB_ARGS_NONE()`). -**How to choose flags:** +**How to write entries:** -- **`0`**: Public method that takes arguments (most common). -- **`MRB_MT_NOARG`**: Set when the original `mrb_define_method_id()` used - `MRB_ARGS_NONE()`. This enables an optimized call path in the VM. -- **`MRB_MT_PRIVATE`**: Set for private methods (e.g., `initialize`). +- **`MRB_MT_ENTRY(fn, sym, MRB_ARGS_*(...))`**: Public method. +- **`MRB_MT_ENTRY_PRIVATE(fn, sym, MRB_ARGS_*(...))`**: Private method. +- Use the same `MRB_ARGS_*()` macros as `mrb_define_method_id()`. ### Symbol Macros @@ -202,8 +213,8 @@ separate entries sharing the same function pointer: ```c static const mrb_mt_entry str_rom_entries[] = { - MRB_MT_ENTRY(mrb_str_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_size, MRB_SYM(length), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_str_size, MRB_SYM(size), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_str_size, MRB_SYM(length), MRB_ARGS_NONE()), }; ``` @@ -216,10 +227,10 @@ that survive preprocessing: ```c static const mrb_mt_entry integer_rom_entries[] = { - MRB_MT_ENTRY(int_to_s, MRB_SYM(to_s), 0), - MRB_MT_ENTRY(int_add, MRB_OPSYM(add), 0), + MRB_MT_ENTRY(int_to_s, MRB_SYM(to_s), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(int_add, MRB_OPSYM(add), MRB_ARGS_REQ(1)), #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(int_to_f, MRB_SYM(to_f), MRB_MT_NOARG), + MRB_MT_ENTRY(int_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), #endif }; static mrb_mt_tbl integer_rom_mt = MRB_MT_ROM_TAB(integer_rom_entries); @@ -359,13 +370,11 @@ To convert existing `mrb_define_method_id()` calls to a ROM table: 2. **Create** the ROM entries array using `MRB_MT_ENTRY()`. 3. **Move** each `mrb_define_method_id()` call into the entries: - - `MRB_MT_ENTRY(func, sym, flags)` where: + - `MRB_MT_ENTRY(func, sym, aspec)` where: - `func` is the function pointer - `sym` is the symbol macro (e.g., `MRB_SYM(name)`) - - `flags` are: - - `MRB_ARGS_NONE()` -> `MRB_MT_NOARG` - - Anything else -> `0` - - Add `MRB_MT_PRIVATE` for private methods + - `aspec` is the original `MRB_ARGS_*()` macro + - Use `MRB_MT_ENTRY_PRIVATE()` for private methods 4. **Create** the table with `MRB_MT_ROM_TAB(entries)`. @@ -391,9 +400,9 @@ void mrb_mruby_foo_gem_init(mrb_state *mrb) { ```c static const mrb_mt_entry foo_rom_entries[] = { - MRB_MT_ENTRY(foo_bar, MRB_SYM(bar), 0), - MRB_MT_ENTRY(foo_baz, MRB_SYM(baz), MRB_MT_NOARG), - MRB_MT_ENTRY(foo_eq, MRB_OPSYM(eq), 0), + MRB_MT_ENTRY(foo_bar, MRB_SYM(bar), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(foo_baz, MRB_SYM(baz), MRB_ARGS_NONE()), + MRB_MT_ENTRY(foo_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl foo_rom_mt = MRB_MT_ROM_TAB(foo_rom_entries); diff --git a/include/mruby/internal.h b/include/mruby/internal.h index 6c4405b58..39cb10305 100644 --- a/include/mruby/internal.h +++ b/include/mruby/internal.h @@ -55,9 +55,14 @@ typedef struct mrb_mt_tbl { #define MRB_MT_PUBLIC 0 /* MRB_METHOD_PUBLIC_FL */ #define MRB_MT_PRIVATE 1 /* MRB_METHOD_PRIVATE_FL */ -/* ROM table entry: MRB_MT_FUNC is set automatically */ -#define MRB_MT_ENTRY(fn, sym, flags) \ - { { .func = (fn) }, (sym), (flags) | MRB_MT_FUNC } +/* ROM table entry: MRB_MT_FUNC auto-set, MRB_MT_NOARG auto-derived from aspec==0 */ +#define MRB_MT_ENTRY(fn, sym, aspec) \ + { { .func = (fn) }, (sym), \ + ((aspec) << 4) | MRB_MT_FUNC | (((aspec)==0)?MRB_MT_NOARG:0) } +#define MRB_MT_ENTRY_PRIVATE(fn, sym, aspec) \ + { { .func = (fn) }, (sym), \ + ((aspec) << 4) | MRB_MT_FUNC | MRB_MT_PRIVATE | (((aspec)==0)?MRB_MT_NOARG:0) } +#define MRB_MT_ASPEC(flags) ((mrb_aspec)((flags) >> 4)) /* ROM table initializer from const entries array (auto-computes size). Casts away const because mrb_mt_tbl.ptr is shared with mutable layers; diff --git a/mrbgems/mruby-array-ext/src/array.c b/mrbgems/mruby-array-ext/src/array.c index 9123749e6..d50b5b48d 100644 --- a/mrbgems/mruby-array-ext/src/array.c +++ b/mrbgems/mruby-array-ext/src/array.c @@ -1538,35 +1538,35 @@ ary_combination_next(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry array_ext_rom_entries[] = { - MRB_MT_ENTRY(ary_assoc, MRB_SYM(assoc), 0), - MRB_MT_ENTRY(ary_at, MRB_SYM(at), 0), - MRB_MT_ENTRY(ary_rassoc, MRB_SYM(rassoc), 0), - MRB_MT_ENTRY(ary_values_at, MRB_SYM(values_at), 0), - MRB_MT_ENTRY(ary_slice_bang, MRB_SYM_B(slice), 0), - MRB_MT_ENTRY(ary_compact, MRB_SYM(compact), MRB_MT_NOARG), - MRB_MT_ENTRY(ary_compact_bang, MRB_SYM_B(compact), MRB_MT_NOARG), - MRB_MT_ENTRY(ary_rotate, MRB_SYM(rotate), 0), - MRB_MT_ENTRY(ary_rotate_bang, MRB_SYM_B(rotate), 0), - MRB_MT_ENTRY(ary_sub, MRB_OPSYM(sub), 0), - MRB_MT_ENTRY(ary_difference, MRB_SYM(difference), 0), - MRB_MT_ENTRY(ary_union, MRB_OPSYM(or), 0), - MRB_MT_ENTRY(ary_union_multi, MRB_SYM(union), 0), - MRB_MT_ENTRY(ary_intersection, MRB_OPSYM(and), 0), - MRB_MT_ENTRY(ary_intersection_multi, MRB_SYM(intersection), 0), - MRB_MT_ENTRY(ary_intersect_p, MRB_SYM_Q(intersect), 0), - MRB_MT_ENTRY(ary_fill_parse_arg, MRB_SYM(__fill_parse_arg), 0), - MRB_MT_ENTRY(ary_fill_exec, MRB_SYM(__fill_exec), 0), - MRB_MT_ENTRY(ary_uniq, MRB_SYM(__uniq), MRB_MT_NOARG), - MRB_MT_ENTRY(ary_uniq_bang, MRB_SYM_B(__uniq), MRB_MT_NOARG), - MRB_MT_ENTRY(ary_flatten, MRB_SYM(flatten), 0), - MRB_MT_ENTRY(ary_flatten_bang, MRB_SYM_B(flatten), 0), - MRB_MT_ENTRY(ary_normalize_index, MRB_SYM(__normalize_index), 0), - MRB_MT_ENTRY(ary_fetch, MRB_SYM(__fetch), 0), - MRB_MT_ENTRY(ary_insert, MRB_SYM(insert), 0), - MRB_MT_ENTRY(ary_deconstruct, MRB_SYM(deconstruct), MRB_MT_NOARG), - MRB_MT_ENTRY(ary_product_group, MRB_SYM(__product_group), 0), - MRB_MT_ENTRY(ary_combination_init, MRB_SYM(__combination_init), 0), - MRB_MT_ENTRY(ary_combination_next, MRB_SYM(__combination_next), 0), + MRB_MT_ENTRY(ary_assoc, MRB_SYM(assoc), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_at, MRB_SYM(at), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_rassoc, MRB_SYM(rassoc), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_values_at, MRB_SYM(values_at), MRB_ARGS_ANY()), + MRB_MT_ENTRY(ary_slice_bang, MRB_SYM_B(slice), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(ary_compact, MRB_SYM(compact), MRB_ARGS_NONE()), + MRB_MT_ENTRY(ary_compact_bang, MRB_SYM_B(compact), MRB_ARGS_NONE()), + MRB_MT_ENTRY(ary_rotate, MRB_SYM(rotate), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(ary_rotate_bang, MRB_SYM_B(rotate), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(ary_sub, MRB_OPSYM(sub), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_difference, MRB_SYM(difference), MRB_ARGS_ANY()), + MRB_MT_ENTRY(ary_union, MRB_OPSYM(or), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_union_multi, MRB_SYM(union), MRB_ARGS_ANY()), + MRB_MT_ENTRY(ary_intersection, MRB_OPSYM(and), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_intersection_multi, MRB_SYM(intersection), MRB_ARGS_ANY()), + MRB_MT_ENTRY(ary_intersect_p, MRB_SYM_Q(intersect), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_fill_parse_arg, MRB_SYM(__fill_parse_arg), MRB_ARGS_ARG(0,4)), + MRB_MT_ENTRY(ary_fill_exec, MRB_SYM(__fill_exec), MRB_ARGS_REQ(3)), + MRB_MT_ENTRY(ary_uniq, MRB_SYM(__uniq), MRB_ARGS_NONE()), + MRB_MT_ENTRY(ary_uniq_bang, MRB_SYM_B(__uniq), MRB_ARGS_NONE()), + MRB_MT_ENTRY(ary_flatten, MRB_SYM(flatten), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(ary_flatten_bang, MRB_SYM_B(flatten), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(ary_normalize_index, MRB_SYM(__normalize_index), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(ary_fetch, MRB_SYM(__fetch), MRB_ARGS_REQ(3)), + MRB_MT_ENTRY(ary_insert, MRB_SYM(insert), MRB_ARGS_ARG(1,-1)), + MRB_MT_ENTRY(ary_deconstruct, MRB_SYM(deconstruct), MRB_ARGS_NONE()), + MRB_MT_ENTRY(ary_product_group, MRB_SYM(__product_group), MRB_ARGS_REQ(4)), + MRB_MT_ENTRY(ary_combination_init, MRB_SYM(__combination_init), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(ary_combination_next, MRB_SYM(__combination_next), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl array_ext_rom_mt = MRB_MT_ROM_TAB(array_ext_rom_entries); diff --git a/mrbgems/mruby-class-ext/src/class.c b/mrbgems/mruby-class-ext/src/class.c index 1c0bb01ac..f58605d1c 100644 --- a/mrbgems/mruby-class-ext/src/class.c +++ b/mrbgems/mruby-class-ext/src/class.c @@ -336,21 +336,21 @@ mrb_mod_cmp(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry mod_ext_rom_entries[] = { - MRB_MT_ENTRY(mrb_mod_lt, MRB_OPSYM(lt), 0), - MRB_MT_ENTRY(mrb_mod_le, MRB_OPSYM(le), 0), - MRB_MT_ENTRY(mrb_mod_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(mrb_mod_gt, MRB_OPSYM(gt), 0), - MRB_MT_ENTRY(mrb_mod_ge, MRB_OPSYM(ge), 0), - MRB_MT_ENTRY(mod_module_exec, MRB_SYM(class_exec), 0), - MRB_MT_ENTRY(mod_module_exec, MRB_SYM(module_exec), 0), - MRB_MT_ENTRY(mod_name, MRB_SYM(name), MRB_MT_NOARG), - MRB_MT_ENTRY(mod_singleton_class_p, MRB_SYM_Q(singleton_class), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_mod_lt, MRB_OPSYM(lt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_le, MRB_OPSYM(le), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_gt, MRB_OPSYM(gt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_ge, MRB_OPSYM(ge), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mod_module_exec, MRB_SYM(class_exec), MRB_ARGS_ANY()|MRB_ARGS_BLOCK()), + MRB_MT_ENTRY(mod_module_exec, MRB_SYM(module_exec), MRB_ARGS_ANY()|MRB_ARGS_BLOCK()), + MRB_MT_ENTRY(mod_name, MRB_SYM(name), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mod_singleton_class_p, MRB_SYM_Q(singleton_class), MRB_ARGS_NONE()), }; static mrb_mt_tbl mod_ext_rom_mt = MRB_MT_ROM_TAB(mod_ext_rom_entries); static const mrb_mt_entry cls_ext_rom_entries[] = { - MRB_MT_ENTRY(class_attached_object, MRB_SYM(attached_object), MRB_MT_NOARG), - MRB_MT_ENTRY(class_subclasses, MRB_SYM(subclasses), MRB_MT_NOARG), + MRB_MT_ENTRY(class_attached_object, MRB_SYM(attached_object), MRB_ARGS_NONE()), + MRB_MT_ENTRY(class_subclasses, MRB_SYM(subclasses), MRB_ARGS_NONE()), }; static mrb_mt_tbl cls_ext_rom_mt = MRB_MT_ROM_TAB(cls_ext_rom_entries); diff --git a/mrbgems/mruby-complex/src/complex.c b/mrbgems/mruby-complex/src/complex.c index 4367d4da3..04ac54294 100644 --- a/mrbgems/mruby-complex/src/complex.c +++ b/mrbgems/mruby-complex/src/complex.c @@ -559,19 +559,19 @@ complex_pow(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry complex_rom_entries[] = { - MRB_MT_ENTRY(complex_real, MRB_SYM(real), MRB_MT_NOARG), - MRB_MT_ENTRY(complex_imaginary, MRB_SYM(imaginary), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_complex_to_f, MRB_SYM(to_f), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_complex_to_i, MRB_SYM(to_i), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_c), MRB_MT_NOARG), - MRB_MT_ENTRY(complex_add, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(complex_sub, MRB_OPSYM(sub), 0), - MRB_MT_ENTRY(complex_mul, MRB_OPSYM(mul), 0), - MRB_MT_ENTRY(complex_div, MRB_OPSYM(div), 0), - MRB_MT_ENTRY(complex_div, MRB_SYM(quo), 0), - MRB_MT_ENTRY(complex_eq, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(complex_hash, MRB_SYM(hash), MRB_MT_NOARG), - MRB_MT_ENTRY(complex_pow, MRB_OPSYM(pow), 0), + MRB_MT_ENTRY(complex_real, MRB_SYM(real), MRB_ARGS_NONE()), + MRB_MT_ENTRY(complex_imaginary, MRB_SYM(imaginary), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_complex_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_complex_to_i, MRB_SYM(to_i), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_c), MRB_ARGS_NONE()), + MRB_MT_ENTRY(complex_add, MRB_OPSYM(add), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(complex_sub, MRB_OPSYM(sub), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(complex_mul, MRB_OPSYM(mul), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(complex_div, MRB_OPSYM(div), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(complex_div, MRB_SYM(quo), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(complex_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(complex_hash, MRB_SYM(hash), MRB_ARGS_NONE()), + MRB_MT_ENTRY(complex_pow, MRB_OPSYM(pow), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl complex_rom_mt = MRB_MT_ROM_TAB(complex_rom_entries); diff --git a/mrbgems/mruby-hash-ext/src/hash_ext.c b/mrbgems/mruby-hash-ext/src/hash_ext.c index f132da17d..cde36839e 100644 --- a/mrbgems/mruby-hash-ext/src/hash_ext.c +++ b/mrbgems/mruby-hash-ext/src/hash_ext.c @@ -368,12 +368,12 @@ hash_merge(mrb_state *mrb, mrb_value hash) } static const mrb_mt_entry hash_ext_rom_entries[] = { - MRB_MT_ENTRY(hash_values_at, MRB_SYM(values_at), 0), - MRB_MT_ENTRY(hash_slice, MRB_SYM(slice), 0), - MRB_MT_ENTRY(hash_slice_bang, MRB_SYM_B(slice), 0), - MRB_MT_ENTRY(hash_except, MRB_SYM(except), 0), - MRB_MT_ENTRY(hash_key, MRB_SYM(key), 0), - MRB_MT_ENTRY(hash_merge, MRB_SYM(__merge), 0), + MRB_MT_ENTRY(hash_values_at, MRB_SYM(values_at), MRB_ARGS_ANY()), + MRB_MT_ENTRY(hash_slice, MRB_SYM(slice), MRB_ARGS_ANY()), + MRB_MT_ENTRY(hash_slice_bang, MRB_SYM_B(slice), MRB_ARGS_ANY()), + MRB_MT_ENTRY(hash_except, MRB_SYM(except), MRB_ARGS_ANY()), + MRB_MT_ENTRY(hash_key, MRB_SYM(key), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(hash_merge, MRB_SYM(__merge), MRB_ARGS_ANY()), }; static mrb_mt_tbl hash_ext_rom_mt = MRB_MT_ROM_TAB(hash_ext_rom_entries); diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c index 8fba87379..3bdbc9ffd 100644 --- a/mrbgems/mruby-io/src/file.c +++ b/mrbgems/mruby-io/src/file.c @@ -1123,12 +1123,12 @@ mrb_file_join(mrb_state *mrb, mrb_value klass) /* ---------------------------*/ static const mrb_mt_entry file_rom_entries[] = { - MRB_MT_ENTRY(mrb_file_flock, MRB_SYM(flock), 0), - MRB_MT_ENTRY(mrb_file_atime, MRB_SYM(_atime), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_file_ctime, MRB_SYM(_ctime), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_file_mtime, MRB_SYM(_mtime), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_file_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_file_truncate, MRB_SYM(truncate), 0), + MRB_MT_ENTRY(mrb_file_flock, MRB_SYM(flock), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_file_atime, MRB_SYM(_atime), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_file_ctime, MRB_SYM(_ctime), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_file_mtime, MRB_SYM(_mtime), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_file_size, MRB_SYM(size), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_file_truncate, MRB_SYM(truncate), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl file_rom_mt = MRB_MT_ROM_TAB(file_rom_entries); diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index 1d341d0b0..de2cfd26b 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -2198,42 +2198,42 @@ io_flush(mrb_state *mrb, mrb_value io) /* ---------------------------*/ static const mrb_mt_entry io_rom_entries[] = { - MRB_MT_ENTRY(io_init, MRB_SYM(initialize), 0), - MRB_MT_ENTRY(io_init_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(io_isatty, MRB_SYM(isatty), MRB_MT_NOARG), - MRB_MT_ENTRY(io_eof, MRB_SYM_Q(eof), MRB_MT_NOARG), - MRB_MT_ENTRY(io_getc, MRB_SYM(getc), MRB_MT_NOARG), - MRB_MT_ENTRY(io_gets, MRB_SYM(gets), 0), - MRB_MT_ENTRY(io_read, MRB_SYM(read), 0), - MRB_MT_ENTRY(io_readchar, MRB_SYM(readchar), MRB_MT_NOARG), - MRB_MT_ENTRY(io_readline, MRB_SYM(readline), 0), - MRB_MT_ENTRY(io_readlines, MRB_SYM(readlines), 0), - MRB_MT_ENTRY(io_sync, MRB_SYM(sync), MRB_MT_NOARG), - MRB_MT_ENTRY(io_set_sync, MRB_SYM_E(sync), 0), - MRB_MT_ENTRY(io_sysread, MRB_SYM(sysread), 0), - MRB_MT_ENTRY(io_sysseek, MRB_SYM(sysseek), 0), - MRB_MT_ENTRY(io_syswrite, MRB_SYM(syswrite), 0), - MRB_MT_ENTRY(io_seek, MRB_SYM(seek), 0), - MRB_MT_ENTRY(io_close, MRB_SYM(close), MRB_MT_NOARG), - MRB_MT_ENTRY(io_close_write, MRB_SYM(close_write), MRB_MT_NOARG), - MRB_MT_ENTRY(io_set_close_on_exec, MRB_SYM_E(close_on_exec), 0), - MRB_MT_ENTRY(io_close_on_exec_p, MRB_SYM_Q(close_on_exec), MRB_MT_NOARG), - MRB_MT_ENTRY(io_closed, MRB_SYM_Q(closed), MRB_MT_NOARG), - MRB_MT_ENTRY(io_flush, MRB_SYM(flush), MRB_MT_NOARG), - MRB_MT_ENTRY(io_ungetc, MRB_SYM(ungetc), 0), - MRB_MT_ENTRY(io_ungetbyte, MRB_SYM(ungetbyte), 0), - MRB_MT_ENTRY(io_pos, MRB_SYM(pos), MRB_MT_NOARG), - MRB_MT_ENTRY(io_pid, MRB_SYM(pid), MRB_MT_NOARG), - MRB_MT_ENTRY(io_fileno, MRB_SYM(fileno), MRB_MT_NOARG), - MRB_MT_ENTRY(io_write, MRB_SYM(write), 0), - MRB_MT_ENTRY(io_puts, MRB_SYM(puts), 0), - MRB_MT_ENTRY(io_print, MRB_SYM(print), 0), - MRB_MT_ENTRY(io_putc, MRB_SYM(putc), 0), - MRB_MT_ENTRY(io_lshift, MRB_OPSYM(lshift), 0), - MRB_MT_ENTRY(io_pread, MRB_SYM(pread), 0), - MRB_MT_ENTRY(io_pwrite, MRB_SYM(pwrite), 0), - MRB_MT_ENTRY(io_getbyte, MRB_SYM(getbyte), MRB_MT_NOARG), - MRB_MT_ENTRY(io_readbyte, MRB_SYM(readbyte), MRB_MT_NOARG), + MRB_MT_ENTRY(io_init, MRB_SYM(initialize), MRB_ARGS_ARG(1,2)), + MRB_MT_ENTRY_PRIVATE(io_init_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_isatty, MRB_SYM(isatty), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_eof, MRB_SYM_Q(eof), MRB_ARGS_NONE()), /* 15.2.20.5.6 */ + MRB_MT_ENTRY(io_getc, MRB_SYM(getc), MRB_ARGS_NONE()), /* 15.2.20.5.8 */ + MRB_MT_ENTRY(io_gets, MRB_SYM(gets), MRB_ARGS_OPT(2)), /* 15.2.20.5.9 */ + MRB_MT_ENTRY(io_read, MRB_SYM(read), MRB_ARGS_OPT(2)), /* 15.2.20.5.14 */ + MRB_MT_ENTRY(io_readchar, MRB_SYM(readchar), MRB_ARGS_NONE()), /* 15.2.20.5.15 */ + MRB_MT_ENTRY(io_readline, MRB_SYM(readline), MRB_ARGS_OPT(2)), /* 15.2.20.5.16 */ + MRB_MT_ENTRY(io_readlines, MRB_SYM(readlines), MRB_ARGS_OPT(2)), /* 15.2.20.5.17 */ + MRB_MT_ENTRY(io_sync, MRB_SYM(sync), MRB_ARGS_NONE()), /* 15.2.20.5.18 */ + MRB_MT_ENTRY(io_set_sync, MRB_SYM_E(sync), MRB_ARGS_REQ(1)), /* 15.2.20.5.19 */ + MRB_MT_ENTRY(io_sysread, MRB_SYM(sysread), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(io_sysseek, MRB_SYM(sysseek), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(io_syswrite, MRB_SYM(syswrite), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_seek, MRB_SYM(seek), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(io_close, MRB_SYM(close), MRB_ARGS_NONE()), /* 15.2.20.5.1 */ + MRB_MT_ENTRY(io_close_write, MRB_SYM(close_write), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_set_close_on_exec, MRB_SYM_E(close_on_exec), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_close_on_exec_p, MRB_SYM_Q(close_on_exec), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_closed, MRB_SYM_Q(closed), MRB_ARGS_NONE()), /* 15.2.20.5.2 */ + MRB_MT_ENTRY(io_flush, MRB_SYM(flush), MRB_ARGS_NONE()), /* 15.2.20.5.7 */ + MRB_MT_ENTRY(io_ungetc, MRB_SYM(ungetc), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_ungetbyte, MRB_SYM(ungetbyte), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_pos, MRB_SYM(pos), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_pid, MRB_SYM(pid), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_fileno, MRB_SYM(fileno), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_write, MRB_SYM(write), MRB_ARGS_ANY()), /* 15.2.20.5.20 */ + MRB_MT_ENTRY(io_puts, MRB_SYM(puts), MRB_ARGS_ANY()), + MRB_MT_ENTRY(io_print, MRB_SYM(print), MRB_ARGS_ANY()), + MRB_MT_ENTRY(io_putc, MRB_SYM(putc), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_lshift, MRB_OPSYM(lshift), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(io_pread, MRB_SYM(pread), MRB_ARGS_ANY()), /* Ruby 2.5 feature */ + MRB_MT_ENTRY(io_pwrite, MRB_SYM(pwrite), MRB_ARGS_ANY()), /* Ruby 2.5 feature */ + MRB_MT_ENTRY(io_getbyte, MRB_SYM(getbyte), MRB_ARGS_NONE()), + MRB_MT_ENTRY(io_readbyte, MRB_SYM(readbyte), MRB_ARGS_NONE()), }; static mrb_mt_tbl io_rom_mt = MRB_MT_ROM_TAB(io_rom_entries); diff --git a/mrbgems/mruby-kernel-ext/src/kernel.c b/mrbgems/mruby-kernel-ext/src/kernel.c index 22b1bc2bc..2859c136a 100644 --- a/mrbgems/mruby-kernel-ext/src/kernel.c +++ b/mrbgems/mruby-kernel-ext/src/kernel.c @@ -289,17 +289,17 @@ mrb_f_hash(mrb_state *mrb, mrb_value self) } static const mrb_mt_entry kernel_ext_rom_entries[] = { - MRB_MT_ENTRY(mrb_f_raise, MRB_SYM(fail), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_f_caller, MRB_SYM(caller), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_f_method, MRB_SYM(__method__), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_f_callee, MRB_SYM(__callee__), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_f_integer, MRB_SYM(Integer), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_f_string, MRB_SYM(String), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_f_array, MRB_SYM(Array), MRB_MT_PRIVATE), + MRB_MT_ENTRY_PRIVATE(mrb_f_raise, MRB_SYM(fail), MRB_ARGS_OPT(2)), + MRB_MT_ENTRY_PRIVATE(mrb_f_caller, MRB_SYM(caller), MRB_ARGS_OPT(2)), + MRB_MT_ENTRY_PRIVATE(mrb_f_method, MRB_SYM(__method__), MRB_ARGS_NONE()), + MRB_MT_ENTRY_PRIVATE(mrb_f_callee, MRB_SYM(__callee__), MRB_ARGS_NONE()), + MRB_MT_ENTRY_PRIVATE(mrb_f_integer, MRB_SYM(Integer), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY_PRIVATE(mrb_f_string, MRB_SYM(String), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_f_array, MRB_SYM(Array), MRB_ARGS_REQ(1)), #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(mrb_f_float, MRB_SYM(Float), MRB_MT_PRIVATE), + MRB_MT_ENTRY_PRIVATE(mrb_f_float, MRB_SYM(Float), MRB_ARGS_REQ(1)), #endif - MRB_MT_ENTRY(mrb_f_hash, MRB_SYM(Hash), MRB_MT_PRIVATE), + MRB_MT_ENTRY_PRIVATE(mrb_f_hash, MRB_SYM(Hash), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl kernel_ext_rom_mt = MRB_MT_ROM_TAB(kernel_ext_rom_entries); diff --git a/mrbgems/mruby-metaprog/src/metaprog.c b/mrbgems/mruby-metaprog/src/metaprog.c index aae1fa5bb..69d9ddb92 100644 --- a/mrbgems/mruby-metaprog/src/metaprog.c +++ b/mrbgems/mruby-metaprog/src/metaprog.c @@ -691,39 +691,39 @@ mrb_mod_s_nesting(mrb_state *mrb, mrb_value mod) /* ---------------------------*/ static const mrb_mt_entry metaprog_krn_rom_entries[] = { - MRB_MT_ENTRY(mrb_f_global_variables, MRB_SYM(global_variables), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_local_variables, MRB_SYM(local_variables), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_singleton_class, MRB_SYM(singleton_class), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_ivar_defined, MRB_SYM_Q(instance_variable_defined), 0), - MRB_MT_ENTRY(mrb_obj_ivar_get, MRB_SYM(instance_variable_get), 0), - MRB_MT_ENTRY(mrb_obj_ivar_set, MRB_SYM(instance_variable_set), 0), - MRB_MT_ENTRY(mrb_obj_instance_variables, MRB_SYM(instance_variables), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_methods_m, MRB_SYM(methods), 0), - MRB_MT_ENTRY(mrb_obj_private_methods, MRB_SYM(private_methods), 0), - MRB_MT_ENTRY(mrb_obj_protected_methods, MRB_SYM(protected_methods), 0), - MRB_MT_ENTRY(mrb_obj_public_methods, MRB_SYM(public_methods), 0), - MRB_MT_ENTRY(mrb_obj_singleton_methods_m, MRB_SYM(singleton_methods), 0), - MRB_MT_ENTRY(mod_define_singleton_method, MRB_SYM(define_singleton_method), 0), - MRB_MT_ENTRY(mrb_f_send, MRB_SYM(send), 0), - MRB_MT_ENTRY(mrb_f_public_send, MRB_SYM(public_send), 0), + MRB_MT_ENTRY_PRIVATE(mrb_f_global_variables, MRB_SYM(global_variables), MRB_ARGS_NONE()), /* 15.3.1.3.14 (15.3.1.2.4) */ + MRB_MT_ENTRY_PRIVATE(mrb_local_variables, MRB_SYM(local_variables), MRB_ARGS_NONE()), /* 15.3.1.3.28 (15.3.1.2.7) */ + MRB_MT_ENTRY(mrb_singleton_class, MRB_SYM(singleton_class), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_ivar_defined, MRB_SYM_Q(instance_variable_defined), MRB_ARGS_REQ(1)), /* 15.3.1.3.20 */ + MRB_MT_ENTRY(mrb_obj_ivar_get, MRB_SYM(instance_variable_get), MRB_ARGS_REQ(1)), /* 15.3.1.3.21 */ + MRB_MT_ENTRY(mrb_obj_ivar_set, MRB_SYM(instance_variable_set), MRB_ARGS_REQ(2)), /* 15.3.1.3.22 */ + MRB_MT_ENTRY(mrb_obj_instance_variables, MRB_SYM(instance_variables), MRB_ARGS_NONE()), /* 15.3.1.3.23 */ + MRB_MT_ENTRY(mrb_obj_methods_m, MRB_SYM(methods), MRB_ARGS_OPT(1)), /* 15.3.1.3.31 */ + MRB_MT_ENTRY(mrb_obj_private_methods, MRB_SYM(private_methods), MRB_ARGS_OPT(1)), /* 15.3.1.3.36 */ + MRB_MT_ENTRY(mrb_obj_protected_methods, MRB_SYM(protected_methods), MRB_ARGS_OPT(1)), /* 15.3.1.3.37 */ + MRB_MT_ENTRY(mrb_obj_public_methods, MRB_SYM(public_methods), MRB_ARGS_OPT(1)), /* 15.3.1.3.38 */ + MRB_MT_ENTRY(mrb_obj_singleton_methods_m, MRB_SYM(singleton_methods), MRB_ARGS_OPT(1)), /* 15.3.1.3.45 */ + MRB_MT_ENTRY(mod_define_singleton_method, MRB_SYM(define_singleton_method), MRB_ARGS_REQ(1)|MRB_ARGS_BLOCK()), + MRB_MT_ENTRY(mrb_f_send, MRB_SYM(send), MRB_ARGS_REQ(1)|MRB_ARGS_REST()|MRB_ARGS_BLOCK()), /* 15.3.1.3.44 */ + MRB_MT_ENTRY(mrb_f_public_send, MRB_SYM(public_send), MRB_ARGS_REQ(1)|MRB_ARGS_REST()|MRB_ARGS_BLOCK()), }; static mrb_mt_tbl metaprog_krn_rom_mt = MRB_MT_ROM_TAB(metaprog_krn_rom_entries); static const mrb_mt_entry metaprog_mod_rom_entries[] = { - MRB_MT_ENTRY(mrb_mod_class_variables, MRB_SYM(class_variables), 0), - MRB_MT_ENTRY(mrb_mod_remove_cvar, MRB_SYM(remove_class_variable), 0), - MRB_MT_ENTRY(mrb_mod_cvar_defined, MRB_SYM_Q(class_variable_defined), 0), - MRB_MT_ENTRY(mrb_mod_cvar_get, MRB_SYM(class_variable_get), 0), - MRB_MT_ENTRY(mrb_mod_cvar_set, MRB_SYM(class_variable_set), 0), - MRB_MT_ENTRY(mrb_mod_included_modules, MRB_SYM(included_modules), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_mod_instance_methods, MRB_SYM(instance_methods), 0), - MRB_MT_ENTRY(mrb_mod_public_instance_methods, MRB_SYM(public_instance_methods), 0), - MRB_MT_ENTRY(mrb_mod_private_instance_methods, MRB_SYM(private_instance_methods), 0), - MRB_MT_ENTRY(mrb_mod_protected_instance_methods, MRB_SYM(protected_instance_methods), 0), - MRB_MT_ENTRY(mrb_mod_undefined_methods, MRB_SYM(undefined_instance_methods), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_mod_remove_method, MRB_SYM(remove_method), 0), - MRB_MT_ENTRY(mrb_f_nil, MRB_SYM(method_removed), 0), - MRB_MT_ENTRY(mrb_mod_constants, MRB_SYM(constants), 0), + MRB_MT_ENTRY(mrb_mod_class_variables, MRB_SYM(class_variables), MRB_ARGS_OPT(1)), /* 15.2.2.4.19 */ + MRB_MT_ENTRY(mrb_mod_remove_cvar, MRB_SYM(remove_class_variable), MRB_ARGS_REQ(1)), /* 15.2.2.4.39 */ + MRB_MT_ENTRY(mrb_mod_cvar_defined, MRB_SYM_Q(class_variable_defined), MRB_ARGS_REQ(1)), /* 15.2.2.4.16 */ + MRB_MT_ENTRY(mrb_mod_cvar_get, MRB_SYM(class_variable_get), MRB_ARGS_REQ(1)), /* 15.2.2.4.17 */ + MRB_MT_ENTRY(mrb_mod_cvar_set, MRB_SYM(class_variable_set), MRB_ARGS_REQ(2)), /* 15.2.2.4.18 */ + MRB_MT_ENTRY(mrb_mod_included_modules, MRB_SYM(included_modules), MRB_ARGS_NONE()), /* 15.2.2.4.30 */ + MRB_MT_ENTRY(mrb_mod_instance_methods, MRB_SYM(instance_methods), MRB_ARGS_ANY()), /* 15.2.2.4.33 */ + MRB_MT_ENTRY(mrb_mod_public_instance_methods, MRB_SYM(public_instance_methods), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_mod_private_instance_methods, MRB_SYM(private_instance_methods), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_mod_protected_instance_methods, MRB_SYM(protected_instance_methods), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_mod_undefined_methods, MRB_SYM(undefined_instance_methods), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_mod_remove_method, MRB_SYM(remove_method), MRB_ARGS_ANY()), /* 15.2.2.4.41 */ + MRB_MT_ENTRY(mrb_f_nil, MRB_SYM(method_removed), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_constants, MRB_SYM(constants), MRB_ARGS_OPT(1)), /* 15.2.2.4.24 */ }; static mrb_mt_tbl metaprog_mod_rom_mt = MRB_MT_ROM_TAB(metaprog_mod_rom_entries); diff --git a/mrbgems/mruby-method/src/method.c b/mrbgems/mruby-method/src/method.c index d0e8c4133..095feac35 100644 --- a/mrbgems/mruby-method/src/method.c +++ b/mrbgems/mruby-method/src/method.c @@ -833,36 +833,36 @@ method_name(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry method_ubm_rom_entries[] = { - MRB_MT_ENTRY(unbound_method_bind, MRB_SYM(bind), 0), - MRB_MT_ENTRY(method_super_method, MRB_SYM(super_method), MRB_MT_NOARG), - MRB_MT_ENTRY(method_eql, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(method_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(method_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(method_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(method_arity, MRB_SYM(arity), MRB_MT_NOARG), - MRB_MT_ENTRY(method_source_location, MRB_SYM(source_location), MRB_MT_NOARG), - MRB_MT_ENTRY(method_parameters, MRB_SYM(parameters), MRB_MT_NOARG), - MRB_MT_ENTRY(method_bcall, MRB_SYM(bind_call), 0), - MRB_MT_ENTRY(method_owner, MRB_SYM(owner), MRB_MT_NOARG), - MRB_MT_ENTRY(method_name, MRB_SYM(name), MRB_MT_NOARG), + MRB_MT_ENTRY(unbound_method_bind, MRB_SYM(bind), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(method_super_method, MRB_SYM(super_method), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_eql, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(method_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(method_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_arity, MRB_SYM(arity), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_source_location, MRB_SYM(source_location), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_parameters, MRB_SYM(parameters), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_bcall, MRB_SYM(bind_call), MRB_ARGS_REQ(1)|MRB_ARGS_ANY()), + MRB_MT_ENTRY(method_owner, MRB_SYM(owner), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_name, MRB_SYM(name), MRB_ARGS_NONE()), }; static mrb_mt_tbl method_ubm_rom_mt = MRB_MT_ROM_TAB(method_ubm_rom_entries); static const mrb_mt_entry method_mtd_rom_entries[] = { - MRB_MT_ENTRY(method_eql, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(method_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(method_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(method_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(method_call, MRB_SYM(call), 0), - MRB_MT_ENTRY(method_call, MRB_OPSYM(aref), 0), - MRB_MT_ENTRY(method_unbind, MRB_SYM(unbind), MRB_MT_NOARG), - MRB_MT_ENTRY(method_super_method, MRB_SYM(super_method), MRB_MT_NOARG), - MRB_MT_ENTRY(method_arity, MRB_SYM(arity), MRB_MT_NOARG), - MRB_MT_ENTRY(method_source_location, MRB_SYM(source_location), MRB_MT_NOARG), - MRB_MT_ENTRY(method_parameters, MRB_SYM(parameters), MRB_MT_NOARG), - MRB_MT_ENTRY(method_owner, MRB_SYM(owner), MRB_MT_NOARG), - MRB_MT_ENTRY(method_receiver, MRB_SYM(receiver), MRB_MT_NOARG), - MRB_MT_ENTRY(method_name, MRB_SYM(name), MRB_MT_NOARG), + MRB_MT_ENTRY(method_eql, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(method_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(method_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_call, MRB_SYM(call), MRB_ARGS_ANY()), + MRB_MT_ENTRY(method_call, MRB_OPSYM(aref), MRB_ARGS_ANY()), + MRB_MT_ENTRY(method_unbind, MRB_SYM(unbind), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_super_method, MRB_SYM(super_method), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_arity, MRB_SYM(arity), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_source_location, MRB_SYM(source_location), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_parameters, MRB_SYM(parameters), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_owner, MRB_SYM(owner), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_receiver, MRB_SYM(receiver), MRB_ARGS_NONE()), + MRB_MT_ENTRY(method_name, MRB_SYM(name), MRB_ARGS_NONE()), }; static mrb_mt_tbl method_mtd_rom_mt = MRB_MT_ROM_TAB(method_mtd_rom_entries); diff --git a/mrbgems/mruby-numeric-ext/src/numeric_ext.c b/mrbgems/mruby-numeric-ext/src/numeric_ext.c index 57645aad4..23c359c5f 100644 --- a/mrbgems/mruby-numeric-ext/src/numeric_ext.c +++ b/mrbgems/mruby-numeric-ext/src/numeric_ext.c @@ -481,15 +481,15 @@ int_sqrt(mrb_state *mrb, mrb_value self) } static const mrb_mt_entry integer_ext_rom_entries[] = { - MRB_MT_ENTRY(int_remainder, MRB_SYM(remainder), 0), - MRB_MT_ENTRY(int_powm, MRB_SYM(pow), 0), - MRB_MT_ENTRY(int_digits, MRB_SYM(digits), 0), - MRB_MT_ENTRY(int_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(int_bit_length, MRB_SYM(bit_length), MRB_MT_NOARG), - MRB_MT_ENTRY(int_odd, MRB_SYM_Q(odd), MRB_MT_NOARG), - MRB_MT_ENTRY(int_even, MRB_SYM_Q(even), MRB_MT_NOARG), - MRB_MT_ENTRY(int_gcd, MRB_SYM(gcd), 0), - MRB_MT_ENTRY(int_lcm, MRB_SYM(lcm), 0), + MRB_MT_ENTRY(int_remainder, MRB_SYM(remainder), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(int_powm, MRB_SYM(pow), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(int_digits, MRB_SYM(digits), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(int_size, MRB_SYM(size), MRB_ARGS_NONE()), + MRB_MT_ENTRY(int_bit_length, MRB_SYM(bit_length), MRB_ARGS_NONE()), + MRB_MT_ENTRY(int_odd, MRB_SYM_Q(odd), MRB_ARGS_NONE()), + MRB_MT_ENTRY(int_even, MRB_SYM_Q(even), MRB_ARGS_NONE()), + MRB_MT_ENTRY(int_gcd, MRB_SYM(gcd), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(int_lcm, MRB_SYM(lcm), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl integer_ext_rom_mt = MRB_MT_ROM_TAB(integer_ext_rom_entries); diff --git a/mrbgems/mruby-object-ext/src/object.c b/mrbgems/mruby-object-ext/src/object.c index 7daffa6b7..96219990a 100644 --- a/mrbgems/mruby-object-ext/src/object.c +++ b/mrbgems/mruby-object-ext/src/object.c @@ -98,17 +98,17 @@ obj_instance_exec(mrb_state *mrb, mrb_value self) } static const mrb_mt_entry nil_ext_rom_entries[] = { - MRB_MT_ENTRY(nil_to_a, MRB_SYM(to_a), MRB_MT_NOARG), - MRB_MT_ENTRY(nil_to_h, MRB_SYM(to_h), MRB_MT_NOARG), - MRB_MT_ENTRY(nil_to_i, MRB_SYM(to_i), MRB_MT_NOARG), + MRB_MT_ENTRY(nil_to_a, MRB_SYM(to_a), MRB_ARGS_NONE()), + MRB_MT_ENTRY(nil_to_h, MRB_SYM(to_h), MRB_ARGS_NONE()), + MRB_MT_ENTRY(nil_to_i, MRB_SYM(to_i), MRB_ARGS_NONE()), #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(nil_to_f, MRB_SYM(to_f), MRB_MT_NOARG), + MRB_MT_ENTRY(nil_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), #endif }; static mrb_mt_tbl nil_ext_rom_mt = MRB_MT_ROM_TAB(nil_ext_rom_entries); static const mrb_mt_entry bob_ext_rom_entries[] = { - MRB_MT_ENTRY(obj_instance_exec, MRB_SYM(instance_exec), 0), + MRB_MT_ENTRY(obj_instance_exec, MRB_SYM(instance_exec), MRB_ARGS_ANY()|MRB_ARGS_BLOCK()), }; static mrb_mt_tbl bob_ext_rom_mt = MRB_MT_ROM_TAB(bob_ext_rom_entries); diff --git a/mrbgems/mruby-proc-ext/src/proc.c b/mrbgems/mruby-proc-ext/src/proc.c index e58b67692..68720aee0 100644 --- a/mrbgems/mruby-proc-ext/src/proc.c +++ b/mrbgems/mruby-proc-ext/src/proc.c @@ -245,11 +245,11 @@ mrb_proc_parameters(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry proc_ext_rom_entries[] = { - MRB_MT_ENTRY(proc_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(proc_lambda_p, MRB_SYM_Q(lambda), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_proc_parameters, MRB_SYM(parameters), MRB_MT_NOARG), - MRB_MT_ENTRY(proc_source_location, MRB_SYM(source_location), MRB_MT_NOARG), - MRB_MT_ENTRY(proc_inspect, MRB_SYM(to_s), MRB_MT_NOARG), + MRB_MT_ENTRY(proc_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(proc_lambda_p, MRB_SYM_Q(lambda), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_proc_parameters, MRB_SYM(parameters), MRB_ARGS_NONE()), + MRB_MT_ENTRY(proc_source_location, MRB_SYM(source_location), MRB_ARGS_NONE()), + MRB_MT_ENTRY(proc_inspect, MRB_SYM(to_s), MRB_ARGS_NONE()), }; static mrb_mt_tbl proc_ext_rom_mt = MRB_MT_ROM_TAB(proc_ext_rom_entries); diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c index 0a3556fdd..c6c2cb495 100644 --- a/mrbgems/mruby-random/src/random.c +++ b/mrbgems/mruby-random/src/random.c @@ -569,10 +569,10 @@ random_f_bytes(mrb_state *mrb, mrb_value self) static const mrb_mt_entry random_rom_entries[] = { - MRB_MT_ENTRY(random_m_init, MRB_SYM(initialize), 0), - MRB_MT_ENTRY(random_m_rand, MRB_SYM(rand), 0), - MRB_MT_ENTRY(random_m_srand, MRB_SYM(srand), 0), - MRB_MT_ENTRY(random_m_bytes, MRB_SYM(bytes), 0), + MRB_MT_ENTRY(random_m_init, MRB_SYM(initialize), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(random_m_rand, MRB_SYM(rand), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(random_m_srand, MRB_SYM(srand), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(random_m_bytes, MRB_SYM(bytes), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl random_rom_mt = MRB_MT_ROM_TAB(random_rom_entries); diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c index 4cd739be3..c65470a9c 100644 --- a/mrbgems/mruby-range-ext/src/range.c +++ b/mrbgems/mruby-range-ext/src/range.c @@ -217,9 +217,9 @@ range_empty_p(mrb_state *mrb, mrb_value range) } static const mrb_mt_entry range_ext_rom_entries[] = { - MRB_MT_ENTRY(range_cover, MRB_SYM_Q(cover), 0), - MRB_MT_ENTRY(range_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(range_empty_p, MRB_SYM_Q(__empty_range), 0), + MRB_MT_ENTRY(range_cover, MRB_SYM_Q(cover), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(range_size, MRB_SYM(size), MRB_ARGS_NONE()), + MRB_MT_ENTRY(range_empty_p, MRB_SYM_Q(__empty_range), MRB_ARGS_REQ(3)), }; static mrb_mt_tbl range_ext_rom_mt = MRB_MT_ROM_TAB(range_ext_rom_entries); diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index 8e06618a5..be2920af6 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -1229,22 +1229,22 @@ rational_hash(mrb_state *mrb, mrb_value rat) /* ---------------------------*/ static const mrb_mt_entry rational_rom_entries[] = { - MRB_MT_ENTRY(rational_numerator, MRB_SYM(numerator), MRB_MT_NOARG), - MRB_MT_ENTRY(rational_denominator, MRB_SYM(denominator), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_rational_to_i, MRB_SYM(to_i), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_r), MRB_MT_NOARG), - MRB_MT_ENTRY(rational_negative_p, MRB_SYM_Q(negative), MRB_MT_NOARG), - MRB_MT_ENTRY(rational_eq, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(rational_minus, MRB_OPSYM(minus), MRB_MT_NOARG), - MRB_MT_ENTRY(rational_add, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(rational_sub, MRB_OPSYM(sub), 0), - MRB_MT_ENTRY(rational_mul, MRB_OPSYM(mul), 0), - MRB_MT_ENTRY(rational_div, MRB_OPSYM(div), 0), - MRB_MT_ENTRY(rational_div, MRB_SYM(quo), 0), - MRB_MT_ENTRY(rational_pow, MRB_OPSYM(pow), 0), - MRB_MT_ENTRY(rational_hash, MRB_SYM(hash), MRB_MT_NOARG), + MRB_MT_ENTRY(rational_numerator, MRB_SYM(numerator), MRB_ARGS_NONE()), + MRB_MT_ENTRY(rational_denominator, MRB_SYM(denominator), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_rational_to_i, MRB_SYM(to_i), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_r), MRB_ARGS_NONE()), /* Returns self - already a rational */ + MRB_MT_ENTRY(rational_negative_p, MRB_SYM_Q(negative), MRB_ARGS_NONE()), + MRB_MT_ENTRY(rational_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_minus, MRB_OPSYM(minus), MRB_ARGS_NONE()), + MRB_MT_ENTRY(rational_add, MRB_OPSYM(add), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_sub, MRB_OPSYM(sub), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_mul, MRB_OPSYM(mul), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_div, MRB_OPSYM(div), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_div, MRB_SYM(quo), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_pow, MRB_OPSYM(pow), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(rational_hash, MRB_SYM(hash), MRB_ARGS_NONE()), #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(mrb_rational_to_f, MRB_SYM(to_f), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_rational_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), #endif }; static mrb_mt_tbl rational_rom_mt = MRB_MT_ROM_TAB(rational_rom_entries); diff --git a/mrbgems/mruby-set/src/set.c b/mrbgems/mruby-set/src/set.c index d1ea429d9..4da1591a6 100644 --- a/mrbgems/mruby-set/src/set.c +++ b/mrbgems/mruby-set/src/set.c @@ -1465,49 +1465,49 @@ set_s_create(mrb_state *mrb, mrb_value klass) } static const mrb_mt_entry set_rom_entries[] = { - MRB_MT_ENTRY(set_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(set_size, MRB_SYM(length), MRB_MT_NOARG), - MRB_MT_ENTRY(set_empty_p, MRB_SYM_Q(empty), MRB_MT_NOARG), - MRB_MT_ENTRY(set_clear, MRB_SYM(clear), MRB_MT_NOARG), - MRB_MT_ENTRY(set_to_a, MRB_SYM(to_a), MRB_MT_NOARG), - MRB_MT_ENTRY(set_include_p, MRB_SYM_Q(include), 0), - MRB_MT_ENTRY(set_include_p, MRB_SYM_Q(member), 0), - MRB_MT_ENTRY(set_include_p, MRB_OPSYM(eqq), 0), - MRB_MT_ENTRY(set_add, MRB_SYM(add), 0), - MRB_MT_ENTRY(set_add, MRB_OPSYM(lshift), 0), - MRB_MT_ENTRY(set_add_p, MRB_SYM_Q(add), 0), - MRB_MT_ENTRY(set_delete, MRB_SYM(delete), 0), - MRB_MT_ENTRY(set_delete_p, MRB_SYM_Q(delete), 0), - MRB_MT_ENTRY(set_init, MRB_SYM(__init), MRB_MT_NOARG), - MRB_MT_ENTRY(set_core_merge, MRB_SYM(__merge), 0), - MRB_MT_ENTRY(set_core_subtract, MRB_SYM(__subtract), 0), - MRB_MT_ENTRY(set_core_union, MRB_SYM(__union), 0), - MRB_MT_ENTRY(set_core_difference, MRB_SYM(__difference), 0), - MRB_MT_ENTRY(set_core_intersection, MRB_SYM(__intersection), 0), - MRB_MT_ENTRY(set_core_xor, MRB_SYM(__xor), 0), - MRB_MT_ENTRY(set_equal, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(set_hash_m, MRB_SYM(hash), MRB_MT_NOARG), - MRB_MT_ENTRY(set_join, MRB_SYM(join), 0), - MRB_MT_ENTRY(set_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(set_inspect, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(set_reset, MRB_SYM(reset), MRB_MT_NOARG), - MRB_MT_ENTRY(set_add_all, MRB_SYM(add_all), 0), - MRB_MT_ENTRY(set_delete_all, MRB_SYM(delete_all), 0), - MRB_MT_ENTRY(set_include_all_p, MRB_SYM_Q(include_all), 0), - MRB_MT_ENTRY(set_include_any_p, MRB_SYM_Q(include_any), 0), - MRB_MT_ENTRY(set_superset_p, MRB_SYM_Q(superset), 0), - MRB_MT_ENTRY(set_superset_p, MRB_OPSYM(ge), 0), - MRB_MT_ENTRY(set_proper_superset_p, MRB_SYM_Q(proper_superset), 0), - MRB_MT_ENTRY(set_proper_superset_p, MRB_OPSYM(gt), 0), - MRB_MT_ENTRY(set_subset_p, MRB_SYM_Q(subset), 0), - MRB_MT_ENTRY(set_subset_p, MRB_OPSYM(le), 0), - MRB_MT_ENTRY(set_proper_subset_p, MRB_SYM_Q(proper_subset), 0), - MRB_MT_ENTRY(set_proper_subset_p, MRB_OPSYM(lt), 0), - MRB_MT_ENTRY(set_intersect_p, MRB_SYM_Q(intersect), 0), - MRB_MT_ENTRY(set_disjoint_p, MRB_SYM_Q(disjoint), 0), - MRB_MT_ENTRY(set_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(set_flatten, MRB_SYM(flatten), MRB_MT_NOARG), - MRB_MT_ENTRY(set_flatten_bang, MRB_SYM_B(flatten), MRB_MT_NOARG), + MRB_MT_ENTRY(set_size, MRB_SYM(size), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_size, MRB_SYM(length), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_empty_p, MRB_SYM_Q(empty), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_clear, MRB_SYM(clear), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_to_a, MRB_SYM(to_a), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_include_p, MRB_SYM_Q(include), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_include_p, MRB_SYM_Q(member), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_include_p, MRB_OPSYM(eqq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_add, MRB_SYM(add), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_add, MRB_OPSYM(lshift), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_add_p, MRB_SYM_Q(add), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_delete, MRB_SYM(delete), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_delete_p, MRB_SYM_Q(delete), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_init, MRB_SYM(__init), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_core_merge, MRB_SYM(__merge), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_core_subtract, MRB_SYM(__subtract), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_core_union, MRB_SYM(__union), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_core_difference, MRB_SYM(__difference), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_core_intersection, MRB_SYM(__intersection), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_core_xor, MRB_SYM(__xor), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_equal, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_hash_m, MRB_SYM(hash), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_join, MRB_SYM(join), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(set_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_inspect, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_reset, MRB_SYM(reset), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_add_all, MRB_SYM(add_all), MRB_ARGS_ANY()), + MRB_MT_ENTRY(set_delete_all, MRB_SYM(delete_all), MRB_ARGS_ANY()), + MRB_MT_ENTRY(set_include_all_p, MRB_SYM_Q(include_all), MRB_ARGS_ANY()), + MRB_MT_ENTRY(set_include_any_p, MRB_SYM_Q(include_any), MRB_ARGS_ANY()), + MRB_MT_ENTRY(set_superset_p, MRB_SYM_Q(superset), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_superset_p, MRB_OPSYM(ge), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_proper_superset_p, MRB_SYM_Q(proper_superset), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_proper_superset_p, MRB_OPSYM(gt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_subset_p, MRB_SYM_Q(subset), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_subset_p, MRB_OPSYM(le), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_proper_subset_p, MRB_SYM_Q(proper_subset), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_proper_subset_p, MRB_OPSYM(lt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_intersect_p, MRB_SYM_Q(intersect), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_disjoint_p, MRB_SYM_Q(disjoint), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(set_flatten, MRB_SYM(flatten), MRB_ARGS_NONE()), + MRB_MT_ENTRY(set_flatten_bang, MRB_SYM_B(flatten), MRB_ARGS_NONE()), }; static mrb_mt_tbl set_rom_mt = MRB_MT_ROM_TAB(set_rom_entries); diff --git a/mrbgems/mruby-socket/src/socket.c b/mrbgems/mruby-socket/src/socket.c index 7975ac513..c745a8457 100644 --- a/mrbgems/mruby-socket/src/socket.c +++ b/mrbgems/mruby-socket/src/socket.c @@ -1272,50 +1272,50 @@ mrb_win32_basicsocket_syswrite(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry addrinfo_rom_entries[] = { - MRB_MT_ENTRY(mrb_addrinfo_getnameinfo, MRB_SYM(getnameinfo), 0), - MRB_MT_ENTRY(mrb_addrinfo_unix_path, MRB_SYM(unix_path), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_addrinfo_getnameinfo, MRB_SYM(getnameinfo), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_addrinfo_unix_path, MRB_SYM(unix_path), MRB_ARGS_NONE()), }; static mrb_mt_tbl addrinfo_rom_mt = MRB_MT_ROM_TAB(addrinfo_rom_entries); static const mrb_mt_entry basicsocket_rom_entries[] = { - MRB_MT_ENTRY(mrb_basicsocket_recvfrom, MRB_SYM(_recvfrom), 0), - MRB_MT_ENTRY(mrb_basicsocket_setnonblock, MRB_SYM(_setnonblock), 0), - MRB_MT_ENTRY(mrb_basicsocket_getpeereid, MRB_SYM(getpeereid), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_basicsocket_getpeername, MRB_SYM(getpeername), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_basicsocket_getsockname, MRB_SYM(getsockname), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_basicsocket_getsockopt, MRB_SYM(getsockopt), 0), - MRB_MT_ENTRY(mrb_basicsocket_recv, MRB_SYM(recv), 0), - MRB_MT_ENTRY(mrb_basicsocket_send, MRB_SYM(send), 0), - MRB_MT_ENTRY(mrb_basicsocket_setsockopt, MRB_SYM(setsockopt), 0), - MRB_MT_ENTRY(mrb_basicsocket_shutdown, MRB_SYM(shutdown), 0), - MRB_MT_ENTRY(mrb_basicsocket_set_is_socket, MRB_SYM_E(_is_socket), 0), + MRB_MT_ENTRY(mrb_basicsocket_recvfrom, MRB_SYM(_recvfrom), MRB_ARGS_REQ(1)|MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_basicsocket_setnonblock, MRB_SYM(_setnonblock), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_basicsocket_getpeereid, MRB_SYM(getpeereid), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_basicsocket_getpeername, MRB_SYM(getpeername), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_basicsocket_getsockname, MRB_SYM(getsockname), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_basicsocket_getsockopt, MRB_SYM(getsockopt), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(mrb_basicsocket_recv, MRB_SYM(recv), MRB_ARGS_REQ(1)|MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_basicsocket_send, MRB_SYM(send), MRB_ARGS_REQ(2)|MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_basicsocket_setsockopt, MRB_SYM(setsockopt), MRB_ARGS_REQ(1)|MRB_ARGS_OPT(2)), + MRB_MT_ENTRY(mrb_basicsocket_shutdown, MRB_SYM(shutdown), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_basicsocket_set_is_socket, MRB_SYM_E(_is_socket), MRB_ARGS_REQ(1)), #ifdef _WIN32 - MRB_MT_ENTRY(mrb_win32_basicsocket_close, MRB_SYM(close), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_win32_basicsocket_sysread, MRB_SYM(sysread), 0), - MRB_MT_ENTRY(mrb_win32_basicsocket_sysseek, MRB_SYM(sysseek), 0), - MRB_MT_ENTRY(mrb_win32_basicsocket_syswrite, MRB_SYM(syswrite), 0), - MRB_MT_ENTRY(mrb_win32_basicsocket_sysread, MRB_SYM(read), 0), - MRB_MT_ENTRY(mrb_win32_basicsocket_syswrite, MRB_SYM(write), 0), + MRB_MT_ENTRY(mrb_win32_basicsocket_close, MRB_SYM(close), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_win32_basicsocket_sysread, MRB_SYM(sysread), MRB_ARGS_REQ(1)|MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_win32_basicsocket_sysseek, MRB_SYM(sysseek), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_win32_basicsocket_syswrite, MRB_SYM(syswrite), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_win32_basicsocket_sysread, MRB_SYM(read), MRB_ARGS_REQ(1)|MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(mrb_win32_basicsocket_syswrite, MRB_SYM(write), MRB_ARGS_REQ(1)), #endif }; static mrb_mt_tbl basicsocket_rom_mt = MRB_MT_ROM_TAB(basicsocket_rom_entries); static const mrb_mt_entry ipsocket_rom_entries[] = { - MRB_MT_ENTRY(mrb_ipsocket_recvfrom, MRB_SYM(recvfrom), 0), + MRB_MT_ENTRY(mrb_ipsocket_recvfrom, MRB_SYM(recvfrom), MRB_ARGS_REQ(1)|MRB_ARGS_OPT(1)), }; static mrb_mt_tbl ipsocket_rom_mt = MRB_MT_ROM_TAB(ipsocket_rom_entries); static const mrb_mt_entry socket_option_rom_entries[] = { - MRB_MT_ENTRY(socket_option_init, MRB_SYM(initialize), 0), - MRB_MT_ENTRY(socket_option_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_family, MRB_SYM(family), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_level, MRB_SYM(level), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_optname, MRB_SYM(optname), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_data, MRB_SYM(data), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_bool, MRB_SYM(bool), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_int, MRB_SYM(int), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_notimp, MRB_SYM(linger), MRB_MT_NOARG), - MRB_MT_ENTRY(socket_option_notimp, MRB_SYM(unpack), 0), + MRB_MT_ENTRY(socket_option_init, MRB_SYM(initialize), MRB_ARGS_REQ(4)), + MRB_MT_ENTRY(socket_option_inspect, MRB_SYM(inspect), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_family, MRB_SYM(family), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_level, MRB_SYM(level), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_optname, MRB_SYM(optname), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_data, MRB_SYM(data), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_bool, MRB_SYM(bool), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_int, MRB_SYM(int), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_notimp, MRB_SYM(linger), MRB_ARGS_REQ(0)), + MRB_MT_ENTRY(socket_option_notimp, MRB_SYM(unpack), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl socket_option_rom_mt = MRB_MT_ROM_TAB(socket_option_rom_entries); diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 4e9e89f3b..bbdb922a8 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -2220,59 +2220,59 @@ 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_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), + MRB_MT_ENTRY(mrb_str_dump, MRB_SYM(dump), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_swapcase_bang, MRB_SYM_B(swapcase), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_str_slice_bang, MRB_SYM_B(slice), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(str_swapcase, MRB_SYM(swapcase), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_clear, MRB_SYM(clear), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_concat_m, MRB_OPSYM(lshift), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_concat_m, MRB_SYM(concat), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_append_as_bytes, MRB_SYM(append_as_bytes), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_count, MRB_SYM(count), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_tr_m, MRB_SYM(tr), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(str_partition, MRB_SYM(partition), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_rpartition, MRB_SYM(rpartition), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_insert, MRB_SYM(insert), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(str_prepend, MRB_SYM(prepend), MRB_ARGS_REST()), + MRB_MT_ENTRY(str_tr_bang, MRB_SYM_B(tr), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(str_tr_s, MRB_SYM(tr_s), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(str_tr_s_bang, MRB_SYM_B(tr_s), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(str_squeeze_m, MRB_SYM(squeeze), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(str_squeeze_bang, MRB_SYM_B(squeeze), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(str_delete_m, MRB_SYM(delete), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_delete_bang, MRB_SYM_B(delete), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_start_with, MRB_SYM_Q(start_with), MRB_ARGS_REST()), + MRB_MT_ENTRY(str_end_with, MRB_SYM_Q(end_with), MRB_ARGS_REST()), + MRB_MT_ENTRY(str_hex, MRB_SYM(hex), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_oct, MRB_SYM(oct), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_chr, MRB_SYM(chr), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_succ, MRB_SYM(succ), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_succ_bang, MRB_SYM_B(succ), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_succ, MRB_SYM(next), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_succ_bang, MRB_SYM_B(next), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_ord, MRB_SYM(ord), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_del_prefix_bang, MRB_SYM_B(delete_prefix), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_del_prefix, MRB_SYM(delete_prefix), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_del_suffix_bang, MRB_SYM_B(delete_suffix), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_del_suffix, MRB_SYM(delete_suffix), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_casecmp, MRB_SYM(casecmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_casecmp_p, MRB_SYM_Q(casecmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_uplus, MRB_OPSYM(plus), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_uminus, MRB_OPSYM(minus), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(str_ascii_only_p, MRB_SYM_Q(ascii_only), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_b, MRB_SYM(b), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_lines, MRB_SYM(__lines), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_codepoints, MRB_SYM(__codepoints), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_lstrip, MRB_SYM(lstrip), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_rstrip, MRB_SYM(rstrip), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_strip, MRB_SYM(strip), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_lstrip_bang, MRB_SYM_B(lstrip), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_rstrip_bang, MRB_SYM_B(rstrip), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_strip_bang, MRB_SYM_B(strip), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_chars_ary, MRB_SYM(__chars), MRB_ARGS_NONE()), + MRB_MT_ENTRY(str_ljust_core, MRB_SYM(ljust), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(str_rjust_core, MRB_SYM(rjust), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(str_center_core, MRB_SYM(center), MRB_ARGS_ARG(1,1)), }; static mrb_mt_tbl string_ext_rom_mt = MRB_MT_ROM_TAB(string_ext_rom_entries); diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index 448858d85..7b1a04b07 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -777,21 +777,21 @@ mrb_struct_to_s(mrb_state *mrb, mrb_value self) */ /* ---------------------------*/ static const mrb_mt_entry struct_rom_entries[] = { - MRB_MT_ENTRY(mrb_struct_equal, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(mrb_struct_aref, MRB_OPSYM(aref), 0), - MRB_MT_ENTRY(mrb_struct_aset, MRB_OPSYM(aset), 0), - MRB_MT_ENTRY(mrb_struct_members, MRB_SYM(members), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_initialize, MRB_SYM(initialize), 0), - MRB_MT_ENTRY(mrb_struct_init_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_struct_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(mrb_struct_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_len, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_len, MRB_SYM(length), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_to_a, MRB_SYM(to_a), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_to_a, MRB_SYM(values), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_to_h, MRB_SYM(to_h), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_struct_values_at, MRB_SYM(values_at), 0), + MRB_MT_ENTRY(mrb_struct_equal, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.2.18.4.1 */ + MRB_MT_ENTRY(mrb_struct_aref, MRB_OPSYM(aref), MRB_ARGS_REQ(1)), /* 15.2.18.4.2 */ + MRB_MT_ENTRY(mrb_struct_aset, MRB_OPSYM(aset), MRB_ARGS_REQ(2)), /* 15.2.18.4.3 */ + MRB_MT_ENTRY(mrb_struct_members, MRB_SYM(members), MRB_ARGS_NONE()), /* 15.2.18.4.6 */ + MRB_MT_ENTRY(mrb_struct_initialize, MRB_SYM(initialize), MRB_ARGS_ANY()), /* 15.2.18.4.8 */ + MRB_MT_ENTRY_PRIVATE(mrb_struct_init_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.2.18.4.9 */ + MRB_MT_ENTRY(mrb_struct_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), /* 15.2.18.4.12(x) */ + MRB_MT_ENTRY(mrb_struct_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.18.4.11(x) */ + MRB_MT_ENTRY(mrb_struct_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), /* 15.2.18.4.10(x) */ + MRB_MT_ENTRY(mrb_struct_len, MRB_SYM(size), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_struct_len, MRB_SYM(length), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_struct_to_a, MRB_SYM(to_a), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_struct_to_a, MRB_SYM(values), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_struct_to_h, MRB_SYM(to_h), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_struct_values_at, MRB_SYM(values_at), MRB_ARGS_ANY()), }; static mrb_mt_tbl struct_rom_mt = MRB_MT_ROM_TAB(struct_rom_entries); diff --git a/mrbgems/mruby-symbol-ext/src/symbol.c b/mrbgems/mruby-symbol-ext/src/symbol.c index 76e916654..4a97d84f6 100644 --- a/mrbgems/mruby-symbol-ext/src/symbol.c +++ b/mrbgems/mruby-symbol-ext/src/symbol.c @@ -59,8 +59,8 @@ mrb_sym_length(mrb_state *mrb, mrb_value self) } static const mrb_mt_entry symbol_ext_rom_entries[] = { - MRB_MT_ENTRY(mrb_sym_length, MRB_SYM(length), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_sym_length, MRB_SYM(size), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_sym_length, MRB_SYM(length), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_sym_length, MRB_SYM(size), MRB_ARGS_NONE()), }; static mrb_mt_tbl symbol_ext_rom_mt = MRB_MT_ROM_TAB(symbol_ext_rom_entries); diff --git a/mrbgems/mruby-time/src/time.c b/mrbgems/mruby-time/src/time.c index 358e91f96..1d23133df 100644 --- a/mrbgems/mruby-time/src/time.c +++ b/mrbgems/mruby-time/src/time.c @@ -1665,54 +1665,54 @@ time_utc_offset(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry time_rom_entries[] = { - MRB_MT_ENTRY(time_hash, MRB_SYM(hash), MRB_MT_NOARG), - MRB_MT_ENTRY(time_eq, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(time_eq, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(time_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(time_plus, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(time_minus, MRB_OPSYM(sub), 0), - MRB_MT_ENTRY(time_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(time_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(time_asctime, MRB_SYM(asctime), MRB_MT_NOARG), - MRB_MT_ENTRY(time_asctime, MRB_SYM(ctime), MRB_MT_NOARG), - MRB_MT_ENTRY(time_day, MRB_SYM(day), MRB_MT_NOARG), - MRB_MT_ENTRY(time_dst_p, MRB_SYM_Q(dst), MRB_MT_NOARG), - MRB_MT_ENTRY(time_getutc, MRB_SYM(getgm), MRB_MT_NOARG), - MRB_MT_ENTRY(time_getlocal, MRB_SYM(getlocal), MRB_MT_NOARG), - MRB_MT_ENTRY(time_getutc, MRB_SYM(getutc), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc_p, MRB_SYM_Q(gmt), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc, MRB_SYM(gmtime), MRB_MT_NOARG), - MRB_MT_ENTRY(time_hour, MRB_SYM(hour), MRB_MT_NOARG), - MRB_MT_ENTRY(time_localtime, MRB_SYM(localtime), MRB_MT_NOARG), - MRB_MT_ENTRY(time_day, MRB_SYM(mday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_min, MRB_SYM(min), MRB_MT_NOARG), - MRB_MT_ENTRY(time_mon, MRB_SYM(mon), MRB_MT_NOARG), - MRB_MT_ENTRY(time_mon, MRB_SYM(month), MRB_MT_NOARG), - MRB_MT_ENTRY(time_sec, MRB_SYM(sec), MRB_MT_NOARG), - MRB_MT_ENTRY(time_to_i, MRB_SYM(to_i), MRB_MT_NOARG), - MRB_MT_ENTRY(time_usec, MRB_SYM(usec), MRB_MT_NOARG), - MRB_MT_ENTRY(time_nsec, MRB_SYM(nsec), MRB_MT_NOARG), - MRB_MT_ENTRY(time_nsec, MRB_SYM(tv_nsec), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc, MRB_SYM(utc), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc_p, MRB_SYM_Q(utc), MRB_MT_NOARG), - MRB_MT_ENTRY(time_wday, MRB_SYM(wday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_yday, MRB_SYM(yday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_year, MRB_SYM(year), MRB_MT_NOARG), - MRB_MT_ENTRY(time_zone, MRB_SYM(zone), MRB_MT_NOARG), - MRB_MT_ENTRY(time_init, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(time_init_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(time_sunday, MRB_SYM_Q(sunday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_monday, MRB_SYM_Q(monday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_tuesday, MRB_SYM_Q(tuesday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_wednesday, MRB_SYM_Q(wednesday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_thursday, MRB_SYM_Q(thursday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_friday, MRB_SYM_Q(friday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_saturday, MRB_SYM_Q(saturday), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc_offset, MRB_SYM(gmt_offset), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc_offset, MRB_SYM(gmtoff), MRB_MT_NOARG), - MRB_MT_ENTRY(time_utc_offset, MRB_SYM(utc_offset), MRB_MT_NOARG), + MRB_MT_ENTRY(time_hash, MRB_SYM(hash), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_eq, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(time_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(time_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), /* 15.2.19.7.1 */ + MRB_MT_ENTRY(time_plus, MRB_OPSYM(add), MRB_ARGS_REQ(1)), /* 15.2.19.7.2 */ + MRB_MT_ENTRY(time_minus, MRB_OPSYM(sub), MRB_ARGS_REQ(1)), /* 15.2.19.7.3 */ + MRB_MT_ENTRY(time_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_asctime, MRB_SYM(asctime), MRB_ARGS_NONE()), /* 15.2.19.7.4 */ + MRB_MT_ENTRY(time_asctime, MRB_SYM(ctime), MRB_ARGS_NONE()), /* 15.2.19.7.5 */ + MRB_MT_ENTRY(time_day, MRB_SYM(day), MRB_ARGS_NONE()), /* 15.2.19.7.6 */ + MRB_MT_ENTRY(time_dst_p, MRB_SYM_Q(dst), MRB_ARGS_NONE()), /* 15.2.19.7.7 */ + MRB_MT_ENTRY(time_getutc, MRB_SYM(getgm), MRB_ARGS_NONE()), /* 15.2.19.7.8 */ + MRB_MT_ENTRY(time_getlocal, MRB_SYM(getlocal), MRB_ARGS_NONE()), /* 15.2.19.7.9 */ + MRB_MT_ENTRY(time_getutc, MRB_SYM(getutc), MRB_ARGS_NONE()), /* 15.2.19.7.10 */ + MRB_MT_ENTRY(time_utc_p, MRB_SYM_Q(gmt), MRB_ARGS_NONE()), /* 15.2.19.7.11 */ + MRB_MT_ENTRY(time_utc, MRB_SYM(gmtime), MRB_ARGS_NONE()), /* 15.2.19.7.13 */ + MRB_MT_ENTRY(time_hour, MRB_SYM(hour), MRB_ARGS_NONE()), /* 15.2.19.7.15 */ + MRB_MT_ENTRY(time_localtime, MRB_SYM(localtime), MRB_ARGS_NONE()), /* 15.2.19.7.18 */ + MRB_MT_ENTRY(time_day, MRB_SYM(mday), MRB_ARGS_NONE()), /* 15.2.19.7.19 */ + MRB_MT_ENTRY(time_min, MRB_SYM(min), MRB_ARGS_NONE()), /* 15.2.19.7.20 */ + MRB_MT_ENTRY(time_mon, MRB_SYM(mon), MRB_ARGS_NONE()), /* 15.2.19.7.21 */ + MRB_MT_ENTRY(time_mon, MRB_SYM(month), MRB_ARGS_NONE()), /* 15.2.19.7.22 */ + MRB_MT_ENTRY(time_sec, MRB_SYM(sec), MRB_ARGS_NONE()), /* 15.2.19.7.23 */ + MRB_MT_ENTRY(time_to_i, MRB_SYM(to_i), MRB_ARGS_NONE()), /* 15.2.19.7.25 */ + MRB_MT_ENTRY(time_usec, MRB_SYM(usec), MRB_ARGS_NONE()), /* 15.2.19.7.26 */ + MRB_MT_ENTRY(time_nsec, MRB_SYM(nsec), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_nsec, MRB_SYM(tv_nsec), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_utc, MRB_SYM(utc), MRB_ARGS_NONE()), /* 15.2.19.7.27 */ + MRB_MT_ENTRY(time_utc_p, MRB_SYM_Q(utc), MRB_ARGS_NONE()), /* 15.2.19.7.28 */ + MRB_MT_ENTRY(time_wday, MRB_SYM(wday), MRB_ARGS_NONE()), /* 15.2.19.7.30 */ + MRB_MT_ENTRY(time_yday, MRB_SYM(yday), MRB_ARGS_NONE()), /* 15.2.19.7.31 */ + MRB_MT_ENTRY(time_year, MRB_SYM(year), MRB_ARGS_NONE()), /* 15.2.19.7.32 */ + MRB_MT_ENTRY(time_zone, MRB_SYM(zone), MRB_ARGS_NONE()), /* 15.2.19.7.33 */ + MRB_MT_ENTRY_PRIVATE(time_init, MRB_SYM(initialize), MRB_ARGS_REQ(1)), /* 15.2.19.7.16 */ + MRB_MT_ENTRY_PRIVATE(time_init_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.2.19.7.17 */ + MRB_MT_ENTRY(time_sunday, MRB_SYM_Q(sunday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_monday, MRB_SYM_Q(monday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_tuesday, MRB_SYM_Q(tuesday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_wednesday, MRB_SYM_Q(wednesday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_thursday, MRB_SYM_Q(thursday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_friday, MRB_SYM_Q(friday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_saturday, MRB_SYM_Q(saturday), MRB_ARGS_NONE()), + MRB_MT_ENTRY(time_utc_offset, MRB_SYM(gmt_offset), MRB_ARGS_NONE()), /* 15.2.19.7.12 */ + MRB_MT_ENTRY(time_utc_offset, MRB_SYM(gmtoff), MRB_ARGS_NONE()), /* 15.2.19.7.14 */ + MRB_MT_ENTRY(time_utc_offset, MRB_SYM(utc_offset), MRB_ARGS_NONE()), /* 15.2.19.7.29 */ #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(time_to_f, MRB_SYM(to_f), MRB_MT_NOARG), + MRB_MT_ENTRY(time_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), /* 15.2.19.7.24 */ #endif }; static mrb_mt_tbl time_rom_mt = MRB_MT_ROM_TAB(time_rom_entries); diff --git a/src/array.c b/src/array.c index ea0cf61fb..915cba155 100644 --- a/src/array.c +++ b/src/array.c @@ -2250,42 +2250,42 @@ mrb_ary_to_a(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry array_rom_entries[] = { - MRB_MT_ENTRY(mrb_ary_plus, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(mrb_ary_times, MRB_OPSYM(mul), 0), - MRB_MT_ENTRY(mrb_ary_push_m, MRB_OPSYM(lshift), 0), - MRB_MT_ENTRY(mrb_ary_aget, MRB_OPSYM(aref), 0), - MRB_MT_ENTRY(mrb_ary_aset, MRB_OPSYM(aset), 0), - MRB_MT_ENTRY(mrb_ary_clear, MRB_SYM(clear), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(mrb_ary_concat_m, MRB_SYM(concat), 0), - MRB_MT_ENTRY(mrb_ary_delete, MRB_SYM(delete), 0), - MRB_MT_ENTRY(mrb_ary_delete_at, MRB_SYM(delete_at), 0), - MRB_MT_ENTRY(mrb_ary_empty_p, MRB_SYM_Q(empty), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_eq, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(mrb_ary_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(mrb_ary_first, MRB_SYM(first), 0), - MRB_MT_ENTRY(mrb_ary_index_m, MRB_SYM(index), 0), - MRB_MT_ENTRY(mrb_ary_init, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_ary_replace_m, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_ary_join_m, MRB_SYM(join), 0), - MRB_MT_ENTRY(mrb_ary_last, MRB_SYM(last), 0), - MRB_MT_ENTRY(mrb_ary_size, MRB_SYM(length), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_pop, MRB_SYM(pop), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_push_m, MRB_SYM(push), 0), - MRB_MT_ENTRY(mrb_ary_replace_m, MRB_SYM(replace), 0), - MRB_MT_ENTRY(mrb_ary_reverse, MRB_SYM(reverse), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_reverse_bang, MRB_SYM_B(reverse), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_rindex_m, MRB_SYM(rindex), 0), - MRB_MT_ENTRY(mrb_ary_shift_m, MRB_SYM(shift), 0), - MRB_MT_ENTRY(mrb_ary_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_aget, MRB_SYM(slice), 0), - MRB_MT_ENTRY(mrb_ary_unshift_m, MRB_SYM(unshift), 0), - MRB_MT_ENTRY(mrb_ary_to_a, MRB_SYM(to_a), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_to_a, MRB_SYM(entries), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_sort_bang, MRB_SYM_B(sort), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_ary_svalue, MRB_SYM(__svalue), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_ary_plus, MRB_OPSYM(add), MRB_ARGS_REQ(1)), /* 15.2.12.5.1 */ + MRB_MT_ENTRY(mrb_ary_times, MRB_OPSYM(mul), MRB_ARGS_REQ(1)), /* 15.2.12.5.2 */ + MRB_MT_ENTRY(mrb_ary_push_m, MRB_OPSYM(lshift), MRB_ARGS_REQ(1)), /* 15.2.12.5.3 */ + MRB_MT_ENTRY(mrb_ary_aget, MRB_OPSYM(aref), MRB_ARGS_ARG(1,1)), /* 15.2.12.5.4 */ + MRB_MT_ENTRY(mrb_ary_aset, MRB_OPSYM(aset), MRB_ARGS_ARG(2,1)), /* 15.2.12.5.5 */ + MRB_MT_ENTRY(mrb_ary_clear, MRB_SYM(clear), MRB_ARGS_NONE()), /* 15.2.12.5.6 */ + MRB_MT_ENTRY(mrb_ary_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_ary_concat_m, MRB_SYM(concat), MRB_ARGS_REQ(1)), /* 15.2.12.5.8 */ + MRB_MT_ENTRY(mrb_ary_delete, MRB_SYM(delete), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_ary_delete_at, MRB_SYM(delete_at), MRB_ARGS_REQ(1)), /* 15.2.12.5.9 */ + MRB_MT_ENTRY(mrb_ary_empty_p, MRB_SYM_Q(empty), MRB_ARGS_NONE()), /* 15.2.12.5.12 */ + MRB_MT_ENTRY(mrb_ary_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_ary_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_ary_first, MRB_SYM(first), MRB_ARGS_OPT(1)), /* 15.2.12.5.13 */ + MRB_MT_ENTRY(mrb_ary_index_m, MRB_SYM(index), MRB_ARGS_REQ(1)), /* 15.2.12.5.14 */ + MRB_MT_ENTRY_PRIVATE(mrb_ary_init, MRB_SYM(initialize), MRB_ARGS_OPT(2)), /* 15.2.12.5.15 */ + MRB_MT_ENTRY_PRIVATE(mrb_ary_replace_m, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.2.12.5.16 */ + MRB_MT_ENTRY(mrb_ary_join_m, MRB_SYM(join), MRB_ARGS_OPT(1)), /* 15.2.12.5.17 */ + MRB_MT_ENTRY(mrb_ary_last, MRB_SYM(last), MRB_ARGS_OPT(1)), /* 15.2.12.5.18 */ + MRB_MT_ENTRY(mrb_ary_size, MRB_SYM(length), MRB_ARGS_NONE()), /* 15.2.12.5.19 */ + MRB_MT_ENTRY(mrb_ary_pop, MRB_SYM(pop), MRB_ARGS_NONE()), /* 15.2.12.5.21 */ + MRB_MT_ENTRY(mrb_ary_push_m, MRB_SYM(push), MRB_ARGS_ANY()), /* 15.2.12.5.22 */ + MRB_MT_ENTRY(mrb_ary_replace_m, MRB_SYM(replace), MRB_ARGS_REQ(1)), /* 15.2.12.5.23 */ + MRB_MT_ENTRY(mrb_ary_reverse, MRB_SYM(reverse), MRB_ARGS_NONE()), /* 15.2.12.5.24 */ + MRB_MT_ENTRY(mrb_ary_reverse_bang, MRB_SYM_B(reverse), MRB_ARGS_NONE()), /* 15.2.12.5.25 */ + MRB_MT_ENTRY(mrb_ary_rindex_m, MRB_SYM(rindex), MRB_ARGS_REQ(1)), /* 15.2.12.5.26 */ + MRB_MT_ENTRY(mrb_ary_shift_m, MRB_SYM(shift), MRB_ARGS_OPT(1)), /* 15.2.12.5.27 */ + MRB_MT_ENTRY(mrb_ary_size, MRB_SYM(size), MRB_ARGS_NONE()), /* 15.2.12.5.28 */ + MRB_MT_ENTRY(mrb_ary_aget, MRB_SYM(slice), MRB_ARGS_ARG(1,1)), /* 15.2.12.5.29 */ + MRB_MT_ENTRY(mrb_ary_unshift_m, MRB_SYM(unshift), MRB_ARGS_ANY()), /* 15.2.12.5.30 */ + MRB_MT_ENTRY(mrb_ary_to_a, MRB_SYM(to_a), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_ary_to_a, MRB_SYM(entries), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_ary_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_ary_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_ary_sort_bang, MRB_SYM_B(sort), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_ary_svalue, MRB_SYM(__svalue), MRB_ARGS_NONE()), }; static mrb_mt_tbl array_rom_mt = MRB_MT_ROM_TAB(array_rom_entries); diff --git a/src/class.c b/src/class.c index 7e07941e4..d6b14cc0d 100644 --- a/src/class.c +++ b/src/class.c @@ -4260,63 +4260,63 @@ static const struct RProc neq_proc = { /* ---------------------------*/ static const mrb_mt_entry bob_rom_entries[] = { - MRB_MT_ENTRY(mrb_obj_equal_m, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(mrb_bob_not, MRB_OPSYM(not), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_id_m, MRB_SYM(__id__), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_f_send, MRB_SYM(__send__), 0), - MRB_MT_ENTRY(mrb_obj_equal_m, MRB_SYM_Q(equal), 0), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(initialize), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_obj_instance_eval, MRB_SYM(instance_eval), 0), - MRB_MT_ENTRY(mrb_obj_missing, MRB_SYM(method_missing), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(singleton_method_added), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(singleton_method_removed), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(singleton_method_undefined), MRB_MT_PRIVATE), + MRB_MT_ENTRY(mrb_obj_equal_m, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.3.1.3.1 */ + MRB_MT_ENTRY(mrb_bob_not, MRB_OPSYM(not), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_id_m, MRB_SYM(__id__), MRB_ARGS_NONE()), /* 15.3.1.3.4 */ + MRB_MT_ENTRY(mrb_f_send, MRB_SYM(__send__), MRB_ARGS_REQ(1)|MRB_ARGS_REST()|MRB_ARGS_BLOCK()), /* 15.3.1.3.5 */ + MRB_MT_ENTRY(mrb_obj_equal_m, MRB_SYM_Q(equal), MRB_ARGS_REQ(1)), /* 15.3.1.3.11 */ + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(initialize), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_instance_eval, MRB_SYM(instance_eval), MRB_ARGS_OPT(1)|MRB_ARGS_BLOCK()), /* 15.3.1.3.18 */ + MRB_MT_ENTRY_PRIVATE(mrb_obj_missing, MRB_SYM(method_missing), MRB_ARGS_ANY()), /* 15.3.1.3.30 */ + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(singleton_method_added), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(singleton_method_removed), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(singleton_method_undefined), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl bob_rom_mt = MRB_MT_ROM_TAB(bob_rom_entries); static const mrb_mt_entry cls_rom_entries[] = { - MRB_MT_ENTRY(mrb_instance_alloc, MRB_SYM(allocate), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(inherited), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_class_initialize, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_class_superclass, MRB_SYM(superclass), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_instance_alloc, MRB_SYM(allocate), MRB_ARGS_NONE()), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(inherited), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_class_initialize, MRB_SYM(initialize), MRB_ARGS_OPT(1)), /* 15.2.3.3.1 */ + MRB_MT_ENTRY(mrb_class_superclass, MRB_SYM(superclass), MRB_ARGS_NONE()), /* 15.2.3.3.4 */ }; static mrb_mt_tbl cls_rom_mt = MRB_MT_ROM_TAB(cls_rom_entries); static const mrb_mt_entry mod_rom_entries[] = { - MRB_MT_ENTRY(mrb_mod_eqq, MRB_OPSYM(eqq), 0), - MRB_MT_ENTRY(mrb_mod_alias, MRB_SYM(alias_method), 0), - MRB_MT_ENTRY(mrb_mod_ancestors, MRB_SYM(ancestors), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_mod_attr_accessor, MRB_SYM(attr_accessor), 0), - MRB_MT_ENTRY(mrb_mod_attr_reader, MRB_SYM(attr_reader), 0), - MRB_MT_ENTRY(mrb_mod_attr_writer, MRB_SYM(attr_writer), 0), - MRB_MT_ENTRY(mrb_mod_module_eval, MRB_SYM(class_eval), 0), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(const_added), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_const_defined, MRB_SYM_Q(const_defined), 0), - MRB_MT_ENTRY(mrb_mod_const_get, MRB_SYM(const_get), 0), - MRB_MT_ENTRY(mrb_mod_const_missing, MRB_SYM(const_missing), 0), - MRB_MT_ENTRY(mrb_mod_const_set, MRB_SYM(const_set), 0), - MRB_MT_ENTRY(mod_define_method, MRB_SYM(define_method), 0), - MRB_MT_ENTRY(mrb_mod_dup, MRB_SYM(dup), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(extended), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_include, MRB_SYM(include), 0), - MRB_MT_ENTRY(mrb_mod_include_p, MRB_SYM_Q(include), 0), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(included), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_initialize, MRB_SYM(initialize), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(method_added), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(method_removed), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_method_defined, MRB_SYM_Q(method_defined), 0), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(method_undefined), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_module_eval, MRB_SYM(module_eval), 0), - MRB_MT_ENTRY(mrb_mod_module_function, MRB_SYM(module_function), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_prepend, MRB_SYM(prepend), 0), - MRB_MT_ENTRY(mrb_do_nothing, MRB_SYM(prepended), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_private, MRB_SYM(private), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_protected, MRB_SYM(protected), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_public, MRB_SYM(public), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_remove_const, MRB_SYM(remove_const), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_mod_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_mod_undef, MRB_SYM(undef_method), 0), + MRB_MT_ENTRY(mrb_mod_eqq, MRB_OPSYM(eqq), MRB_ARGS_REQ(1)), /* 15.2.2.4.7 */ + MRB_MT_ENTRY(mrb_mod_alias, MRB_SYM(alias_method), MRB_ARGS_ANY()), /* 15.2.2.4.8 */ + MRB_MT_ENTRY(mrb_mod_ancestors, MRB_SYM(ancestors), MRB_ARGS_NONE()), /* 15.2.2.4.9 */ + MRB_MT_ENTRY(mrb_mod_attr_accessor, MRB_SYM(attr_accessor), MRB_ARGS_ANY()), /* 15.2.2.4.12 */ + MRB_MT_ENTRY(mrb_mod_attr_reader, MRB_SYM(attr_reader), MRB_ARGS_ANY()), /* 15.2.2.4.13 */ + MRB_MT_ENTRY(mrb_mod_attr_writer, MRB_SYM(attr_writer), MRB_ARGS_ANY()), /* 15.2.2.4.14 */ + MRB_MT_ENTRY(mrb_mod_module_eval, MRB_SYM(class_eval), MRB_ARGS_ANY()), /* 15.2.2.4.15 */ + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(const_added), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_const_defined, MRB_SYM_Q(const_defined), MRB_ARGS_ARG(1,1)), /* 15.2.2.4.20 */ + MRB_MT_ENTRY(mrb_mod_const_get, MRB_SYM(const_get), MRB_ARGS_REQ(1)), /* 15.2.2.4.21 */ + MRB_MT_ENTRY(mrb_mod_const_missing, MRB_SYM(const_missing), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_const_set, MRB_SYM(const_set), MRB_ARGS_REQ(2)), /* 15.2.2.4.23 */ + MRB_MT_ENTRY(mod_define_method, MRB_SYM(define_method), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(mrb_mod_dup, MRB_SYM(dup), MRB_ARGS_NONE()), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(extended), MRB_ARGS_REQ(1)), /* 15.2.2.4.26 */ + MRB_MT_ENTRY(mrb_mod_include, MRB_SYM(include), MRB_ARGS_REQ(1)), /* 15.2.2.4.27 */ + MRB_MT_ENTRY(mrb_mod_include_p, MRB_SYM_Q(include), MRB_ARGS_REQ(1)), /* 15.2.2.4.28 */ + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(included), MRB_ARGS_REQ(1)), /* 15.2.2.4.29 */ + MRB_MT_ENTRY_PRIVATE(mrb_mod_initialize, MRB_SYM(initialize), MRB_ARGS_NONE()), /* 15.2.2.4.31 */ + MRB_MT_ENTRY(mrb_mod_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(method_added), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(method_removed), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_method_defined, MRB_SYM_Q(method_defined), MRB_ARGS_REQ(1)), /* 15.2.2.4.34 */ + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(method_undefined), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_mod_module_eval, MRB_SYM(module_eval), MRB_ARGS_ANY()), /* 15.2.2.4.35 */ + MRB_MT_ENTRY_PRIVATE(mrb_mod_module_function, MRB_SYM(module_function), MRB_ARGS_ANY()), + MRB_MT_ENTRY(mrb_mod_prepend, MRB_SYM(prepend), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_do_nothing, MRB_SYM(prepended), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_mod_private, MRB_SYM(private), MRB_ARGS_ANY()), /* 15.2.2.4.36 */ + MRB_MT_ENTRY_PRIVATE(mrb_mod_protected, MRB_SYM(protected), MRB_ARGS_ANY()), /* 15.2.2.4.37 */ + MRB_MT_ENTRY_PRIVATE(mrb_mod_public, MRB_SYM(public), MRB_ARGS_ANY()), /* 15.2.2.4.38 */ + MRB_MT_ENTRY_PRIVATE(mrb_mod_remove_const, MRB_SYM(remove_const), MRB_ARGS_REQ(1)), /* 15.2.2.4.40 */ + MRB_MT_ENTRY(mrb_mod_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_mod_undef, MRB_SYM(undef_method), MRB_ARGS_ANY()), /* 15.2.2.4.41 */ }; static mrb_mt_tbl mod_rom_mt = MRB_MT_ROM_TAB(mod_rom_entries); diff --git a/src/error.c b/src/error.c index cd8e8efd0..1e12e2266 100644 --- a/src/error.c +++ b/src/error.c @@ -893,13 +893,13 @@ mrb_check_error(mrb_state *mrb) /* ---------------------------*/ static const mrb_mt_entry exception_rom_entries[] = { - MRB_MT_ENTRY(exc_exception, MRB_SYM(exception), 0), - MRB_MT_ENTRY(exc_initialize, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(exc_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(exc_to_s, MRB_SYM(message), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_exc_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_exc_backtrace, MRB_SYM(backtrace), MRB_MT_NOARG), - MRB_MT_ENTRY(exc_set_backtrace, MRB_SYM(set_backtrace), 0), + MRB_MT_ENTRY(exc_exception, MRB_SYM(exception), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY_PRIVATE(exc_initialize, MRB_SYM(initialize), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(exc_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(exc_to_s, MRB_SYM(message), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_exc_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_exc_backtrace, MRB_SYM(backtrace), MRB_ARGS_NONE()), + MRB_MT_ENTRY(exc_set_backtrace, MRB_SYM(set_backtrace), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl exception_rom_mt = MRB_MT_ROM_TAB(exception_rom_entries); diff --git a/src/hash.c b/src/hash.c index 44c141c9b..b628ab365 100644 --- a/src/hash.c +++ b/src/hash.c @@ -2304,42 +2304,42 @@ mrb_hash_eql(mrb_state *mrb, mrb_value hash) /* ---------------------------*/ static const mrb_mt_entry hash_rom_entries[] = { - MRB_MT_ENTRY(mrb_hash_equal, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(mrb_hash_aget, MRB_OPSYM(aref), 0), - MRB_MT_ENTRY(mrb_hash_aset, MRB_OPSYM(aset), 0), - MRB_MT_ENTRY(mrb_hash_clear, MRB_SYM(clear), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_default, MRB_SYM(default), 0), - MRB_MT_ENTRY(mrb_hash_set_default, MRB_SYM_E(default), 0), - MRB_MT_ENTRY(mrb_hash_default_proc, MRB_SYM(default_proc), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_set_default_proc, MRB_SYM_E(default_proc), 0), - MRB_MT_ENTRY(mrb_hash_delete, MRB_SYM(__delete), 0), - MRB_MT_ENTRY(mrb_hash_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(mrb_hash_empty_m, MRB_SYM_Q(empty), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(has_key), 0), - MRB_MT_ENTRY(mrb_hash_has_value, MRB_SYM_Q(has_value), 0), - MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(include), 0), - MRB_MT_ENTRY(mrb_hash_init, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_hash_init_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(key), 0), - MRB_MT_ENTRY(mrb_hash_keys, MRB_SYM(keys), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_size_m, MRB_SYM(length), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(member), 0), - MRB_MT_ENTRY(mrb_hash_init_copy, MRB_SYM(replace), 0), - MRB_MT_ENTRY(mrb_hash_shift, MRB_SYM(shift), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_size_m, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_aset, MRB_SYM(store), 0), - MRB_MT_ENTRY(mrb_hash_has_value, MRB_SYM_Q(value), 0), - MRB_MT_ENTRY(mrb_hash_values, MRB_SYM(values), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_rehash, MRB_SYM(rehash), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_to_hash, MRB_SYM(to_hash), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_assoc, MRB_SYM(assoc), 0), - MRB_MT_ENTRY(mrb_hash_rassoc, MRB_SYM(rassoc), 0), - MRB_MT_ENTRY(mrb_hash_merge_m, MRB_SYM(__merge), 0), - MRB_MT_ENTRY(mrb_hash_compact, MRB_SYM(__compact), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_hash_pat_values, MRB_SYM(__pat_values), 0), - MRB_MT_ENTRY(mrb_hash_except_keys, MRB_SYM(__except), 0), + MRB_MT_ENTRY(mrb_hash_equal, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.2.13.4.1 */ + MRB_MT_ENTRY(mrb_hash_aget, MRB_OPSYM(aref), MRB_ARGS_REQ(1)), /* 15.2.13.4.2 */ + MRB_MT_ENTRY(mrb_hash_aset, MRB_OPSYM(aset), MRB_ARGS_REQ(2)), /* 15.2.13.4.3 */ + MRB_MT_ENTRY(mrb_hash_clear, MRB_SYM(clear), MRB_ARGS_NONE()), /* 15.2.13.4.4 */ + MRB_MT_ENTRY(mrb_hash_default, MRB_SYM(default), MRB_ARGS_OPT(1)), /* 15.2.13.4.5 */ + MRB_MT_ENTRY(mrb_hash_set_default, MRB_SYM_E(default), MRB_ARGS_REQ(1)), /* 15.2.13.4.6 */ + MRB_MT_ENTRY(mrb_hash_default_proc, MRB_SYM(default_proc), MRB_ARGS_NONE()), /* 15.2.13.4.7 */ + MRB_MT_ENTRY(mrb_hash_set_default_proc, MRB_SYM_E(default_proc), MRB_ARGS_REQ(1)), /* 15.2.13.4.7 */ + MRB_MT_ENTRY(mrb_hash_delete, MRB_SYM(__delete), MRB_ARGS_REQ(1)), /* core of 15.2.13.4.8 */ + MRB_MT_ENTRY(mrb_hash_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), /* Hash#eql? */ + MRB_MT_ENTRY(mrb_hash_empty_m, MRB_SYM_Q(empty), MRB_ARGS_NONE()), /* 15.2.13.4.12 */ + MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(has_key), MRB_ARGS_REQ(1)), /* 15.2.13.4.13 */ + MRB_MT_ENTRY(mrb_hash_has_value, MRB_SYM_Q(has_value), MRB_ARGS_REQ(1)), /* 15.2.13.4.14 */ + MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(include), MRB_ARGS_REQ(1)), /* 15.2.13.4.15 */ + MRB_MT_ENTRY_PRIVATE(mrb_hash_init, MRB_SYM(initialize), MRB_ARGS_OPT(1)|MRB_ARGS_BLOCK()), /* 15.2.13.4.16 */ + MRB_MT_ENTRY_PRIVATE(mrb_hash_init_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.2.13.4.17 */ + MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(key), MRB_ARGS_REQ(1)), /* 15.2.13.4.18 */ + MRB_MT_ENTRY(mrb_hash_keys, MRB_SYM(keys), MRB_ARGS_NONE()), /* 15.2.13.4.19 */ + MRB_MT_ENTRY(mrb_hash_size_m, MRB_SYM(length), MRB_ARGS_NONE()), /* 15.2.13.4.20 */ + MRB_MT_ENTRY(mrb_hash_has_key, MRB_SYM_Q(member), MRB_ARGS_REQ(1)), /* 15.2.13.4.21 */ + MRB_MT_ENTRY(mrb_hash_init_copy, MRB_SYM(replace), MRB_ARGS_REQ(1)), /* 15.2.13.4.23 */ + MRB_MT_ENTRY(mrb_hash_shift, MRB_SYM(shift), MRB_ARGS_NONE()), /* 15.2.13.4.24 */ + MRB_MT_ENTRY(mrb_hash_size_m, MRB_SYM(size), MRB_ARGS_NONE()), /* 15.2.13.4.25 */ + MRB_MT_ENTRY(mrb_hash_aset, MRB_SYM(store), MRB_ARGS_REQ(2)), /* 15.2.13.4.26 */ + MRB_MT_ENTRY(mrb_hash_has_value, MRB_SYM_Q(value), MRB_ARGS_REQ(1)), /* 15.2.13.4.27 */ + MRB_MT_ENTRY(mrb_hash_values, MRB_SYM(values), MRB_ARGS_NONE()), /* 15.2.13.4.28 */ + MRB_MT_ENTRY(mrb_hash_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_hash_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_hash_rehash, MRB_SYM(rehash), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_hash_to_hash, MRB_SYM(to_hash), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_hash_assoc, MRB_SYM(assoc), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_hash_rassoc, MRB_SYM(rassoc), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_hash_merge_m, MRB_SYM(__merge), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_hash_compact, MRB_SYM(__compact), MRB_ARGS_NONE()), /* implementation of Hash#compact! */ + MRB_MT_ENTRY(mrb_hash_pat_values, MRB_SYM(__pat_values), MRB_ARGS_REQ(1)), /* for pattern matching keys */ + MRB_MT_ENTRY(mrb_hash_except_keys, MRB_SYM(__except), MRB_ARGS_REQ(1)), /* for pattern matching **rest */ }; static mrb_mt_tbl hash_rom_mt = MRB_MT_ROM_TAB(hash_rom_entries); diff --git a/src/kernel.c b/src/kernel.c index 99d5b8d67..56f0ebc1d 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -667,36 +667,36 @@ mrb_p_m(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry kernel_rom_entries[] = { - MRB_MT_ENTRY(mrb_eqq_m, MRB_OPSYM(eqq), 0), - MRB_MT_ENTRY(mrb_cmp_m, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(mrb_f_block_given_p_m, MRB_SYM_Q(block_given), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_obj_class_m, MRB_SYM(class), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_clone, MRB_SYM(clone), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_dup, MRB_SYM(dup), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_equal_m, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(mrb_obj_freeze, MRB_SYM(freeze), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_frozen, MRB_SYM_Q(frozen), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_extend, MRB_SYM(extend), 0), - MRB_MT_ENTRY(mrb_obj_hash, MRB_SYM(hash), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_init_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_obj_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(obj_is_instance_of, MRB_SYM_Q(instance_of), 0), - MRB_MT_ENTRY(mrb_obj_is_kind_of_m, MRB_SYM_Q(is_a), 0), - MRB_MT_ENTRY(mrb_f_block_given_p_m, MRB_SYM_Q(iterator), MRB_MT_NOARG|MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_obj_is_kind_of_m, MRB_SYM_Q(kind_of), 0), - MRB_MT_ENTRY(mrb_false, MRB_SYM_Q(nil), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_id_m, MRB_SYM(object_id), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_f_raise, MRB_SYM(raise), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_obj_remove_instance_variable, MRB_SYM(remove_instance_variable), 0), - MRB_MT_ENTRY(obj_respond_to, MRB_SYM_Q(respond_to), 0), - MRB_MT_ENTRY(mrb_any_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_ceqq, MRB_SYM(__case_eqq), 0), - MRB_MT_ENTRY(mrb_ensure_int_type, MRB_SYM(__to_int), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_false, MRB_SYM_Q(respond_to_missing), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_obj_method_recursive_p, MRB_SYM_Q(__method_recursive), 0), + MRB_MT_ENTRY(mrb_eqq_m, MRB_OPSYM(eqq), MRB_ARGS_REQ(1)), /* 15.3.1.3.2 */ + MRB_MT_ENTRY(mrb_cmp_m, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY_PRIVATE(mrb_f_block_given_p_m, MRB_SYM_Q(block_given), MRB_ARGS_NONE()), /* 15.3.1.3.6 */ + MRB_MT_ENTRY(mrb_obj_class_m, MRB_SYM(class), MRB_ARGS_NONE()), /* 15.3.1.3.7 */ + MRB_MT_ENTRY(mrb_obj_clone, MRB_SYM(clone), MRB_ARGS_NONE()), /* 15.3.1.3.8 */ + MRB_MT_ENTRY(mrb_obj_dup, MRB_SYM(dup), MRB_ARGS_NONE()), /* 15.3.1.3.9 */ + MRB_MT_ENTRY(mrb_obj_equal_m, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), /* 15.3.1.3.10 */ + MRB_MT_ENTRY(mrb_obj_freeze, MRB_SYM(freeze), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_frozen, MRB_SYM_Q(frozen), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_extend, MRB_SYM(extend), MRB_ARGS_ANY()), /* 15.3.1.3.13 */ + MRB_MT_ENTRY(mrb_obj_hash, MRB_SYM(hash), MRB_ARGS_NONE()), /* 15.3.1.3.15 */ + MRB_MT_ENTRY_PRIVATE(mrb_obj_init_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.3.1.3.16 */ + MRB_MT_ENTRY(mrb_obj_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), /* 15.3.1.3.17 */ + MRB_MT_ENTRY(obj_is_instance_of, MRB_SYM_Q(instance_of), MRB_ARGS_REQ(1)), /* 15.3.1.3.19 */ + MRB_MT_ENTRY(mrb_obj_is_kind_of_m, MRB_SYM_Q(is_a), MRB_ARGS_REQ(1)), /* 15.3.1.3.24 */ + MRB_MT_ENTRY_PRIVATE(mrb_f_block_given_p_m, MRB_SYM_Q(iterator), MRB_ARGS_NONE()), /* 15.3.1.3.25 */ + MRB_MT_ENTRY(mrb_obj_is_kind_of_m, MRB_SYM_Q(kind_of), MRB_ARGS_REQ(1)), /* 15.3.1.3.26 */ + MRB_MT_ENTRY(mrb_false, MRB_SYM_Q(nil), MRB_ARGS_NONE()), /* 15.3.1.3.32 */ + MRB_MT_ENTRY(mrb_obj_id_m, MRB_SYM(object_id), MRB_ARGS_NONE()), /* 15.3.1.3.33 */ + MRB_MT_ENTRY_PRIVATE(mrb_f_raise, MRB_SYM(raise), MRB_ARGS_OPT(2)), /* 15.3.1.3.40 */ + MRB_MT_ENTRY(mrb_obj_remove_instance_variable, MRB_SYM(remove_instance_variable), MRB_ARGS_REQ(1)), /* 15.3.1.3.41 */ + MRB_MT_ENTRY(obj_respond_to, MRB_SYM_Q(respond_to), MRB_ARGS_ARG(1,1)), /* 15.3.1.3.43 */ + MRB_MT_ENTRY(mrb_any_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.3.1.3.46 */ + MRB_MT_ENTRY(mrb_obj_ceqq, MRB_SYM(__case_eqq), MRB_ARGS_REQ(1)), /* internal */ + MRB_MT_ENTRY(mrb_ensure_int_type, MRB_SYM(__to_int), MRB_ARGS_NONE()), /* internal */ + MRB_MT_ENTRY_PRIVATE(mrb_false, MRB_SYM_Q(respond_to_missing), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(mrb_obj_method_recursive_p, MRB_SYM_Q(__method_recursive), MRB_ARGS_ARG(1,1)), #ifndef HAVE_MRUBY_IO_GEM - MRB_MT_ENTRY(mrb_p_m, MRB_SYM(p), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_print_m, MRB_SYM(print), MRB_MT_PRIVATE), + MRB_MT_ENTRY_PRIVATE(mrb_p_m, MRB_SYM(p), MRB_ARGS_ANY()), /* 15.3.1.3.34 */ + MRB_MT_ENTRY_PRIVATE(mrb_print_m, MRB_SYM(print), MRB_ARGS_ANY()), /* 15.3.1.3.35 */ #endif }; static mrb_mt_tbl kernel_rom_mt = MRB_MT_ROM_TAB(kernel_rom_entries); diff --git a/src/numeric.c b/src/numeric.c index 8d4d0e4e6..f27b4a64e 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -2300,85 +2300,85 @@ flo_hash(mrb_state *mrb, mrb_value flo) /* ------------------------------------------------------------------------*/ static const mrb_mt_entry numeric_rom_entries[] = { - MRB_MT_ENTRY(num_finite_p, MRB_SYM_Q(finite), MRB_MT_NOARG), - MRB_MT_ENTRY(num_infinite_p, MRB_SYM_Q(infinite), MRB_MT_NOARG), - MRB_MT_ENTRY(num_eql, MRB_SYM_Q(eql), 0), + MRB_MT_ENTRY(num_finite_p, MRB_SYM_Q(finite), MRB_ARGS_NONE()), + MRB_MT_ENTRY(num_infinite_p, MRB_SYM_Q(infinite), MRB_ARGS_NONE()), + MRB_MT_ENTRY(num_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), /* 15.2.8.3.16 */ #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(num_fdiv, MRB_SYM(fdiv), 0), + MRB_MT_ENTRY(num_fdiv, MRB_SYM(fdiv), MRB_ARGS_REQ(1)), #endif }; static mrb_mt_tbl numeric_rom_mt = MRB_MT_ROM_TAB(numeric_rom_entries); static const mrb_mt_entry integer_rom_entries[] = { - MRB_MT_ENTRY(int_pow, MRB_OPSYM(pow), 0), - MRB_MT_ENTRY(num_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(num_lt, MRB_OPSYM(lt), 0), - MRB_MT_ENTRY(num_le, MRB_OPSYM(le), 0), - MRB_MT_ENTRY(num_gt, MRB_OPSYM(gt), 0), - MRB_MT_ENTRY(num_ge, MRB_OPSYM(ge), 0), - MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_i), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_int), MRB_MT_NOARG), - MRB_MT_ENTRY(int_add, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(int_sub, MRB_OPSYM(sub), 0), - MRB_MT_ENTRY(int_mul, MRB_OPSYM(mul), 0), - MRB_MT_ENTRY(int_mod, MRB_OPSYM(mod), 0), - MRB_MT_ENTRY(int_div, MRB_OPSYM(div), 0), - MRB_MT_ENTRY(int_quo, MRB_SYM(quo), 0), - MRB_MT_ENTRY(int_idiv, MRB_SYM(div), 0), - MRB_MT_ENTRY(int_equal, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(int_rev, MRB_OPSYM(neg), MRB_MT_NOARG), - MRB_MT_ENTRY(int_and, MRB_OPSYM(and), 0), - MRB_MT_ENTRY(int_or, MRB_OPSYM(or), 0), - MRB_MT_ENTRY(int_xor, MRB_OPSYM(xor), 0), - MRB_MT_ENTRY(int_lshift, MRB_OPSYM(lshift), 0), - MRB_MT_ENTRY(int_rshift, MRB_OPSYM(rshift), 0), - MRB_MT_ENTRY(int_ceil, MRB_SYM(ceil), 0), - MRB_MT_ENTRY(int_floor, MRB_SYM(floor), 0), - MRB_MT_ENTRY(int_round, MRB_SYM(round), 0), - MRB_MT_ENTRY(int_truncate, MRB_SYM(truncate), 0), - MRB_MT_ENTRY(int_hash, MRB_SYM(hash), MRB_MT_NOARG), - MRB_MT_ENTRY(int_to_s, MRB_SYM(to_s), 0), - MRB_MT_ENTRY(int_to_s, MRB_SYM(inspect), 0), - MRB_MT_ENTRY(int_divmod, MRB_SYM(divmod), 0), - MRB_MT_ENTRY(coerce_step_counter, MRB_SYM(__coerce_step_counter), 0), + MRB_MT_ENTRY(int_pow, MRB_OPSYM(pow), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), /* 15.2.8.3.1 */ + MRB_MT_ENTRY(num_lt, MRB_OPSYM(lt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_le, MRB_OPSYM(le), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_gt, MRB_OPSYM(gt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_ge, MRB_OPSYM(ge), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_i), MRB_ARGS_NONE()), /* 15.2.8.3.24 */ + MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_int), MRB_ARGS_NONE()), + MRB_MT_ENTRY(int_add, MRB_OPSYM(add), MRB_ARGS_REQ(1)), /* 15.2.8.3.1 */ + MRB_MT_ENTRY(int_sub, MRB_OPSYM(sub), MRB_ARGS_REQ(1)), /* 15.2.8.3.2 */ + MRB_MT_ENTRY(int_mul, MRB_OPSYM(mul), MRB_ARGS_REQ(1)), /* 15.2.8.3.3 */ + MRB_MT_ENTRY(int_mod, MRB_OPSYM(mod), MRB_ARGS_REQ(1)), /* 15.2.8.3.5 */ + MRB_MT_ENTRY(int_div, MRB_OPSYM(div), MRB_ARGS_REQ(1)), /* 15.2.8.3.6 */ + MRB_MT_ENTRY(int_quo, MRB_SYM(quo), MRB_ARGS_REQ(1)), /* 15.2.7.4.5(x) */ + MRB_MT_ENTRY(int_idiv, MRB_SYM(div), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(int_equal, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.2.8.3.7 */ + MRB_MT_ENTRY(int_rev, MRB_OPSYM(neg), MRB_ARGS_NONE()), /* 15.2.8.3.8 */ + MRB_MT_ENTRY(int_and, MRB_OPSYM(and), MRB_ARGS_REQ(1)), /* 15.2.8.3.9 */ + MRB_MT_ENTRY(int_or, MRB_OPSYM(or), MRB_ARGS_REQ(1)), /* 15.2.8.3.10 */ + MRB_MT_ENTRY(int_xor, MRB_OPSYM(xor), MRB_ARGS_REQ(1)), /* 15.2.8.3.11 */ + MRB_MT_ENTRY(int_lshift, MRB_OPSYM(lshift), MRB_ARGS_REQ(1)), /* 15.2.8.3.12 */ + MRB_MT_ENTRY(int_rshift, MRB_OPSYM(rshift), MRB_ARGS_REQ(1)), /* 15.2.8.3.13 */ + MRB_MT_ENTRY(int_ceil, MRB_SYM(ceil), MRB_ARGS_OPT(1)), /* 15.2.8.3.14 */ + MRB_MT_ENTRY(int_floor, MRB_SYM(floor), MRB_ARGS_OPT(1)), /* 15.2.8.3.17 */ + MRB_MT_ENTRY(int_round, MRB_SYM(round), MRB_ARGS_OPT(1)), /* 15.2.8.3.20 */ + MRB_MT_ENTRY(int_truncate, MRB_SYM(truncate), MRB_ARGS_OPT(1)), /* 15.2.8.3.26 */ + MRB_MT_ENTRY(int_hash, MRB_SYM(hash), MRB_ARGS_NONE()), /* 15.2.8.3.18 */ + MRB_MT_ENTRY(int_to_s, MRB_SYM(to_s), MRB_ARGS_OPT(1)), /* 15.2.8.3.25 */ + MRB_MT_ENTRY(int_to_s, MRB_SYM(inspect), MRB_ARGS_OPT(1)), + MRB_MT_ENTRY(int_divmod, MRB_SYM(divmod), MRB_ARGS_REQ(1)), /* 15.2.8.3.30(x) */ + MRB_MT_ENTRY(coerce_step_counter, MRB_SYM(__coerce_step_counter), MRB_ARGS_REQ(1)), #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(int_fdiv, MRB_SYM(fdiv), 0), - MRB_MT_ENTRY(int_to_f, MRB_SYM(to_f), MRB_MT_NOARG), + MRB_MT_ENTRY(int_fdiv, MRB_SYM(fdiv), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(int_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), /* 15.2.8.3.23 */ #endif }; static mrb_mt_tbl integer_rom_mt = MRB_MT_ROM_TAB(integer_rom_entries); #ifndef MRB_NO_FLOAT static const mrb_mt_entry float_rom_entries[] = { - MRB_MT_ENTRY(flo_pow, MRB_OPSYM(pow), 0), - MRB_MT_ENTRY(flo_div, MRB_OPSYM(div), 0), - MRB_MT_ENTRY(flo_div, MRB_SYM(quo), 0), - MRB_MT_ENTRY(flo_div, MRB_SYM(fdiv), 0), - MRB_MT_ENTRY(flo_idiv, MRB_SYM(div), 0), - MRB_MT_ENTRY(flo_add, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(flo_sub, MRB_OPSYM(sub), 0), - MRB_MT_ENTRY(flo_mul, MRB_OPSYM(mul), 0), - MRB_MT_ENTRY(flo_mod, MRB_OPSYM(mod), 0), - MRB_MT_ENTRY(num_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(num_lt, MRB_OPSYM(lt), 0), - MRB_MT_ENTRY(num_le, MRB_OPSYM(le), 0), - MRB_MT_ENTRY(num_gt, MRB_OPSYM(gt), 0), - MRB_MT_ENTRY(num_ge, MRB_OPSYM(ge), 0), - MRB_MT_ENTRY(flo_eq, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(flo_ceil, MRB_SYM(ceil), 0), - MRB_MT_ENTRY(flo_finite_p, MRB_SYM_Q(finite), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_floor, MRB_SYM(floor), 0), - MRB_MT_ENTRY(flo_infinite_p, MRB_SYM_Q(infinite), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_round, MRB_SYM(round), 0), - MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_f), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_to_i, MRB_SYM(to_i), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_truncate, MRB_SYM(truncate), 0), - MRB_MT_ENTRY(flo_divmod, MRB_SYM(divmod), 0), - MRB_MT_ENTRY(flo_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_to_s, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_nan_p, MRB_SYM_Q(nan), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_abs, MRB_SYM(abs), MRB_MT_NOARG), - MRB_MT_ENTRY(flo_hash, MRB_SYM(hash), MRB_MT_NOARG), + MRB_MT_ENTRY(flo_pow, MRB_OPSYM(pow), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(flo_div, MRB_OPSYM(div), MRB_ARGS_REQ(1)), /* 15.2.9.3.6 */ + MRB_MT_ENTRY(flo_div, MRB_SYM(quo), MRB_ARGS_REQ(1)), /* 15.2.7.4.5(x) */ + MRB_MT_ENTRY(flo_div, MRB_SYM(fdiv), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(flo_idiv, MRB_SYM(div), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(flo_add, MRB_OPSYM(add), MRB_ARGS_REQ(1)), /* 15.2.9.3.3 */ + MRB_MT_ENTRY(flo_sub, MRB_OPSYM(sub), MRB_ARGS_REQ(1)), /* 15.2.9.3.4 */ + MRB_MT_ENTRY(flo_mul, MRB_OPSYM(mul), MRB_ARGS_REQ(1)), /* 15.2.9.3.5 */ + MRB_MT_ENTRY(flo_mod, MRB_OPSYM(mod), MRB_ARGS_REQ(1)), /* 15.2.9.3.7 */ + MRB_MT_ENTRY(num_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), /* 15.2.8.3.1 */ + MRB_MT_ENTRY(num_lt, MRB_OPSYM(lt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_le, MRB_OPSYM(le), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_gt, MRB_OPSYM(gt), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(num_ge, MRB_OPSYM(ge), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(flo_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.2.9.3.2 */ + MRB_MT_ENTRY(flo_ceil, MRB_SYM(ceil), MRB_ARGS_OPT(1)), /* 15.2.9.3.8 */ + MRB_MT_ENTRY(flo_finite_p, MRB_SYM_Q(finite), MRB_ARGS_NONE()), /* 15.2.9.3.9 */ + MRB_MT_ENTRY(flo_floor, MRB_SYM(floor), MRB_ARGS_OPT(1)), /* 15.2.9.3.10 */ + MRB_MT_ENTRY(flo_infinite_p, MRB_SYM_Q(infinite), MRB_ARGS_NONE()), /* 15.2.9.3.11 */ + MRB_MT_ENTRY(flo_round, MRB_SYM(round), MRB_ARGS_OPT(1)), /* 15.2.9.3.12 */ + MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_f), MRB_ARGS_NONE()), /* 15.2.9.3.13 */ + MRB_MT_ENTRY(flo_to_i, MRB_SYM(to_i), MRB_ARGS_NONE()), /* 15.2.9.3.14 */ + MRB_MT_ENTRY(flo_truncate, MRB_SYM(truncate), MRB_ARGS_OPT(1)), /* 15.2.9.3.15 */ + MRB_MT_ENTRY(flo_divmod, MRB_SYM(divmod), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(flo_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.9.3.16(x) */ + MRB_MT_ENTRY(flo_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), + MRB_MT_ENTRY(flo_nan_p, MRB_SYM_Q(nan), MRB_ARGS_NONE()), + MRB_MT_ENTRY(flo_abs, MRB_SYM(abs), MRB_ARGS_NONE()), /* 15.2.7.4.3 */ + MRB_MT_ENTRY(flo_hash, MRB_SYM(hash), MRB_ARGS_NONE()), }; static mrb_mt_tbl float_rom_mt = MRB_MT_ROM_TAB(float_rom_entries); #endif /* !MRB_NO_FLOAT */ diff --git a/src/object.c b/src/object.c index 2b7417c0d..1b1a18a77 100644 --- a/src/object.c +++ b/src/object.c @@ -323,30 +323,30 @@ false_to_s(mrb_state *mrb, mrb_value obj) /* ---------------------------*/ static const mrb_mt_entry nil_rom_entries[] = { - MRB_MT_ENTRY(false_and, MRB_OPSYM(and), 0), - MRB_MT_ENTRY(false_or, MRB_OPSYM(or), 0), - MRB_MT_ENTRY(false_xor, MRB_OPSYM(xor), 0), - MRB_MT_ENTRY(mrb_true, MRB_SYM_Q(nil), MRB_MT_NOARG), - MRB_MT_ENTRY(nil_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(nil_inspect, MRB_SYM(inspect), MRB_MT_NOARG), + MRB_MT_ENTRY(false_and, MRB_OPSYM(and), MRB_ARGS_REQ(1)), /* 15.2.4.3.1 */ + MRB_MT_ENTRY(false_or, MRB_OPSYM(or), MRB_ARGS_REQ(1)), /* 15.2.4.3.2 */ + MRB_MT_ENTRY(false_xor, MRB_OPSYM(xor), MRB_ARGS_REQ(1)), /* 15.2.4.3.3 */ + MRB_MT_ENTRY(mrb_true, MRB_SYM_Q(nil), MRB_ARGS_NONE()), /* 15.2.4.3.4 */ + MRB_MT_ENTRY(nil_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.4.3.5 */ + MRB_MT_ENTRY(nil_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), }; static mrb_mt_tbl nil_rom_mt = MRB_MT_ROM_TAB(nil_rom_entries); static const mrb_mt_entry true_rom_entries[] = { - MRB_MT_ENTRY(true_and, MRB_OPSYM(and), 0), - MRB_MT_ENTRY(true_or, MRB_OPSYM(or), 0), - MRB_MT_ENTRY(true_xor, MRB_OPSYM(xor), 0), - MRB_MT_ENTRY(true_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(true_to_s, MRB_SYM(inspect), MRB_MT_NOARG), + MRB_MT_ENTRY(true_and, MRB_OPSYM(and), MRB_ARGS_REQ(1)), /* 15.2.5.3.1 */ + MRB_MT_ENTRY(true_or, MRB_OPSYM(or), MRB_ARGS_REQ(1)), /* 15.2.5.3.2 */ + MRB_MT_ENTRY(true_xor, MRB_OPSYM(xor), MRB_ARGS_REQ(1)), /* 15.2.5.3.3 */ + MRB_MT_ENTRY(true_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.5.3.4 */ + MRB_MT_ENTRY(true_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), }; static mrb_mt_tbl true_rom_mt = MRB_MT_ROM_TAB(true_rom_entries); static const mrb_mt_entry false_rom_entries[] = { - MRB_MT_ENTRY(false_and, MRB_OPSYM(and), 0), - MRB_MT_ENTRY(false_or, MRB_OPSYM(or), 0), - MRB_MT_ENTRY(false_xor, MRB_OPSYM(xor), 0), - MRB_MT_ENTRY(false_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(false_to_s, MRB_SYM(inspect), MRB_MT_NOARG), + MRB_MT_ENTRY(false_and, MRB_OPSYM(and), MRB_ARGS_REQ(1)), /* 15.2.4.3.1 */ + MRB_MT_ENTRY(false_or, MRB_OPSYM(or), MRB_ARGS_REQ(1)), /* 15.2.4.3.2 */ + MRB_MT_ENTRY(false_xor, MRB_OPSYM(xor), MRB_ARGS_REQ(1)), /* 15.2.4.3.3 */ + MRB_MT_ENTRY(false_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.6.3.4 */ + MRB_MT_ENTRY(false_to_s, MRB_SYM(inspect), MRB_ARGS_NONE()), }; static mrb_mt_tbl false_rom_mt = MRB_MT_ROM_TAB(false_rom_entries); diff --git a/src/proc.c b/src/proc.c index 06afb468d..101da44a3 100644 --- a/src/proc.c +++ b/src/proc.c @@ -546,11 +546,11 @@ mrb_proc_merge_lvar(mrb_state *mrb, mrb_irep *irep, struct REnv *env, int num, c /* ---------------------------*/ static const mrb_mt_entry proc_rom_entries[] = { - MRB_MT_ENTRY(mrb_proc_init_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(proc_arity, MRB_SYM(arity), MRB_MT_NOARG), - MRB_MT_ENTRY(proc_eql, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(proc_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(proc_hash, MRB_SYM(hash), MRB_MT_NOARG), + MRB_MT_ENTRY_PRIVATE(mrb_proc_init_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(proc_arity, MRB_SYM(arity), MRB_ARGS_NONE()), /* 15.2.17.4.2 */ + MRB_MT_ENTRY(proc_eql, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(proc_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(proc_hash, MRB_SYM(hash), MRB_ARGS_NONE()), /* 15.2.17.4.2 */ }; static mrb_mt_tbl proc_rom_mt = MRB_MT_ROM_TAB(proc_rom_entries); diff --git a/src/range.c b/src/range.c index 2ae98b602..185ed8345 100644 --- a/src/range.c +++ b/src/range.c @@ -567,21 +567,21 @@ mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, /* ---------------------------*/ static const mrb_mt_entry range_rom_entries[] = { - MRB_MT_ENTRY(range_beg, MRB_SYM(begin), MRB_MT_NOARG), - MRB_MT_ENTRY(range_end, MRB_SYM(end), MRB_MT_NOARG), - MRB_MT_ENTRY(range_eq, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(range_include, MRB_OPSYM(eqq), 0), - MRB_MT_ENTRY(range_excl, MRB_SYM_Q(exclude_end), MRB_MT_NOARG), - MRB_MT_ENTRY(range_beg, MRB_SYM(first), MRB_MT_NOARG), - MRB_MT_ENTRY(range_include, MRB_SYM_Q(include), 0), - MRB_MT_ENTRY(range_initialize, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(range_end, MRB_SYM(last), MRB_MT_NOARG), - MRB_MT_ENTRY(range_include, MRB_SYM_Q(member), 0), - MRB_MT_ENTRY(range_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(range_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(range_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(range_initialize_copy, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(range_num_to_a, MRB_SYM(__num_to_a), MRB_MT_NOARG), + MRB_MT_ENTRY(range_beg, MRB_SYM(begin), MRB_ARGS_NONE()), /* 15.2.14.4.3 */ + MRB_MT_ENTRY(range_end, MRB_SYM(end), MRB_ARGS_NONE()), /* 15.2.14.4.5 */ + MRB_MT_ENTRY(range_eq, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.2.14.4.1 */ + MRB_MT_ENTRY(range_include, MRB_OPSYM(eqq), MRB_ARGS_REQ(1)), /* 15.2.14.4.2 */ + MRB_MT_ENTRY(range_excl, MRB_SYM_Q(exclude_end), MRB_ARGS_NONE()), /* 15.2.14.4.6 */ + MRB_MT_ENTRY(range_beg, MRB_SYM(first), MRB_ARGS_NONE()), /* 15.2.14.4.7 */ + MRB_MT_ENTRY(range_include, MRB_SYM_Q(include), MRB_ARGS_REQ(1)), /* 15.2.14.4.8 */ + MRB_MT_ENTRY_PRIVATE(range_initialize, MRB_SYM(initialize), MRB_ARGS_ANY()), /* 15.2.14.4.9 */ + MRB_MT_ENTRY(range_end, MRB_SYM(last), MRB_ARGS_NONE()), /* 15.2.14.4.10 */ + MRB_MT_ENTRY(range_include, MRB_SYM_Q(member), MRB_ARGS_REQ(1)), /* 15.2.14.4.11 */ + MRB_MT_ENTRY(range_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.14.4.12(x) */ + MRB_MT_ENTRY(range_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), /* 15.2.14.4.13(x) */ + MRB_MT_ENTRY(range_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), /* 15.2.14.4.14(x) */ + MRB_MT_ENTRY_PRIVATE(range_initialize_copy, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.2.14.4.15(x) */ + MRB_MT_ENTRY(range_num_to_a, MRB_SYM(__num_to_a), MRB_ARGS_NONE()), }; static mrb_mt_tbl range_rom_mt = MRB_MT_ROM_TAB(range_rom_entries); diff --git a/src/string.c b/src/string.c index 0b9e1d29e..170085719 100644 --- a/src/string.c +++ b/src/string.c @@ -3509,54 +3509,54 @@ mrb_encoding(mrb_state *mrb, mrb_value self) /* ---------------------------*/ static const mrb_mt_entry string_rom_entries[] = { - MRB_MT_ENTRY(mrb_str_bytesize, MRB_SYM(bytesize), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_cmp_m, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(mrb_str_equal_m, MRB_OPSYM(eq), 0), - MRB_MT_ENTRY(mrb_str_plus_m, MRB_OPSYM(add), 0), - MRB_MT_ENTRY(mrb_str_times, MRB_OPSYM(mul), 0), - MRB_MT_ENTRY(mrb_str_aref_m, MRB_OPSYM(aref), 0), - MRB_MT_ENTRY(mrb_str_aset_m, MRB_OPSYM(aset), 0), - MRB_MT_ENTRY(mrb_str_capitalize, MRB_SYM(capitalize), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_capitalize_bang, MRB_SYM_B(capitalize), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_chomp, MRB_SYM(chomp), 0), - MRB_MT_ENTRY(mrb_str_chomp_bang, MRB_SYM_B(chomp), 0), - MRB_MT_ENTRY(mrb_str_chop, MRB_SYM(chop), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_chop_bang, MRB_SYM_B(chop), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_downcase, MRB_SYM(downcase), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_downcase_bang, MRB_SYM_B(downcase), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_empty_p, MRB_SYM_Q(empty), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_eql, MRB_SYM_Q(eql), 0), - MRB_MT_ENTRY(mrb_str_hash_m, MRB_SYM(hash), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_include, MRB_SYM_Q(include), 0), - MRB_MT_ENTRY(mrb_str_index_m, MRB_SYM(index), 0), - MRB_MT_ENTRY(mrb_str_init, MRB_SYM(initialize), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_str_replace, MRB_SYM(initialize_copy), MRB_MT_PRIVATE), - MRB_MT_ENTRY(mrb_str_intern, MRB_SYM(intern), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_size, MRB_SYM(length), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_replace, MRB_SYM(replace), 0), - MRB_MT_ENTRY(mrb_str_reverse, MRB_SYM(reverse), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_reverse_bang, MRB_SYM_B(reverse), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_rindex_m, MRB_SYM(rindex), 0), - MRB_MT_ENTRY(mrb_str_size, MRB_SYM(size), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_aref_m, MRB_SYM(slice), 0), - MRB_MT_ENTRY(mrb_str_split_m, MRB_SYM(split), 0), - MRB_MT_ENTRY(mrb_str_to_i, MRB_SYM(to_i), 0), - MRB_MT_ENTRY(mrb_str_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_to_s, MRB_SYM(to_str), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_intern, MRB_SYM(to_sym), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_upcase, MRB_SYM(upcase), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_upcase_bang, MRB_SYM_B(upcase), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_bytes, MRB_SYM(bytes), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_str_getbyte, MRB_SYM(getbyte), 0), - MRB_MT_ENTRY(mrb_str_setbyte, MRB_SYM(setbyte), 0), - MRB_MT_ENTRY(mrb_str_byteindex_m, MRB_SYM(byteindex), 0), - MRB_MT_ENTRY(mrb_str_byterindex_m, MRB_SYM(byterindex), 0), - MRB_MT_ENTRY(mrb_str_byteslice, MRB_SYM(byteslice), 0), - MRB_MT_ENTRY(mrb_str_bytesplice, MRB_SYM(bytesplice), 0), - MRB_MT_ENTRY(sub_replace, MRB_SYM(__sub_replace), 0), + MRB_MT_ENTRY(mrb_str_bytesize, MRB_SYM(bytesize), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_str_cmp_m, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), /* 15.2.10.5.1 */ + MRB_MT_ENTRY(mrb_str_equal_m, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), /* 15.2.10.5.2 */ + MRB_MT_ENTRY(mrb_str_plus_m, MRB_OPSYM(add), MRB_ARGS_REQ(1)), /* 15.2.10.5.4 */ + MRB_MT_ENTRY(mrb_str_times, MRB_OPSYM(mul), MRB_ARGS_REQ(1)), /* 15.2.10.5.5 */ + MRB_MT_ENTRY(mrb_str_aref_m, MRB_OPSYM(aref), MRB_ARGS_ANY()), /* 15.2.10.5.6 */ + MRB_MT_ENTRY(mrb_str_aset_m, MRB_OPSYM(aset), MRB_ARGS_ANY()), + MRB_MT_ENTRY(mrb_str_capitalize, MRB_SYM(capitalize), MRB_ARGS_NONE()), /* 15.2.10.5.7 */ + MRB_MT_ENTRY(mrb_str_capitalize_bang, MRB_SYM_B(capitalize), MRB_ARGS_NONE()), /* 15.2.10.5.8 */ + MRB_MT_ENTRY(mrb_str_chomp, MRB_SYM(chomp), MRB_ARGS_ANY()), /* 15.2.10.5.9 */ + MRB_MT_ENTRY(mrb_str_chomp_bang, MRB_SYM_B(chomp), MRB_ARGS_ANY()), /* 15.2.10.5.10 */ + MRB_MT_ENTRY(mrb_str_chop, MRB_SYM(chop), MRB_ARGS_NONE()), /* 15.2.10.5.11 */ + MRB_MT_ENTRY(mrb_str_chop_bang, MRB_SYM_B(chop), MRB_ARGS_NONE()), /* 15.2.10.5.12 */ + MRB_MT_ENTRY(mrb_str_downcase, MRB_SYM(downcase), MRB_ARGS_NONE()), /* 15.2.10.5.13 */ + MRB_MT_ENTRY(mrb_str_downcase_bang, MRB_SYM_B(downcase), MRB_ARGS_NONE()), /* 15.2.10.5.14 */ + MRB_MT_ENTRY(mrb_str_empty_p, MRB_SYM_Q(empty), MRB_ARGS_NONE()), /* 15.2.10.5.16 */ + MRB_MT_ENTRY(mrb_str_eql, MRB_SYM_Q(eql), MRB_ARGS_REQ(1)), /* 15.2.10.5.17 */ + MRB_MT_ENTRY(mrb_str_hash_m, MRB_SYM(hash), MRB_ARGS_NONE()), /* 15.2.10.5.20 */ + MRB_MT_ENTRY(mrb_str_include, MRB_SYM_Q(include), MRB_ARGS_REQ(1)), /* 15.2.10.5.21 */ + MRB_MT_ENTRY(mrb_str_index_m, MRB_SYM(index), MRB_ARGS_ARG(1,1)), /* 15.2.10.5.22 */ + MRB_MT_ENTRY_PRIVATE(mrb_str_init, MRB_SYM(initialize), MRB_ARGS_REQ(1)), /* 15.2.10.5.23 */ + MRB_MT_ENTRY_PRIVATE(mrb_str_replace, MRB_SYM(initialize_copy), MRB_ARGS_REQ(1)), /* 15.2.10.5.24 */ + MRB_MT_ENTRY(mrb_str_intern, MRB_SYM(intern), MRB_ARGS_NONE()), /* 15.2.10.5.25 */ + MRB_MT_ENTRY(mrb_str_size, MRB_SYM(length), MRB_ARGS_NONE()), /* 15.2.10.5.26 */ + MRB_MT_ENTRY(mrb_str_replace, MRB_SYM(replace), MRB_ARGS_REQ(1)), /* 15.2.10.5.28 */ + MRB_MT_ENTRY(mrb_str_reverse, MRB_SYM(reverse), MRB_ARGS_NONE()), /* 15.2.10.5.29 */ + MRB_MT_ENTRY(mrb_str_reverse_bang, MRB_SYM_B(reverse), MRB_ARGS_NONE()), /* 15.2.10.5.30 */ + MRB_MT_ENTRY(mrb_str_rindex_m, MRB_SYM(rindex), MRB_ARGS_ANY()), /* 15.2.10.5.31 */ + MRB_MT_ENTRY(mrb_str_size, MRB_SYM(size), MRB_ARGS_NONE()), /* 15.2.10.5.33 */ + MRB_MT_ENTRY(mrb_str_aref_m, MRB_SYM(slice), MRB_ARGS_ANY()), /* 15.2.10.5.34 */ + MRB_MT_ENTRY(mrb_str_split_m, MRB_SYM(split), MRB_ARGS_ANY()), /* 15.2.10.5.35 */ + MRB_MT_ENTRY(mrb_str_to_i, MRB_SYM(to_i), MRB_ARGS_ANY()), /* 15.2.10.5.39 */ + MRB_MT_ENTRY(mrb_str_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.10.5.40 */ + MRB_MT_ENTRY(mrb_str_to_s, MRB_SYM(to_str), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_str_intern, MRB_SYM(to_sym), MRB_ARGS_NONE()), /* 15.2.10.5.41 */ + MRB_MT_ENTRY(mrb_str_upcase, MRB_SYM(upcase), MRB_ARGS_NONE()), /* 15.2.10.5.42 */ + MRB_MT_ENTRY(mrb_str_upcase_bang, MRB_SYM_B(upcase), MRB_ARGS_NONE()), /* 15.2.10.5.43 */ + MRB_MT_ENTRY(mrb_str_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), /* 15.2.10.5.46(x) */ + MRB_MT_ENTRY(mrb_str_bytes, MRB_SYM(bytes), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_str_getbyte, MRB_SYM(getbyte), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_str_setbyte, MRB_SYM(setbyte), MRB_ARGS_REQ(2)), + MRB_MT_ENTRY(mrb_str_byteindex_m, MRB_SYM(byteindex), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(mrb_str_byterindex_m, MRB_SYM(byterindex), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(mrb_str_byteslice, MRB_SYM(byteslice), MRB_ARGS_ARG(1,1)), + MRB_MT_ENTRY(mrb_str_bytesplice, MRB_SYM(bytesplice), MRB_ARGS_ANY()), + MRB_MT_ENTRY(sub_replace, MRB_SYM(__sub_replace), MRB_ARGS_REQ(3)), /* internal */ #ifndef MRB_NO_FLOAT - MRB_MT_ENTRY(mrb_str_to_f, MRB_SYM(to_f), MRB_MT_NOARG), + MRB_MT_ENTRY(mrb_str_to_f, MRB_SYM(to_f), MRB_ARGS_NONE()), /* 15.2.10.5.38 */ #endif }; static mrb_mt_tbl string_rom_mt = MRB_MT_ROM_TAB(string_rom_entries); diff --git a/src/symbol.c b/src/symbol.c index 3b6f7740a..41c3d70af 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -1002,12 +1002,12 @@ sym_cmp(mrb_state *mrb, mrb_value s1) /* ---------------------------*/ static const mrb_mt_entry symbol_rom_entries[] = { - MRB_MT_ENTRY(sym_to_s, MRB_SYM(to_s), MRB_MT_NOARG), - MRB_MT_ENTRY(sym_name, MRB_SYM(name), MRB_MT_NOARG), - MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_sym), MRB_MT_NOARG), - MRB_MT_ENTRY(sym_inspect, MRB_SYM(inspect), MRB_MT_NOARG), - MRB_MT_ENTRY(sym_cmp, MRB_OPSYM(cmp), 0), - MRB_MT_ENTRY(mrb_obj_equal_m, MRB_OPSYM(eq), 0), + MRB_MT_ENTRY(sym_to_s, MRB_SYM(to_s), MRB_ARGS_NONE()), /* 15.2.11.3.3 */ + MRB_MT_ENTRY(sym_name, MRB_SYM(name), MRB_ARGS_NONE()), + MRB_MT_ENTRY(mrb_obj_itself, MRB_SYM(to_sym), MRB_ARGS_NONE()), /* 15.2.11.3.4 */ + MRB_MT_ENTRY(sym_inspect, MRB_SYM(inspect), MRB_ARGS_NONE()), /* 15.2.11.3.5(x) */ + MRB_MT_ENTRY(sym_cmp, MRB_OPSYM(cmp), MRB_ARGS_REQ(1)), + MRB_MT_ENTRY(mrb_obj_equal_m, MRB_OPSYM(eq), MRB_ARGS_REQ(1)), }; static mrb_mt_tbl symbol_rom_mt = MRB_MT_ROM_TAB(symbol_rom_entries);