C0 code coverage information
Generated on Wed Aug 01 14:04:25 -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.
1 require 'constant_pool/cpinfo'
2 require 'constant_pool/numbers'
3 require 'constant_pool/strings'
4
5 module YAJD
6
7 module ConstantPool
8
9 class ValidationError < StandardError
10 end
11
12 class Pool
13 def initialize(f)
def initialize(f)
10 lib/class_file.rb:165 in 'YAJD::ClassFile#read_constant_pool'
14 @pool = []
15 @pool_idx = {}
16 @last_idx = 0
17
18 list_count = f.read_u2
list_count = f.read_u2
10 File#read_u2 at lib/ext/file.rb:10
19 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?
10 Logger#debug? at /usr/lib/ruby/1.8/logger.rb:217
10 #<Class:YAJD>#logger at lib/yajd.rb:20
20 while list_count > 1 do
21 obj = CPInfo::create_instance(self, f)
obj = CPInfo::create_instance(self, f)
2052 #<Class:YAJD::ConstantPool::CPInfo>#create_instance at lib/constant_pool/cpinfo.rb:62
22
23 pos = self << obj
pos = self << obj
2052 YAJD::ConstantPool::Pool#<< at lib/constant_pool.rb:47
24
25 YAJD::logger.debug { "[#{pos}] #{obj}" } if YAJD::logger.debug?
YAJD::logger.debug { "[#{pos}] #{obj}" } if YAJD::logger.debug?
2052 Logger#debug? at /usr/lib/ruby/1.8/logger.rb:217
2052 #<Class:YAJD>#logger at lib/yajd.rb:20
26
27 if obj.tag == CPInfo::LONG || obj.tag == CPInfo::DOUBLE
28 list_count -= 1
29 end
30 list_count -= 1
31 end
32 end
33
34 def validate
def validate
2 lib/class_file.rb:42 in 'YAJD::ClassFile#validate'
35 @pool.each { |x| x.validate(self) }
@pool.each { |x| x.validate(self) }
566 YAJD::ConstantPool::CUTF8Info#validate at lib/constant_pool/strings.rb:49
264 YAJD::ConstantPool::CNameType#validate at lib/constant_pool/cpinfo.rb:137
200 YAJD::ConstantPool::CMethodRef#validate at lib/constant_pool/cpinfo.rb:166
155 YAJD::ConstantPool::CIMethodRef#validate at lib/constant_pool/cpinfo.rb:184
53 YAJD::ConstantPool::CClass#validate at lib/constant_pool/cpinfo.rb:84
39 YAJD::ConstantPool::CString#validate at lib/constant_pool/strings.rb:22
13 YAJD::ConstantPool::CFieldRef#validate at lib/constant_pool/cpinfo.rb:176
36 end
37
38 def size
39 @pool.size
40 end
41
42 def at(idx)
def at(idx)
2930 (eval):3 in 'YAJD::ConstantPool::CommonAttrs#name_and_type'
1946 (eval):3 in 'YAJD::ConstantPool::CNameType#descriptor'
1946 (eval):3 in 'YAJD::ConstantPool::CNameType#name'
1717 lib/constant_pool/cpinfo.rb:94 in 'YAJD::ConstantPool::CClass#full_name'
1393 lib/visitor/javap/code_info.rb:237 in 'YAJD::Visitor::Javap::CodeInfoVisitor#object_ref'
1317 (eval):3 in 'YAJD::ConstantPool::CommonAttrs#klass'
1092 lib/constant_pool/cpinfo.rb:50 in 'YAJD::ConstantPool::CPInfo#check_reference'
1025 lib/attributes/attribute.rb:10 in '#<Class:YAJD::Attributes>#factory'
798 (eval):3 in 'YAJD::CommonInfo#descriptor'
550 (eval):3 in 'YAJD::CommonInfo#name'
359 (eval):3 in 'YAJD::CommonInfo#parent'
282 (eval):3 in 'YAJD::Attributes::ConstantValueInfo#constant_value'
226 lib/attributes/exceptions.rb:12 in 'YAJD::Attributes::ExceptionsInfo#initialize'
172 (eval):3 in 'YAJD::ConstantPool::CString#string'
48 lib/visitor/javap/code_info.rb:108 in 'YAJD::Visitor::Javap::CodeInfoVisitor#refactor_me'
31 (eval):3 in 'YAJD::Attributes::ExceptionTable#catch_class'
29 lib/visitor/javap/code_info.rb:121 in 'YAJD::Visitor::Javap::CodeInfoVisitor#refactor_me'
18 lib/attributes/source_file.rb:18 in 'YAJD::Attributes::SourceFileInfo#source_file'
10 lib/visitor/javap/class_file.rb:29 in 'YAJD::Visitor::Javap::ClassFileVisitor#class_signature'
10 lib/visitor/javap/class_file.rb:26 in 'YAJD::Visitor::Javap::ClassFileVisitor#class_signature'
8 lib/class_file.rb:82 in 'YAJD::ClassFile#this'
5 lib/visitor/javap/class_file.rb:72 in 'YAJD::Visitor::Javap::ClassFileVisitor#class_info'
5 (eval):3 in 'YAJD::InnerClass#inner_class_info'
5 lib/visitor/javap/class_file.rb:41 in 'YAJD::Visitor::Javap::ClassFileVisitor#class_signature'
4 (eval):3 in 'YAJD::InnerClass#inner_name'
2 (eval):3 in 'YAJD::Attributes::SignatureInfo#signature'
43 i = @pool_idx[idx]
44 @pool[i] unless i.nil?
45 end
46
47 def <<(elem)
def <<(elem)
2052 lib/constant_pool.rb:23 in 'YAJD::ConstantPool::Pool#initialize'
48 @last_idx += 1
49 @pool_idx[@last_idx] = @pool.size
50 @pool << elem
51 pos = @last_idx
52 if elem.is_a?(CLong) || elem.is_a?(CDouble)
53 @last_idx += 1
54 end
55
56 pos
57 end
58
59 def each_with_index
def each_with_index
10 lib/visitor/javap/class_file.rb:105 in 'YAJD::Visitor::Javap::ClassFileVisitor#constant_pool'
60 @pool_idx.sort.each { |k, v| yield(k, @pool[v]) }
61 end
62 end
63
64 end
65
66 end
Generated using the rcov code coverage analysis tool for Ruby version 0.8.0.