diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-13 03:53:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-13 03:53:20 +0000 |
commit | 4547d773c2ea02864df5658a99d18718626e902d (patch) | |
tree | 96d78a439c5be68f41236a55e5723f1fada9be74 | |
parent | b07bdbc2b308440fc1cc3f185256bf9f8433e09a (diff) | |
download | ruby-4547d773c2ea02864df5658a99d18718626e902d.tar.gz |
eval.c: clear cache
* eval.c (rb_using_module): clear method cache after applying
refinements.
* eval.c (mod_using, top_using): remove redundant type checks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | eval.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -1176,6 +1176,7 @@ rb_using_module(NODE *cref, VALUE module) { Check_Type(module, T_MODULE); using_module_recursive(cref, module); + rb_clear_method_cache_by_class(rb_cObject); } VALUE @@ -1295,9 +1296,7 @@ mod_using(VALUE self, VALUE module) if (prev_cfp && prev_cfp->self != self) { rb_raise(rb_eRuntimeError, "Module#using is not called on self"); } - Check_Type(module, T_MODULE); rb_using_module(cref, module); - rb_clear_method_cache_by_class(rb_cObject); return self; } @@ -1431,9 +1430,7 @@ top_using(VALUE self, VALUE module) rb_raise(rb_eRuntimeError, "main.using is permitted only at toplevel"); } - Check_Type(module, T_MODULE); rb_using_module(cref, module); - rb_clear_method_cache_by_class(rb_cObject); return self; } |