diff options
| -rw-r--r-- | src/kernel.c | 4 | ||||
| -rw-r--r-- | test/t/kernel.rb | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/kernel.c b/src/kernel.c index af6a49be1..54b5f23b6 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -722,9 +722,7 @@ mrb_obj_singleton_methods(mrb_state *mrb, mrb_bool recur, mrb_value obj) static mrb_value mrb_obj_methods(mrb_state *mrb, mrb_bool recur, mrb_value obj, mrb_method_flag_t flag) { - if (recur) - return mrb_class_instance_method_list(mrb, recur, mrb_class(mrb, obj), 0); - return mrb_obj_singleton_methods(mrb, recur, obj); + return mrb_class_instance_method_list(mrb, recur, mrb_class(mrb, obj), 0); } /* 15.3.1.3.31 */ /* diff --git a/test/t/kernel.rb b/test/t/kernel.rb index 6df2294d5..927166283 100644 --- a/test/t/kernel.rb +++ b/test/t/kernel.rb @@ -423,6 +423,11 @@ end assert('Kernel#public_methods', '15.3.1.3.38') do assert_equal Array, public_methods.class + class Foo + def foo + end + end + assert_equal [:foo], Foo.new.public_methods(false) end # Kernel#puts is defined in mruby-print mrbgem. '15.3.1.3.39' |
