diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-06-15 16:52:00 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-06-15 16:52:00 +0000 |
commit | 5aac65484e00f78ca4c09d3b47506ed088da8366 (patch) | |
tree | d1b8e558466dd9116f844759af6f79a90e25e4a2 /vm_eval.c | |
parent | 04388f9f9dae3dc6af0ff7b30495760a8dc352b4 (diff) | |
download | ruby-5aac65484e00f78ca4c09d3b47506ed088da8366.tar.gz |
* vm_eval.c (rb_call0): refine exception message for hidden objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r-- | vm_eval.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -187,9 +187,12 @@ rb_call0(VALUE klass, VALUE recv, ID mid, int argc, const VALUE *argv, rb_thread_t *th = GET_THREAD(); if (!klass) { + const char *adj = "terminated"; + if (!IMMEDIATE_P(recv) && RBASIC(recv)->flags != 0) + adj = "hidden"; rb_raise(rb_eNotImpError, - "method `%s' called on terminated object (%p)", - rb_id2name(mid), (void *)recv); + "method `%s' called on %s object (%p)", + rb_id2name(mid), adj, (void *)recv); } /* is it in the method cache? */ ent = cache + EXPR1(klass, mid); |