зеркало из https://github.com/github/ruby.git
iseq.c: use rb_check_funcall
* iseq.c (rb_iseq_load_iseq): use rb_check_funcall instead of repeating method search. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
fae144419c
Коммит
a2fcdb4fbe
9
iseq.c
9
iseq.c
|
@ -479,11 +479,10 @@ rb_iseq_new_with_opt(NODE *node, VALUE name, VALUE path, VALUE absolute_path,
|
|||
const rb_iseq_t *
|
||||
rb_iseq_load_iseq(VALUE fname)
|
||||
{
|
||||
if (rb_respond_to(rb_cISeq, rb_intern("load_iseq"))) {
|
||||
VALUE iseqv = rb_funcall(rb_cISeq, rb_intern("load_iseq"), 1, fname);
|
||||
if (CLASS_OF(iseqv) == rb_cISeq) {
|
||||
return iseqw_check(iseqv);
|
||||
}
|
||||
VALUE iseqv = rb_check_funcall(rb_cISeq, rb_intern("load_iseq"), 1, &fname);
|
||||
|
||||
if (!SPECIAL_CONST_P(iseqv) && RBASIC_CLASS(iseqv) == rb_cISeq) {
|
||||
return iseqw_check(iseqv);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
Загрузка…
Ссылка в новой задаче