зеркало из https://github.com/github/ruby.git
iseq.c: set coverage at once
* iseq.c (prepare_iseq_build): set coverage at once, not repeatedly resetting. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
c3900ff4a8
Коммит
9871d88ee4
9
iseq.c
9
iseq.c
|
@ -267,6 +267,8 @@ prepare_iseq_build(rb_iseq_t *iseq,
|
|||
const rb_iseq_t *parent, enum iseq_type type,
|
||||
const rb_compile_option_t *option)
|
||||
{
|
||||
VALUE coverage = Qfalse;
|
||||
|
||||
iseq->body->type = type;
|
||||
set_relation(iseq, parent);
|
||||
|
||||
|
@ -296,15 +298,14 @@ prepare_iseq_build(rb_iseq_t *iseq,
|
|||
ISEQ_COMPILE_DATA(iseq)->option = option;
|
||||
ISEQ_COMPILE_DATA(iseq)->last_coverable_line = -1;
|
||||
|
||||
ISEQ_COVERAGE_SET(iseq, Qfalse);
|
||||
|
||||
if (!GET_THREAD()->parse_in_eval) {
|
||||
VALUE coverages = rb_get_coverages();
|
||||
if (RTEST(coverages)) {
|
||||
ISEQ_COVERAGE_SET(iseq, rb_hash_lookup(coverages, path));
|
||||
if (NIL_P(ISEQ_COVERAGE(iseq))) ISEQ_COVERAGE_SET(iseq, Qfalse);
|
||||
coverage = rb_hash_lookup(coverages, path);
|
||||
if (NIL_P(coverage)) coverage = Qfalse;
|
||||
}
|
||||
}
|
||||
ISEQ_COVERAGE_SET(iseq, coverage);
|
||||
|
||||
return Qtrue;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче