C0 code coverage information
Generated on Wed Aug 01 14:04:27 -0300 2007 with rcov 0.8.0
Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
| Name |
Total lines |
Lines of code |
Total coverage |
Code coverage |
|
lib/ext/file.rb
|
61
|
45
|
|
|
1 # a custom readbytes is used to show more debugging info
2 require 'readbytes'
3
4 class File
5
6 def read_u1
def read_u1
2052 lib/constant_pool/cpinfo.rb:63 in '#<Class:YAJD::ConstantPool::CPInfo>#create_instance'
7 readchar
8 end
9
10 def read_u2
def read_u2
2150 lib/attributes/line_number_table.rb:15 in 'YAJD::Attributes::LineNumberTableInfo#initialize'
1312 lib/ext/file.rb:23 in 'File#read_list'
1025 lib/attributes/attribute.rb:9 in '#<Class:YAJD::Attributes>#factory'
978 lib/constant_pool/strings.rb:36 in 'YAJD::ConstantPool::CUTF8Info#initialize'
550 lib/common.rb:22 in 'YAJD::CommonInfo#initialize'
550 lib/common.rb:24 in 'YAJD::CommonInfo#initialize'
550 lib/common.rb:23 in 'YAJD::CommonInfo#initialize'
390 lib/constant_pool/cpinfo.rb:148 in 'YAJD::ConstantPool::CommonAttrs#initialize'
390 lib/constant_pool/cpinfo.rb:149 in 'YAJD::ConstantPool::CommonAttrs#initialize'
286 lib/constant_pool/cpinfo.rb:132 in 'YAJD::ConstantPool::CNameType#initialize'
286 lib/constant_pool/cpinfo.rb:131 in 'YAJD::ConstantPool::CNameType#initialize'
282 lib/attributes/constant_value.rb:16 in 'YAJD::Attributes::ConstantValueInfo#initialize'
248 lib/attributes/code.rb:12 in 'YAJD::Attributes::CodeInfo#initialize'
248 lib/attributes/code.rb:13 in 'YAJD::Attributes::CodeInfo#initialize'
246 lib/attributes/line_number_table.rb:12 in 'YAJD::Attributes::LineNumberTableInfo#initialize'
226 lib/attributes/exceptions.rb:10 in 'YAJD::Attributes::ExceptionsInfo#initialize'
82 lib/constant_pool/cpinfo.rb:79 in 'YAJD::ConstantPool::CClass#initialize'
47 lib/constant_pool/strings.rb:15 in 'YAJD::ConstantPool::CString#initialize'
31 lib/attributes/code.rb:52 in 'YAJD::Attributes::ExceptionTable#initialize'
31 lib/attributes/code.rb:50 in 'YAJD::Attributes::ExceptionTable#initialize'
31 lib/attributes/code.rb:49 in 'YAJD::Attributes::ExceptionTable#initialize'
31 lib/attributes/code.rb:51 in 'YAJD::Attributes::ExceptionTable#initialize'
10 lib/constant_pool.rb:18 in 'YAJD::ConstantPool::Pool#initialize'
10 lib/class_file.rb:131 in 'YAJD::ClassFile#read'
10 lib/class_file.rb:133 in 'YAJD::ClassFile#read'
10 lib/class_file.rb:135 in 'YAJD::ClassFile#read'
10 lib/class_file.rb:159 in 'YAJD::ClassFile#read_version'
10 lib/class_file.rb:160 in 'YAJD::ClassFile#read_version'
9 lib/attributes/source_file.rb:12 in 'YAJD::Attributes::SourceFileInfo#initialize'
5 lib/attributes/inner_classes.rb:29 in 'YAJD::InnerClass#initialize'
5 lib/class_file.rb:137 in 'YAJD::ClassFile#read'
5 lib/attributes/inner_classes.rb:30 in 'YAJD::InnerClass#initialize'
5 lib/attributes/inner_classes.rb:28 in 'YAJD::InnerClass#initialize'
5 lib/attributes/inner_classes.rb:27 in 'YAJD::InnerClass#initialize'
2 lib/attributes/signature.rb:15 in 'YAJD::Attributes::SignatureInfo#initialize'
11 buf = readbytes(2)
buf = readbytes(2)
10066 File#readbytes at lib/ext/file.rb:34
12 buf.unpack('n')[0]
13 end
14
15 def read_u4
def read_u4
282 lib/attributes/constant_value.rb:15 in 'YAJD::Attributes::ConstantValueInfo#initialize'
248 lib/attributes/code.rb:14 in 'YAJD::Attributes::CodeInfo#initialize'
248 lib/attributes/code.rb:11 in 'YAJD::Attributes::CodeInfo#initialize'
246 lib/attributes/line_number_table.rb:9 in 'YAJD::Attributes::LineNumberTableInfo#initialize'
225 lib/attributes/exceptions.rb:9 in 'YAJD::Attributes::ExceptionsInfo#initialize'
10 lib/class_file.rb:153 in 'YAJD::ClassFile#read_magic'
9 lib/attributes/source_file.rb:8 in 'YAJD::Attributes::SourceFileInfo#initialize'
8 lib/attributes/deprecated.rb:8 in 'YAJD::Attributes::DeprecatedInfo#initialize'
4 lib/attributes/attribute.rb:35 in 'YAJD::Attributes::AttributeInfo#initialize'
2 lib/attributes/signature.rb:14 in 'YAJD::Attributes::SignatureInfo#initialize'
2 lib/constant_pool/numbers.rb:8 in 'YAJD::ConstantPool::CIntegerFloat#initialize'
1 lib/attributes/inner_classes.rb:8 in 'YAJD::Attributes::InnerClassesInfo#initialize'
16 buf = read_c4
buf = read_c4
1285 File#read_c4 at lib/ext/file.rb:53
17 buf.unpack('N')[0]
18 end
19
20 # reads a list of things. 2 bytes indicate the length
21 # and for each element calls the block passed as argument
22 def read_list
def read_list
550 lib/common.rb:25 in 'YAJD::CommonInfo#initialize'
248 lib/attributes/code.rb:17 in 'YAJD::Attributes::CodeInfo#initialize'
248 lib/attributes/code.rb:15 in 'YAJD::Attributes::CodeInfo#initialize'
225 lib/attributes/exceptions.rb:10 in 'YAJD::Attributes::ExceptionsInfo#initialize'
10 lib/class_file.rb:143 in 'YAJD::ClassFile#read'
10 lib/class_file.rb:137 in 'YAJD::ClassFile#read'
10 lib/class_file.rb:139 in 'YAJD::ClassFile#read'
10 lib/class_file.rb:141 in 'YAJD::ClassFile#read'
1 lib/attributes/inner_classes.rb:9 in 'YAJD::Attributes::InnerClassesInfo#initialize'
23 list_count = read_u2
list_count = read_u2
1312 File#read_u2 at lib/ext/file.rb:10
24 YAJD::logger.debug { "reading list of #{list_count} elements" } if YAJD::logger.debug?
YAJD::logger.debug { "reading list of #{list_count} elements" } if YAJD::logger.debug?
1312 Logger#debug? at /usr/lib/ruby/1.8/logger.rb:217
1312 #<Class:YAJD>#logger at lib/yajd.rb:20
25 list = []
26 list_count.times do
27 list << (yield self)
28 end
29
30 list
31 end
32
33 # based in the code from readbytes.rb
34 def readbytes(n)
def readbytes(n)
10066 lib/ext/file.rb:11 in 'File#read_u2'
1812 lib/ext/file.rb:54 in 'File#read_c4'
978 lib/constant_pool/strings.rb:36 in 'YAJD::ConstantPool::CUTF8Info#initialize'
248 lib/attributes/code.rb:14 in 'YAJD::Attributes::CodeInfo#initialize'
4 lib/attributes/attribute.rb:35 in 'YAJD::Attributes::AttributeInfo#initialize'
35 str = read(n)
36 if str == nil
37 raise EOFError, "End of file reached"
38 end
39 if str.size < n
40 raise TruncatedDataError.new("data truncated (0x#{n.to_s(16)}/0x#{str.size.to_s(16)})", str)
41 end
42 str
43 end
44
45 def read_int
def read_int
7 lib/constant_pool/numbers.rb:23 in 'YAJD::ConstantPool::CInteger#initialize'
46 YAJD::Util::SignedNum.to_little_endian(read_c4)
YAJD::Util::SignedNum.to_little_endian(read_c4)
7 File#read_c4 at lib/ext/file.rb:53
7 #<Class:YAJD::Util::SignedNum>#to_little_endian at lib/utils.rb:16
47 end
48
49 def read_long
50 YAJD::Util::SignedNum.to_little_endian(read_c8)
51 end
52
53 def read_c4
def read_c4
1285 lib/ext/file.rb:16 in 'File#read_u4'
260 lib/constant_pool/numbers.rb:38 in 'YAJD::ConstantPool::CLongDouble#initialize'
260 lib/constant_pool/numbers.rb:37 in 'YAJD::ConstantPool::CLongDouble#initialize'
7 lib/ext/file.rb:46 in 'File#read_int'
54 readbytes(4)
readbytes(4)
1812 File#readbytes at lib/ext/file.rb:34
55 end
56
57 def read_c8
58 readbytes(8)
59 end
60 end
61
Generated using the rcov code coverage analysis tool for Ruby version 0.8.0.