Branch Coverage

blib/lib/Verilog/Netlist/Subclass.pm
Criterion Covered Total %
branch 603 1194 50.5


line true false branch
45 0 0 unless ($_Subclass_Logger_Warned)
64 0 0 if ref $_[0]
70 0 0 if ref $_[0]
76 0 0 if ref $_[0]
110 80 0 if ($base_type eq 'ARRAY') { }
113 0 80 if @_
118 0 80 if @decls % 2 == 1
122 0 80 if do { no strict 'refs'; defined &{$class . '::new';} }
141 80 0 if ($base_type eq 'ARRAY')
149 1168 0 if ($base_type eq 'ARRAY')
154 0 1168 if ($type =~ /^\*(.)/)
159 40 1128 if ($type eq '@') { }
304 824 elsif ($type eq '%') { }
824 0 elsif ($type eq '$') { }
186 0 1168 if (do { no strict 'refs'; defined &{$class . "::$name";} }) { }
191 0 1168 if (defined $refs{$name})
197 1168 0 if ($base_type eq 'ARRAY')
201 40 1128 if (defined $arrays{$name}) { }
304 824 elsif (defined $hashes{$name}) { }
221 0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
412 1485 @_ ? :
0 412 if (ref $i eq 'HASH' and not @_)
0 412 if @_ > 1
412 0 @_ ? :
39 273 @_ ? :
0 39 if (ref $i eq 'HASH' and not @_)
0 39 if @_ > 1
39 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
6 0 @_ ? :
0 6 if (ref $i eq 'HASH' and not @_)
0 6 if @_ > 1
6 0 @_ ? :
0 11 if @_ > 1
4 7 @_ ? :
0 83 if @_ > 1
15 68 @_ ? :
2 24 @_ ? :
0 2 if (ref $i eq 'HASH' and not @_)
0 2 if @_ > 1
2 0 @_ ? :
246 0 @_ ? :
0 246 if (ref $i eq 'HASH' and not @_)
0 246 if @_ > 1
246 0 @_ ? :
11011 44073 @_ ? :
2 11017 if (ref $i eq 'HASH' and not @_)
0 11011 if @_ > 1
11011 0 @_ ? :
1430 6336 @_ ? :
33 1770 if (ref $i eq 'HASH' and not @_)
0 1430 if @_ > 1
1430 0 @_ ? :
104 1621 if @_ > 1
16 1019 @_ ? :
37 339 @_ ? :
104 37 if (ref $i eq 'HASH' and not @_)
0 37 if @_ > 1
37 0 @_ ? :
853 1425 @_ ? :
0 853 if (ref $i eq 'HASH' and not @_)
0 853 if @_ > 1
851 2 @_ ? :
0 424 if @_ > 1
0 424 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'ARRAY' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
670 1018 @_ ? :
0 670 if (ref $i eq 'HASH' and not @_)
0 670 if @_ > 1
670 0 @_ ? :
10 76 @_ ? :
0 10 if (ref $i eq 'HASH' and not @_)
0 10 if @_ > 1
10 0 @_ ? :
10 18 @_ ? :
0 10 if (ref $i eq 'HASH' and not @_)
0 10 if @_ > 1
10 0 @_ ? :
61 13 @_ ? :
0 61 if (ref $i eq 'ARRAY' and not @_)
0 61 if @_ > 1
61 0 @_ ? :
618 5 @_ ? :
0 618 if (ref $i eq 'ARRAY' and not @_)
0 618 if @_ > 1
618 0 @_ ? :
5 0 @_ ? :
0 5 if (ref $i eq 'ARRAY' and not @_)
0 5 if @_ > 1
5 0 @_ ? :
10 312 @_ ? :
0 10 if (ref $i eq 'HASH' and not @_)
0 10 if @_ > 1
10 0 @_ ? :
0 30 if @_ > 1
10 20 @_ ? :
0 263 if @_ > 1
51 212 @_ ? :
0 14 if @_ > 1
7 7 @_ ? :
0 436 if @_ > 1
51 385 @_ ? :
0 277 if @_ > 1
0 277 @_ ? :
0 112 if @_ > 1
0 112 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 2 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
2 0 @_ ? :
2 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'ARRAY' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 239 if @_ > 1
239 0 @_ ? :
0 470 if @_ > 1
419 51 @_ ? :
0 970 if @_ > 1
0 970 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 30 if @_ > 1
15 15 @_ ? :
0 8 if @_ > 1
4 4 @_ ? :
0 24 if @_ > 1
12 12 @_ ? :
0 4 if @_ > 1
2 2 @_ ? :
0 64 if @_ > 1
31 33 @_ ? :
0 366 if @_ > 1
39 327 @_ ? :
0 12610 if @_ > 1
12470 140 @_ ? :
0 436 if @_ > 1
118 318 @_ ? :
0 237 if @_ > 1
0 237 @_ ? :
0 653 if @_ > 1
0 653 @_ ? :
0 3 if @_ > 1
0 3 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 119 if @_ > 1
0 119 @_ ? :
0 6 if @_ > 1
0 6 @_ ? :
0 3 if @_ > 1
0 3 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 49 if @_ > 1
0 49 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 38 if @_ > 1
2 36 @_ ? :
0 273 if @_ > 1
0 273 @_ ? :
0 45 if @_ > 1
0 45 @_ ? :
0 46 if @_ > 1
39 7 @_ ? :
0 30 if @_ > 1
0 30 @_ ? :
0 112 if @_ > 1
0 112 @_ ? :
0 5 if @_ > 1
0 5 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 11 if @_ > 1
0 11 @_ ? :
0 5 if @_ > 1
0 5 @_ ? :
0 2 if @_ > 1
0 2 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 104 if @_ > 1
0 104 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 88 if @_ > 1
0 88 @_ ? :
0 21 if @_ > 1
0 21 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 12501 if @_ > 1
0 12501 @_ ? :
0 729 if @_ > 1
0 729 @_ ? :
0 162 if @_ > 1
0 162 @_ ? :
0 404 if @_ > 1
0 404 @_ ? :
0 247 if @_ > 1
0 247 @_ ? :
0 469 if @_ > 1
0 469 @_ ? :
0 122 if @_ > 1
0 122 @_ ? :
0 23307 if @_ > 1
0 23307 @_ ? :
0 518 if @_ > 1
0 518 @_ ? :
0 56 if @_ > 1
2 54 @_ ? :
0 1367 if @_ > 1
0 1367 @_ ? :
0 2876 if @_ > 1
2 2874 @_ ? :
0 3895 if @_ > 1
0 3895 @_ ? :
0 727 if @_ > 1
0 727 @_ ? :
0 240 if @_ > 1
13 227 @_ ? :
0 444 if @_ > 1
88 356 @_ ? :
0 11528 if @_ > 1
11250 278 @_ ? :
0 207 if @_ > 1
0 207 @_ ? :
0 228 if @_ > 1
3 225 @_ ? :
0 484 if @_ > 1
200 284 @_ ? :
0 1487 unless @_
1487 0 defined $init{'name'} ? :
1487 0 defined $init{'filename'} ? :
1487 0 defined $init{'lineno'} ? :
0 1487 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 1487 defined $init{'userdata'} ? :
0 1487 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 1487 defined $init{'attributes'} ? :
1474 13 defined $init{'comment'} ? :
1487 0 defined $init{'submodname'} ? :
1418 69 defined $init{'module'} ? :
69 1418 defined $init{'params'} ? :
1485 2 defined $init{'range'} ? :
1405 82 if defined $init{'_pins'} and ref $init{'_pins'} ne 'HASH'
1403 84 defined $init{'_pins'} ? :
1403 15 defined $init{'byorder'} ? :
0 1418 defined $init{'submod'} ? :
402 1016 defined $init{'gateprim'} ? :
402 1016 defined $init{'_autoinst'} ? :
0 1757 unless @_
352 1405 defined $init{'name'} ? :
152 1605 defined $init{'filename'} ? :
352 1405 defined $init{'lineno'} ? :
1404 353 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
1 1756 defined $init{'userdata'} ? :
0 1757 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 352 defined $init{'attributes'} ? :
149 203 defined $init{'direction'} ? :
351 1 defined $init{'data_type'} ? :
138 214 defined $init{'comment'} ? :
21 331 defined $init{'array'} ? :
151 201 defined $init{'module'} ? :
138 214 defined $init{'net'} ? :
136 216 defined $init{'sp_autocreated'} ? :
136 18 unless @_
15 139 defined $init{'name'} ? :
65 87 defined $init{'filename'} ? :
65 87 defined $init{'lineno'} ? :
6 146 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
2 150 defined $init{'userdata'} ? :
0 152 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 152 defined $init{'attributes'} ? :
136 16 defined $init{'comment'} ? :
10 142 defined $init{'_pinselects'} ? :
10 142 defined $init{'portname'} ? :
10 6 defined $init{'portnumber'} ? :
9 6 defined $init{'pinnamed'} ? :
9 6 defined $init{'cell'} ? :
0 15 defined $init{'_nets'} ? :
1 14 defined $init{'port'} ? :
1 14 defined $init{'sp_autocreated'} ? :
0 450 unless @_
444 6 defined $init{'name'} ? :
416 34 defined $init{'basename'} ? :
444 6 defined $init{'netlist'} ? :
0 447 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 447 defined $init{'userdata'} ? :
0 447 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 447 defined $init{'attributes'} ? :
6 441 defined $init{'comment'} ? :
444 3 defined $init{'is_libcell'} ? :
414 33 defined $init{'preproc'} ? :
2 445 if defined $init{'_interfaces'} and ref $init{'_interfaces'} ne 'HASH'
415 32 defined $init{'_interfaces'} ? :
6 441 if defined $init{'_modules'} and ref $init{'_modules'} ne 'HASH'
6 440 defined $init{'_modules'} ? :
4 1222 unless @_
810 416 defined $init{'name'} ? :
810 416 defined $init{'filename'} ? :
810 416 defined $init{'lineno'} ? :
8 808 defined $init{'netlist'} ? :
0 816 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 816 defined $init{'userdata'} ? :
0 816 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
6 810 defined $init{'attributes'} ? :
807 9 defined $init{'comment'} ? :
805 11 if defined $init{'_cells'} and ref $init{'_cells'} ne 'HASH'
805 7 defined $init{'_cells'} ? :
802 5 if defined $init{'_modports'} and ref $init{'_modports'} ne 'HASH'
800 7 defined $init{'_modports'} ? :
0 805 if defined $init{'_ports'} and ref $init{'_ports'} ne 'HASH'
0 803 defined $init{'_ports'} ? :
0 803 if defined $init{'_portsordered'} and ref $init{'_portsordered'} ne 'ARRAY'
0 3 defined $init{'_portsordered'} ? :
0 3 if defined $init{'_nets'} and ref $init{'_nets'} ne 'HASH'
0 3 defined $init{'_nets'} ? :
0 3 defined $init{'_level'} ? :
0 644 unless @_
644 0 defined $init{'name'} ? :
644 0 defined $init{'filename'} ? :
644 0 defined $init{'lineno'} ? :
40 604 defined $init{'netlist'} ? :
40 604 defined $init{'keyword'} ? :
0 644 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 644 defined $init{'userdata'} ? :
604 40 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
604 40 defined $init{'attributes'} ? :
0 644 if defined $init{'attrs'} and ref $init{'attrs'} ne 'ARRAY'
604 40 defined $init{'attrs'} ? :
604 40 defined $init{'comment'} ? :
0 644 if defined $init{'_ports'} and ref $init{'_ports'} ne 'HASH'
0 644 defined $init{'_ports'} ? :
0 40 if defined $init{'_portsordered'} and ref $init{'_portsordered'} ne 'ARRAY'
0 40 defined $init{'_portsordered'} ? :
0 40 if defined $init{'_nets'} and ref $init{'_nets'} ne 'HASH'
0 40 defined $init{'_nets'} ? :
0 40 if defined $init{'_cells'} and ref $init{'_cells'} ne 'HASH'
0 40 defined $init{'_cells'} ? :
0 40 if defined $init{'_celldecls'} and ref $init{'_celldecls'} ne 'HASH'
0 40 defined $init{'_celldecls'} ? :
0 40 if defined $init{'_cellarray'} and ref $init{'_cellarray'} ne 'HASH'
0 40 defined $init{'_cellarray'} ? :
0 40 defined $init{'_cellnum'} ? :
0 40 defined $init{'_level'} ? :
0 40 if defined $init{'_statements'} and ref $init{'_statements'} ne 'HASH'
0 40 defined $init{'_statements'} ? :
0 40 defined $init{'_stmtnum'} ? :
40 0 defined $init{'is_top'} ? :
35 5 defined $init{'is_libcell'} ? :
0 40 if defined $init{'_autocovers'} and ref $init{'_autocovers'} ne 'HASH'
0 40 defined $init{'_autocovers'} ? :
0 40 defined $init{'_autosignal'} ? :
0 40 defined $init{'_autosubcells'} ? :
0 40 if defined $init{'_autotrace'} and ref $init{'_autotrace'} ne 'HASH'
0 40 defined $init{'_autotrace'} ? :
0 40 defined $init{'_autoinoutmod'} ? :
0 40 if defined $init{'_pintemplates'} and ref $init{'_pintemplates'} ne 'ARRAY'
0 40 defined $init{'_pintemplates'} ? :
0 40 defined $init{'_ctor'} ? :
0 40 defined $init{'_code_symbols'} ? :
0 40 if defined $init{'_covergroups'} and ref $init{'_covergroups'} ne 'HASH'
0 40 defined $init{'_covergroups'} ? :
0 40 defined $init{'lesswarn'} ? :
0 14 unless @_
14 0 defined $init{'name'} ? :
14 0 defined $init{'filename'} ? :
14 0 defined $init{'lineno'} ? :
10 4 defined $init{'module'} ? :
7 7 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 14 defined $init{'userdata'} ? :
0 14 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 14 defined $init{'attributes'} ? :
6 8 defined $init{'comment'} ? :
6 8 if defined $init{'_ports'} and ref $init{'_ports'} ne 'HASH'
6 8 defined $init{'_ports'} ? :
4 8 if defined $init{'_portsordered'} and ref $init{'_portsordered'} ne 'ARRAY'
4 8 defined $init{'_portsordered'} ? :
0 12 if defined $init{'_nets'} and ref $init{'_nets'} ne 'HASH'
0 12 defined $init{'_nets'} ? :
0 51 unless @_
40 7 defined $init{'name'} ? :
37 10 defined $init{'filename'} ? :
40 7 defined $init{'lineno'} ? :
1 46 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 47 defined $init{'userdata'} ? :
0 47 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 47 defined $init{'attributes'} ? :
34 13 defined $init{'data_type'} ? :
39 8 defined $init{'decl_type'} ? :
36 11 defined $init{'net_type'} ? :
2 45 defined $init{'comment'} ? :
36 11 defined $init{'array'} ? :
34 13 defined $init{'module'} ? :
41 6 defined $init{'signed'} ? :
40 4 defined $init{'value'} ? :
0 43 defined $init{'port'} ? :
9 34 defined $init{'msb'} ? :
9 34 defined $init{'lsb'} ? :
0 41 defined $init{'stored_lsb'} ? :
0 41 defined $init{'_used_in'} ? :
0 41 defined $init{'_used_out'} ? :
0 41 defined $init{'_used_inout'} ? :
34 7 defined $init{'simple_type'} ? :
0 41 defined $init{'sp_traced'} ? :
0 41 defined $init{'sp_autocreated'} ? :
0 11047 unless @_
11040 7 defined $init{'name'} ? :
11034 13 defined $init{'keyword'} ? :
11040 7 defined $init{'filename'} ? :
2 11038 defined $init{'lineno'} ? :
1 11039 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 11040 defined $init{'userdata'} ? :
0 11040 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
11003 37 defined $init{'attributes'} ? :
11039 1 defined $init{'lhs'} ? :
11033 7 defined $init{'rhs'} ? :
30 11010 defined $init{'module'} ? :
11032 243 unless @_
11268 7 defined $init{'name'} ? :
11237 38 defined $init{'keyword'} ? :
11239 30 defined $init{'filename'} ? :
201 11068 defined $init{'lineno'} ? :
200 11040 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 11240 defined $init{'userdata'} ? :
0 11240 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 11240 defined $init{'attributes'} ? :
36 11204 defined $init{'lhs'} ? :
34 11206 defined $init{'rhs'} ? :
11011 229 defined $init{'module'} ? :
33 11737 if @_ > 1
227 11543 @_ ? :
0 239 if @_ > 1
0 237 @_ ? :
0 743 if @_ > 1
53 683 @_ ? :
1 1576 if @_ > 1
86 1465 @_ ? :
0 252 if @_ > 1
0 252 @_ ? :
0 218 if @_ > 1
0 218 @_ ? :
0 643 if @_ > 1
442 201 @_ ? :
0 232 if @_ > 1
0 232 @_ ? :
0 206 if @_ > 1
0 206 @_ ? :
200 12 if @_ > 1
200 12 @_ ? :
0 201 if @_ > 1
0 201 @_ ? :
0 200 if @_ > 1
0 200 @_ ? :
0 200 if @_ > 1
0 200 @_ ? :
0 200 if @_ > 1
0 200 @_ ? :
0 200 if @_ > 1
0 200 @_ ? :
0 200 if @_ > 1
0 200 @_ ? :
0 200 if @_ > 1
0 200 @_ ? :
0 674 if @_ > 1
45 629 @_ ? :
0 250 if @_ > 1
0 250 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 0 @_ ? :
0 0 if (ref $i eq 'HASH' and not @_)
0 0 if @_ > 1
0 0 @_ ? :
0 601 if @_ > 1
0 601 @_ ? :
222 0 80 if $@