Branch Coverage

blib/lib/SystemC/Vregs/Register.pm
Criterion Covered Total %
branch 22 66 33.3


line true false branch
33 0 3 if ref $class
35 0 3 unless $$self{'pack'}
42 0 0 unless $$self{'pack'}
50 0 0 if defined $$self{'attributes'}{$attr}
59 3 0 unless ($$self{'name'} || '') =~ /\*/
61 0 0 if $SystemC::Vregs::Debug
78 0 0 unless my $typeref = $$self{'pack'}->find_type($newname)
80 0 0 if $SystemC::Vregs::Debug
91 0 0 unless $gotone
100 0 3 unless $field =~ /^R_[A-Z][a-zA-Z0-9]*$/
102 0 3 if $field =~ /cnfg[0-9]+$/i
112 0 3 if ($addrtext =~ s/\s*[|]\s*\b(R_[0-9a-zA-Z_]+)\b//)
115 0 0 if (not $orin_ref) { }
121 0 0 unless defined $inher_min
125 0 3 if ($addrtext =~ s/^.*(0x[0-9a-f_]+)\s*-\s*(0x[0-9a-f_]+)\s*[|]\s*//i)
130 0 3 if $addrtext =~ /[|]/
133 0 3 if ($addrtext =~ s/^(0x[0-9a-f_]+)\s*-\s*(0x[0-9a-f_]+)$/$1/i)
138 0 3 unless $addrtext =~ /^0x[0-9a-f_]+$/i
142 0 3 if ($inher_min)
144 0 0 if $$regref{'addr_end_user'}
152 3 0 unless (defined $$regref{'spacing'})
154 0 3 unless defined $$regref{'spacing'}
158 2 1 if ($range) { }
159 0 2 unless $range =~ /^\[([^\]:]+):([^\]:]+)\]$/
164 0 2 unless defined $$regref{'range_high'}
165 0 2 unless defined $$regref{'range_low'}
166 0 2 unless $$regref{'range_low'} < $$regref{'range_high'}
167 0 2 unless $spacing->Lexicompare($$regref{'pack'}->addr_const_vec($$regref{'typeref'}->numbytes)) >= 0
171 0 1 unless $spacing->equal($$regref{'pack'}->addr_const_vec(0))
198 0 0 if ($$self{'typeref'} and $$self{'typeref'}{'deleted'} or &$test_cb($self))
238 0 3 if ($$regref{'addr_end_wildcard'}) { }
239 0 0 unless $$regref{'addr_end'}->Lexicompare($$regref{'addr_end_wildcard'}) < 0
243 0 0 unless not $$regref{'addr_end_user'} or $$regref{'addr_end_user'}->equal($$regref{'addr_end_inclusive'}) or $$regref{'addr_end_user'}->equal($$regref{'addr_end_inclusive_alt'}) or $$regref{'addr_end_user'}->equal($$regref{'addr_end_inclusive_alt2'})