mrb_value mrb_top_self(mrb_state *mrb) { mrb_value v; MRB_SET_VALUE(v, MRB_TT_MAIN, value.i, 0); return v; }
static void undef_method(mrb_state *mrb, struct RClass *c, mrb_sym a) { mrb_value m; MRB_SET_VALUE(m, MRB_TT_PROC, value.p, 0); mrb_define_method_vm(mrb, c, a, m); }
static void undef_method(mrb_state *mrb, struct RClass *c, mrb_sym a) { mrb_value m; if (!mrb_obj_respond_to(c, a)) { mrb_name_error(mrb, a, "undefined method '%S' for class '%S'", mrb_sym2str(mrb, a), mrb_obj_value(c)); } else { MRB_SET_VALUE(m, MRB_TT_PROC, value.p, 0); mrb_define_method_vm(mrb, c, a, m); } }