diff options
-rw-r--r-- | enumerator.c | 16 | ||||
-rw-r--r-- | gc.c | 2 | ||||
-rw-r--r-- | vm.c | 2 |
3 files changed, 11 insertions, 9 deletions
diff --git a/enumerator.c b/enumerator.c index d61d79e897..98c2b47641 100644 --- a/enumerator.c +++ b/enumerator.c @@ -13,6 +13,7 @@ ************************************************/ #include "internal.h" +#include "id.h" /* * Document-class: Enumerator @@ -102,10 +103,16 @@ */ VALUE rb_cEnumerator; VALUE rb_cLazy; -static ID id_rewind, id_each, id_new, id_initialize, id_yield, id_call, id_size, id_to_enum; -static ID id_eqq, id_next, id_result, id_lazy, id_receiver, id_arguments, id_memo, id_method, id_force; +static ID id_rewind, id_new, id_yield, id_to_enum; +static ID id_next, id_result, id_lazy, id_receiver, id_arguments, id_memo, id_method, id_force; static VALUE sym_each, sym_cycle; +#define id_call idCall +#define id_each idEach +#define id_eqq idEqq +#define id_initialize idInitialize +#define id_size idSize + VALUE rb_eStopIteration; struct enumerator { @@ -2414,16 +2421,11 @@ void Init_Enumerator(void) { id_rewind = rb_intern("rewind"); - id_each = rb_intern("each"); - id_call = rb_intern("call"); - id_size = rb_intern("size"); id_yield = rb_intern("yield"); id_new = rb_intern("new"); - id_initialize = rb_intern("initialize"); id_next = rb_intern("next"); id_result = rb_intern("result"); id_lazy = rb_intern("lazy"); - id_eqq = rb_intern("==="); id_receiver = rb_intern("receiver"); id_arguments = rb_intern("arguments"); id_memo = rb_intern("memo"); @@ -2669,7 +2669,7 @@ rb_undefine_finalizer(VALUE obj) static void should_be_callable(VALUE block) { - if (!rb_obj_respond_to(block, rb_intern("call"), TRUE)) { + if (!rb_obj_respond_to(block, idCall, TRUE)) { rb_raise(rb_eArgError, "wrong type argument %"PRIsVALUE" (should be callable)", rb_obj_class(block)); } @@ -3076,7 +3076,7 @@ Init_VM(void) vm_init_redefined_flag(); rb_block_param_proxy = rb_obj_alloc(rb_cObject); - rb_add_method(rb_singleton_class(rb_block_param_proxy), rb_intern("call"), VM_METHOD_TYPE_OPTIMIZED, + rb_add_method(rb_singleton_class(rb_block_param_proxy), idCall, VM_METHOD_TYPE_OPTIMIZED, (void *)OPTIMIZED_METHOD_TYPE_BLOCK_CALL, METHOD_VISI_PUBLIC); rb_obj_freeze(rb_block_param_proxy); rb_gc_register_mark_object(rb_block_param_proxy); |