rb_method_name_error: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor.
This commit is contained in:
parent
2390a8bd2e
commit
8b9b51bb3b
Notes:
git
2020-06-29 11:06:55 +09:00
6
proc.c
6
proc.c
@ -1865,7 +1865,7 @@ rb_method_name_error(VALUE klass, VALUE str)
|
||||
{
|
||||
#define MSG(s) rb_fstring_lit("undefined method `%1$s' for"s" `%2$s'")
|
||||
VALUE c = klass;
|
||||
VALUE s;
|
||||
VALUE s = Qundef;
|
||||
|
||||
if (FL_TEST(c, FL_SINGLETON)) {
|
||||
VALUE obj = rb_ivar_get(klass, attached);
|
||||
@ -1878,13 +1878,11 @@ rb_method_name_error(VALUE klass, VALUE str)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
goto normal_class;
|
||||
}
|
||||
else if (RB_TYPE_P(c, T_MODULE)) {
|
||||
s = MSG(" module");
|
||||
}
|
||||
else {
|
||||
normal_class:
|
||||
if (s == Qundef) {
|
||||
s = MSG(" class");
|
||||
}
|
||||
rb_name_err_raise_str(s, c, str);
|
||||
|
Loading…
x
Reference in New Issue
Block a user