summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-04-21 15:43:35 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-04-21 15:43:35 +0900
commited0038fdf298750abeb9cf582f9576b3071e9411 (patch)
treea78e9de501766e8318820b09fbc7eef4322f04fc /src
parentc181d89c9dca0e722a525b871a82cbd75c59bb80 (diff)
downloadmruby-ed0038fdf298750abeb9cf582f9576b3071e9411.tar.gz
mruby-ed0038fdf298750abeb9cf582f9576b3071e9411.zip
Simplified `mrb_obj_instance_eval`; ref #4973
Diffstat (limited to 'src')
-rw-r--r--src/vm.c15
1 files changed, 2 insertions, 13 deletions
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);
}