From f94ed2ce4bcf201a4d16a85f0fdbbfce4ea20e35 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 25 Jun 2015 07:11:45 +0000 Subject: error.c: remove singleton method * error.c (rb_name_err_mesg_new): remove singleton method, and unused argument. * vm_eval.c (make_no_method_exception): call rb_name_err_mesg_new directly instead of constant lookup and method invocation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_eval.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'vm_eval.c') diff --git a/vm_eval.c b/vm_eval.c index fd2277f448..bbc766617c 100644 --- a/vm_eval.c +++ b/vm_eval.c @@ -668,19 +668,12 @@ static VALUE make_no_method_exception(VALUE exc, const char *format, VALUE obj, int argc, const VALUE *argv) { int n = 0; - VALUE mesg; VALUE args[3]; if (!format) { format = "undefined method `%s' for %s"; } - mesg = rb_const_get(exc, rb_intern("message")); - if (rb_method_basic_definition_p(CLASS_OF(mesg), '!')) { - args[n++] = rb_name_err_mesg_new(mesg, rb_str_new2(format), obj, argv[0]); - } - else { - args[n++] = rb_funcall(mesg, '!', 3, rb_str_new2(format), obj, argv[0]); - } + args[n++] = rb_name_err_mesg_new(rb_str_new_cstr(format), obj, argv[0]); args[n++] = argv[0]; if (exc == rb_eNoMethodError) { args[n++] = rb_ary_new4(argc - 1, argv + 1); -- cgit v1.2.3