summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-01-08 07:02:26 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-01-08 07:02:26 +0000
commit10b2abc85fa281ce79016bdda61c99803528dd01 (patch)
treec63d0e66d2eecf6a07d782bf9a26154dbe92b62f /eval.c
parentd43b289d0aae97e10e4108356a69f3f52c25c83f (diff)
downloadruby-10b2abc85fa281ce79016bdda61c99803528dd01.tar.gz
ruby-10b2abc85fa281ce79016bdda61c99803528dd01.tar.xz
ruby-10b2abc85fa281ce79016bdda61c99803528dd01.zip
* eval.c (rb_add_method): clear replaced method from the cache.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index d791b31f8..f5fbd5c91 100644
--- a/eval.c
+++ b/eval.c
@@ -229,7 +229,8 @@ rb_add_method(klass, mid, node, noex)
}
if (OBJ_FROZEN(klass)) rb_error_frozen("class/module");
body = NEW_METHOD(node, noex);
- st_insert(RCLASS(klass)->m_tbl, mid, body);
+ if (st_insert(RCLASS(klass)->m_tbl, mid, body))
+ rb_clear_cache_by_id(mid);
}
static NODE*