proc.c: local variable

* proc.c (method_inspect): use a local variable instead of repeating
  dereferences.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-12-13 01:36:31 +00:00
parent 2e5422a28c
commit c6d03509cc

12
proc.c
View File

@ -2212,6 +2212,7 @@ method_inspect(VALUE method)
VALUE str; VALUE str;
const char *s; const char *s;
const char *sharp = "#"; const char *sharp = "#";
VALUE mklass;
TypedData_Get_Struct(method, struct METHOD, &method_data_type, data); TypedData_Get_Struct(method, struct METHOD, &method_data_type, data);
str = rb_str_buf_new2("#<"); str = rb_str_buf_new2("#<");
@ -2219,11 +2220,12 @@ method_inspect(VALUE method)
rb_str_buf_cat2(str, s); rb_str_buf_cat2(str, s);
rb_str_buf_cat2(str, ": "); rb_str_buf_cat2(str, ": ");
if (FL_TEST(data->me->klass, FL_SINGLETON)) { mklass = data->me->klass;
VALUE v = rb_ivar_get(data->me->klass, attached); if (FL_TEST(mklass, FL_SINGLETON)) {
VALUE v = rb_ivar_get(mklass, attached);
if (data->recv == Qundef) { if (data->recv == Qundef) {
rb_str_buf_append(str, rb_inspect(data->me->klass)); rb_str_buf_append(str, rb_inspect(mklass));
} }
else if (data->recv == v) { else if (data->recv == v) {
rb_str_buf_append(str, rb_inspect(v)); rb_str_buf_append(str, rb_inspect(v));
@ -2239,9 +2241,9 @@ method_inspect(VALUE method)
} }
else { else {
rb_str_buf_append(str, rb_class_name(data->rclass)); rb_str_buf_append(str, rb_class_name(data->rclass));
if (data->rclass != data->me->klass) { if (data->rclass != mklass) {
rb_str_buf_cat2(str, "("); rb_str_buf_cat2(str, "(");
rb_str_buf_append(str, rb_class_name(data->me->klass)); rb_str_buf_append(str, rb_class_name(mklass));
rb_str_buf_cat2(str, ")"); rb_str_buf_cat2(str, ")");
} }
} }