summaryrefslogtreecommitdiff
path: root/ext/coverage/lib/coverage.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/coverage/lib/coverage.rb')
-rw-r--r--ext/coverage/lib/coverage.rb14
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