diff options
Diffstat (limited to 'ext/coverage/lib')
-rw-r--r-- | ext/coverage/lib/coverage.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ext/coverage/lib/coverage.rb b/ext/coverage/lib/coverage.rb new file mode 100644 index 0000000000..7a6ef0e100 --- /dev/null +++ b/ext/coverage/lib/coverage.rb @@ -0,0 +1,14 @@ +require "coverage.so" + +module Coverage + def self.line_stub(file) + lines = File.foreach(file).map { nil } + iseqs = [RubyVM::InstructionSequence.compile_file(file)] + until iseqs.empty? + iseq = iseqs.pop + iseq.trace_points.each {|n, _| lines[n - 1] = 0 } + iseq.each_child {|child| iseqs << child } + end + lines + end +end |