mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
instance_methods etc should not include undef'ed method names; based on a patch from @cremno; fix #2613
This commit is contained in:
+1
-1
@@ -614,7 +614,7 @@ method_entry_loop(mrb_state *mrb, struct RClass* klass, khash_t(st)* set)
|
||||
khash_t(mt) *h = klass->mt;
|
||||
if (!h) return;
|
||||
for (i=0;i<kh_end(h);i++) {
|
||||
if (kh_exist(h, i)) {
|
||||
if (kh_exist(h, i) && kh_value(h, i)) {
|
||||
kh_put(st, mrb, set, kh_key(h, i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,6 +469,7 @@ assert('Module#undef_method', '15.2.2.4.42') do
|
||||
assert_true Test4UndefMethod::Parent.new.respond_to?(:hello)
|
||||
assert_false Test4UndefMethod::Child.new.respond_to?(:hello)
|
||||
assert_false Test4UndefMethod::GrandChild.new.respond_to?(:hello)
|
||||
assert_false Test4UndefMethod::Child.instance_methods(false).include? :hello
|
||||
end
|
||||
|
||||
# Not ISO specified
|
||||
|
||||
Reference in New Issue
Block a user