parse.y: remove coverage-related code fragments

The code fragments that initializes coverage data were scattered into
both parse.y and compile.c.  parse.y allocated a coverage data, and
compile.c initialize the data.

To remove this cross-cutting concern, this change moves the allocation
from "coverage" function of parse.y to "rb_iseq_new_top" of iseq.c.
For the sake, parse.y just counts the line number of the original source
code, and the number is passed via rb_ast_body_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2018-08-22 10:38:56 +00:00
parent 52bd0d1900
commit d65f7458bc
6 changed files with 13 additions and 31 deletions

View file

@ -127,15 +127,6 @@ class TestCoverage < Test::Unit::TestCase
}
end
def test_nonpositive_linenumber
bug12517 = '[ruby-core:76141] [Bug #12517]'
assert_in_out_err(%w[-W0 -rcoverage], <<-"end;", ['{"<compiled>"=>[nil]}'], [], bug12517)
Coverage.start
RubyVM::InstructionSequence.compile(":ok", nil, "<compiled>", 0)
p Coverage.result
end;
end
def test_eval
bug13305 = '[ruby-core:80079] [Bug #13305]'