diff --git a/include/mruby/value.h b/include/mruby/value.h index 7a2b00ae5..21d32cae8 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -194,7 +194,6 @@ struct RObject { struct iv_tbl *iv; }; -#define mrb_obj_ptr(v) ((struct RObject*)((v).value.p)) #define mrb_immediate_p(x) (mrb_type(x) <= MRB_TT_MAIN) #define mrb_special_const_p(x) mrb_immediate_p(x) diff --git a/src/kernel.c b/src/kernel.c index 7187a125d..4c37b3418 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -53,7 +53,7 @@ mrb_value mrb_obj_inspect(mrb_state *mrb, mrb_value obj) { if ((mrb_type(obj) == MRB_TT_OBJECT) && mrb_obj_basic_to_s_p(mrb, obj)) { - return mrb_obj_iv_inspect(mrb, mrb_obj_ptr(obj)); + return mrb_obj_iv_inspect(mrb, mrb_object(obj)); } else if (mrb_type(obj) == MRB_TT_MAIN) { return mrb_str_new(mrb, "main", 4); @@ -588,7 +588,7 @@ mrb_obj_ivar_defined(mrb_state *mrb, mrb_value self) mrb_get_args(mrb, "n", &mid); check_iv_name(mrb, mid); - if (mrb_obj_iv_defined(mrb, mrb_obj_ptr(self), mid)) + if (mrb_obj_iv_defined(mrb, mrb_object(self), mid)) return mrb_true_value(); return mrb_false_value(); } @@ -929,7 +929,7 @@ mrb_f_raise(mrb_state *mrb, mrb_value self) /* fall through */ default: exc = mrb_make_exception(mrb, argc, a); - mrb_obj_iv_set(mrb, mrb_obj_ptr(exc), mrb_intern(mrb, "lastpc"), mrb_voidp_value(mrb->ci->pc)); + mrb_obj_iv_set(mrb, mrb_object(exc), mrb_intern(mrb, "lastpc"), mrb_voidp_value(mrb->ci->pc)); mrb_exc_raise(mrb, exc); } return mrb_nil_value(); /* not reached */ diff --git a/src/variable.c b/src/variable.c index 4202981a4..cf09faa88 100644 --- a/src/variable.c +++ b/src/variable.c @@ -438,7 +438,7 @@ mrb_value mrb_iv_get(mrb_state *mrb, mrb_value obj, mrb_sym sym) { if (obj_iv_p(obj)) { - return mrb_obj_iv_get(mrb, mrb_obj_ptr(obj), sym); + return mrb_obj_iv_get(mrb, mrb_object(obj), sym); } return mrb_nil_value(); } @@ -474,7 +474,7 @@ void mrb_iv_set(mrb_state *mrb, mrb_value obj, mrb_sym sym, mrb_value v) { if (obj_iv_p(obj)) { - mrb_obj_iv_set(mrb, mrb_obj_ptr(obj), sym, v); + mrb_obj_iv_set(mrb, mrb_object(obj), sym, v); } else { mrb_raise(mrb, E_ARGUMENT_ERROR, "cannot set instance variable"); @@ -497,14 +497,14 @@ int mrb_iv_defined(mrb_state *mrb, mrb_value obj, mrb_sym sym) { if (!obj_iv_p(obj)) return FALSE; - return mrb_obj_iv_defined(mrb, mrb_obj_ptr(obj), sym); + return mrb_obj_iv_defined(mrb, mrb_object(obj), sym); } void mrb_iv_copy(mrb_state *mrb, mrb_value dest, mrb_value src) { - struct RObject *d = mrb_obj_ptr(dest); - struct RObject *s = mrb_obj_ptr(src); + struct RObject *d = mrb_object(dest); + struct RObject *s = mrb_object(src); if (d->iv) { iv_free(mrb, d->iv); @@ -558,7 +558,7 @@ mrb_value mrb_iv_remove(mrb_state *mrb, mrb_value obj, mrb_sym sym) { if (obj_iv_p(obj)) { - iv_tbl *t = mrb_obj_ptr(obj)->iv; + iv_tbl *t = mrb_object(obj)->iv; mrb_value val; if (t && iv_del(mrb, t, sym, &val)) { @@ -620,8 +620,8 @@ mrb_obj_instance_variables(mrb_state *mrb, mrb_value self) mrb_value ary; ary = mrb_ary_new(mrb); - if (obj_iv_p(self) && mrb_obj_ptr(self)->iv) { - iv_foreach(mrb, mrb_obj_ptr(self)->iv, iv_i, &ary); + if (obj_iv_p(self) && mrb_object(self)->iv) { + iv_foreach(mrb, mrb_object(self)->iv, iv_i, &ary); } return ary; } @@ -663,8 +663,8 @@ mrb_mod_class_variables(mrb_state *mrb, mrb_value mod) mrb_value ary; ary = mrb_ary_new(mrb); - if (obj_iv_p(mod) && mrb_obj_ptr(mod)->iv) { - iv_foreach(mrb, mrb_obj_ptr(mod)->iv, cv_i, &ary); + if (obj_iv_p(mod) && mrb_object(mod)->iv) { + iv_foreach(mrb, mrb_object(mod)->iv, cv_i, &ary); } return ary; }