diff --git a/src/vm.c b/src/vm.c index d7826230e..bcd846025 100644 --- a/src/vm.c +++ b/src/vm.c @@ -730,19 +730,8 @@ mrb_obj_instance_eval(mrb_state *mrb, mrb_value self) if (mrb_get_args(mrb, "|S&", &a, &b) == 1) { mrb_raise(mrb, E_NOTIMP_ERROR, "instance_eval with string not implemented"); } - switch (mrb_type(self)) { - case MRB_TT_SYMBOL: - case MRB_TT_FIXNUM: -#ifndef MRB_WITHOUT_FLOAT - case MRB_TT_FLOAT: -#endif - c = 0; - break; - default: - cv = mrb_singleton_class(mrb, self); - c = mrb_class_ptr(cv); - break; - } + cv = mrb_singleton_class(mrb, self); + c = mrb_class_ptr(cv); return eval_under(mrb, self, b, c); }