Commit 93b23357 authored by Carson McDonald's avatar Carson McDonald

Add implementation for respond_to_missing?

parent 54e1ed20
...@@ -965,7 +965,7 @@ obj_respond_to(mrb_state *mrb, mrb_value self) ...@@ -965,7 +965,7 @@ obj_respond_to(mrb_state *mrb, mrb_value self)
mrb_value *argv; mrb_value *argv;
int argc; int argc;
mrb_value mid, priv; mrb_value mid, priv;
mrb_sym id; mrb_sym id, rtm_id;
mrb_bool respond_to_p; mrb_bool respond_to_p;
mrb_get_args(mrb, "*", &argv, &argc); mrb_get_args(mrb, "*", &argv, &argc);
...@@ -976,6 +976,13 @@ obj_respond_to(mrb_state *mrb, mrb_value self) ...@@ -976,6 +976,13 @@ obj_respond_to(mrb_state *mrb, mrb_value self)
respond_to_p = basic_obj_respond_to(mrb, self, id, !mrb_test(priv)); respond_to_p = basic_obj_respond_to(mrb, self, id, !mrb_test(priv));
if(!respond_to_p) {
rtm_id = mrb_intern2(mrb, "respond_to_missing?", 19);
if(basic_obj_respond_to(mrb, self, rtm_id, !mrb_test(priv))) {
return mrb_funcall_argv(mrb, self, rtm_id, argc, argv);
}
}
return mrb_bool_value(respond_to_p); return mrb_bool_value(respond_to_p);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment