Branch Coverage

blib/lib/Verilog/Netlist/Subclass.pm
Criterion Covered Total %
branch 597 1194 50.0


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 @_ ? :
429 1632 @_ ? :
0 429 if (ref $i eq 'HASH' and not @_)
0 429 if @_ > 1
429 0 @_ ? :
22 126 @_ ? :
0 22 if (ref $i eq 'HASH' and not @_)
0 22 if @_ > 1
22 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 78 if @_ > 1
14 64 @_ ? :
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 @_ ? :
5 932 if @_ > 1
13 903 @_ ? :
11136 44886 @_ ? :
5 11136 if (ref $i eq 'HASH' and not @_)
0 11136 if @_ > 1
11136 0 @_ ? :
4 416 @_ ? :
36 361 if (ref $i eq 'HASH' and not @_)
0 4 if @_ > 1
4 0 @_ ? :
1437 6036 @_ ? :
2 1443 if (ref $i eq 'HASH' and not @_)
0 1437 if @_ > 1
1437 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 @_ ? :
63 203 @_ ? :
0 63 if (ref $i eq 'HASH' and not @_)
0 63 if @_ > 1
63 0 @_ ? :
22 81 @_ ? :
0 22 if (ref $i eq 'HASH' and not @_)
0 22 if @_ > 1
22 0 @_ ? :
605 828 @_ ? :
0 605 if (ref $i eq 'HASH' and not @_)
0 605 if @_ > 1
605 0 @_ ? :
66 13 @_ ? :
0 66 if (ref $i eq 'ARRAY' and not @_)
0 66 if @_ > 1
66 0 @_ ? :
10 3 @_ ? :
0 10 if (ref $i eq 'ARRAY' and not @_)
0 10 if @_ > 1
10 0 @_ ? :
608 2 @_ ? :
0 608 if (ref $i eq 'ARRAY' and not @_)
0 608 if @_ > 1
608 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 125 if @_ > 1
0 125 @_ ? :
0 264 if @_ > 1
0 264 @_ ? :
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 '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 '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 24 if @_ > 1
12 12 @_ ? :
0 374 if @_ > 1
43 331 @_ ? :
0 16 if @_ > 1
8 8 @_ ? :
0 8 if @_ > 1
4 4 @_ ? :
0 54 if @_ > 1
27 27 @_ ? :
0 6 if @_ > 1
2 4 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 14 if @_ > 1
7 7 @_ ? :
0 12841 if @_ > 1
12521 320 @_ ? :
0 205 if @_ > 1
67 138 @_ ? :
0 237 if @_ > 1
0 237 @_ ? :
0 653 if @_ > 1
0 653 @_ ? :
0 106 if @_ > 1
0 106 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 52 if @_ > 1
0 52 @_ ? :
0 6 if @_ > 1
0 6 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 15 if @_ > 1
0 15 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 1 if @_ > 1
0 1 @_ ? :
0 38 if @_ > 1
2 36 @_ ? :
0 247 if @_ > 1
0 247 @_ ? :
0 71 if @_ > 1
0 71 @_ ? :
0 46 if @_ > 1
39 7 @_ ? :
0 131 if @_ > 1
0 131 @_ ? :
0 5 if @_ > 1
0 5 @_ ? :
0 11 if @_ > 1
0 11 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 11 if @_ > 1
0 11 @_ ? :
0 5 if @_ > 1
0 5 @_ ? :
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 0 if @_ > 1
0 0 @_ ? :
0 2 if @_ > 1
0 2 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
0 88 if @_ > 1
0 88 @_ ? :
0 12403 if @_ > 1
0 12403 @_ ? :
0 488 if @_ > 1
0 488 @_ ? :
0 8 if @_ > 1
0 8 @_ ? :
0 127 if @_ > 1
0 127 @_ ? :
0 604 if @_ > 1
0 604 @_ ? :
0 187 if @_ > 1
0 187 @_ ? :
0 247 if @_ > 1
0 247 @_ ? :
0 2933 if @_ > 1
0 2933 @_ ? :
0 2412 if @_ > 1
0 2412 @_ ? :
0 1877 if @_ > 1
0 1877 @_ ? :
0 503 if @_ > 1
2 501 @_ ? :
0 234 if @_ > 1
11 223 @_ ? :
0 141 if @_ > 1
0 141 @_ ? :
0 806 if @_ > 1
0 806 @_ ? :
0 177 if @_ > 1
4 173 @_ ? :
0 1010 if @_ > 1
0 1010 @_ ? :
0 23598 if @_ > 1
0 23598 @_ ? :
0 444 if @_ > 1
88 356 @_ ? :
0 11528 if @_ > 1
11250 278 @_ ? :
0 71 if @_ > 1
0 71 @_ ? :
0 277 if @_ > 1
3 274 @_ ? :
0 571 if @_ > 1
200 371 @_ ? :
0 636 unless @_
636 0 defined $init{'name'} ? :
636 0 defined $init{'filename'} ? :
636 0 defined $init{'lineno'} ? :
2 634 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 636 defined $init{'userdata'} ? :
0 636 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 636 defined $init{'attributes'} ? :
634 2 defined $init{'data_type'} ? :
635 1 defined $init{'decl_type'} ? :
35 601 defined $init{'net_type'} ? :
603 33 defined $init{'comment'} ? :
634 1 defined $init{'array'} ? :
34 601 defined $init{'module'} ? :
34 601 defined $init{'signed'} ? :
34 1 defined $init{'value'} ? :
0 34 defined $init{'port'} ? :
9 25 defined $init{'msb'} ? :
9 25 defined $init{'lsb'} ? :
0 34 defined $init{'stored_lsb'} ? :
0 34 defined $init{'_used_in'} ? :
0 34 defined $init{'_used_out'} ? :
0 34 defined $init{'_used_inout'} ? :
34 0 defined $init{'simple_type'} ? :
0 34 defined $init{'sp_traced'} ? :
0 34 defined $init{'sp_autocreated'} ? :
0 11034 unless @_
11034 0 defined $init{'name'} ? :
11015 19 defined $init{'filename'} ? :
11034 0 defined $init{'lineno'} ? :
12 11022 defined $init{'netlist'} ? :
11 11023 defined $init{'keyword'} ? :
0 11034 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 11034 defined $init{'userdata'} ? :
11003 31 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
11023 11 defined $init{'attributes'} ? :
11004 30 if defined $init{'attrs'} and ref $init{'attrs'} ne 'ARRAY'
1 11033 defined $init{'attrs'} ? :
11003 30 defined $init{'comment'} ? :
11003 30 if defined $init{'_ports'} and ref $init{'_ports'} ne 'HASH'
11003 30 defined $init{'_ports'} ? :
11003 11 if defined $init{'_portsordered'} and ref $init{'_portsordered'} ne 'ARRAY'
0 11014 defined $init{'_portsordered'} ? :
0 11014 if defined $init{'_nets'} and ref $init{'_nets'} ne 'HASH'
0 11014 defined $init{'_nets'} ? :
0 11014 if defined $init{'_cells'} and ref $init{'_cells'} ne 'HASH'
0 11014 defined $init{'_cells'} ? :
0 11014 if defined $init{'_celldecls'} and ref $init{'_celldecls'} ne 'HASH'
0 11014 defined $init{'_celldecls'} ? :
11003 11 if defined $init{'_cellarray'} and ref $init{'_cellarray'} ne 'HASH'
0 11014 defined $init{'_cellarray'} ? :
0 11014 defined $init{'_cellnum'} ? :
0 11 defined $init{'_level'} ? :
0 11 if defined $init{'_statements'} and ref $init{'_statements'} ne 'HASH'
0 11 defined $init{'_statements'} ? :
0 11 defined $init{'_stmtnum'} ? :
11 0 defined $init{'is_top'} ? :
9 2 defined $init{'is_libcell'} ? :
0 11 if defined $init{'_autocovers'} and ref $init{'_autocovers'} ne 'HASH'
0 11 defined $init{'_autocovers'} ? :
0 11 defined $init{'_autosignal'} ? :
0 11 defined $init{'_autosubcells'} ? :
0 11 if defined $init{'_autotrace'} and ref $init{'_autotrace'} ne 'HASH'
0 11 defined $init{'_autotrace'} ? :
0 11 defined $init{'_autoinoutmod'} ? :
0 11 if defined $init{'_pintemplates'} and ref $init{'_pintemplates'} ne 'ARRAY'
0 11 defined $init{'_pintemplates'} ? :
0 11 defined $init{'_ctor'} ? :
0 11 defined $init{'_code_symbols'} ? :
0 11 if defined $init{'_covergroups'} and ref $init{'_covergroups'} ne 'HASH'
0 11 defined $init{'_covergroups'} ? :
0 11 defined $init{'lesswarn'} ? :
0 218 unless @_
218 0 defined $init{'name'} ? :
212 6 defined $init{'keyword'} ? :
218 0 defined $init{'filename'} ? :
206 12 defined $init{'lineno'} ? :
201 17 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 218 defined $init{'userdata'} ? :
0 218 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 218 defined $init{'attributes'} ? :
17 201 defined $init{'lhs'} ? :
11 207 defined $init{'rhs'} ? :
9 209 defined $init{'module'} ? :
6 233 unless @_
32 207 defined $init{'name'} ? :
23 216 defined $init{'filename'} ? :
26 207 defined $init{'lineno'} ? :
3 230 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 227 defined $init{'userdata'} ? :
0 227 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 227 defined $init{'attributes'} ? :
2 225 defined $init{'comment'} ? :
23 204 defined $init{'_pinselects'} ? :
18 209 defined $init{'portname'} ? :
11 216 defined $init{'portnumber'} ? :
20 207 defined $init{'pinnamed'} ? :
9 218 defined $init{'cell'} ? :
0 227 defined $init{'_nets'} ? :
0 222 defined $init{'port'} ? :
0 222 defined $init{'sp_autocreated'} ? :
0 659 unless @_
647 12 defined $init{'name'} ? :
647 3 defined $init{'filename'} ? :
446 204 defined $init{'lineno'} ? :
0 647 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 647 defined $init{'userdata'} ? :
0 647 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 647 defined $init{'attributes'} ? :
20 627 defined $init{'direction'} ? :
446 201 defined $init{'data_type'} ? :
433 214 defined $init{'comment'} ? :
13 634 defined $init{'array'} ? :
446 201 defined $init{'module'} ? :
7 640 defined $init{'net'} ? :
7 640 defined $init{'sp_autocreated'} ? :
7 643 unless @_
16 634 defined $init{'name'} ? :
16 433 defined $init{'filename'} ? :
16 433 defined $init{'lineno'} ? :
12 11 defined $init{'netlist'} ? :
7 16 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 23 defined $init{'userdata'} ? :
0 23 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
11 12 defined $init{'attributes'} ? :
6 17 defined $init{'comment'} ? :
2 21 if defined $init{'_cells'} and ref $init{'_cells'} ne 'HASH'
6 10 defined $init{'_cells'} ? :
4 10 if defined $init{'_modports'} and ref $init{'_modports'} ne 'HASH'
0 14 defined $init{'_modports'} ? :
0 14 if defined $init{'_ports'} and ref $init{'_ports'} ne 'HASH'
0 10 defined $init{'_ports'} ? :
0 10 if defined $init{'_portsordered'} and ref $init{'_portsordered'} ne 'ARRAY'
0 10 defined $init{'_portsordered'} ? :
0 10 if defined $init{'_nets'} and ref $init{'_nets'} ne 'HASH'
0 10 defined $init{'_nets'} ? :
0 10 defined $init{'_level'} ? :
0 82 unless @_
75 7 defined $init{'name'} ? :
74 8 defined $init{'keyword'} ? :
75 7 defined $init{'filename'} ? :
4 78 defined $init{'lineno'} ? :
3 79 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 82 defined $init{'userdata'} ? :
0 82 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
63 19 defined $init{'attributes'} ? :
79 3 defined $init{'lhs'} ? :
14 68 defined $init{'rhs'} ? :
69 13 defined $init{'module'} ? :
70 859 unless @_
855 74 defined $init{'name'} ? :
838 91 defined $init{'basename'} ? :
848 17 defined $init{'netlist'} ? :
1 864 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
1 857 defined $init{'userdata'} ? :
0 858 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
0 858 defined $init{'attributes'} ? :
8 850 defined $init{'comment'} ? :
847 11 defined $init{'is_libcell'} ? :
829 29 defined $init{'preproc'} ? :
837 21 if defined $init{'_interfaces'} and ref $init{'_interfaces'} ne 'HASH'
837 21 defined $init{'_interfaces'} ? :
829 22 if defined $init{'_modules'} and ref $init{'_modules'} ne 'HASH'
0 851 defined $init{'_modules'} ? :
0 2292 unless @_
1459 833 defined $init{'name'} ? :
1459 4 defined $init{'filename'} ? :
1462 1 defined $init{'lineno'} ? :
32 1431 defined $init{'module'} ? :
28 1435 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 1463 defined $init{'userdata'} ? :
0 1463 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
1427 36 defined $init{'attributes'} ? :
1430 33 defined $init{'comment'} ? :
1430 33 if defined $init{'_ports'} and ref $init{'_ports'} ne 'HASH'
0 1463 defined $init{'_ports'} ? :
1429 34 if defined $init{'_portsordered'} and ref $init{'_portsordered'} ne 'ARRAY'
1427 36 defined $init{'_portsordered'} ? :
1427 36 if defined $init{'_nets'} and ref $init{'_nets'} ne 'HASH'
1428 35 defined $init{'_nets'} ? :
0 1786 unless @_
733 1053 defined $init{'name'} ? :
533 1253 defined $init{'filename'} ? :
324 1456 defined $init{'lineno'} ? :
0 1780 if defined $init{'userdata'} and ref $init{'userdata'} ne 'HASH'
0 1780 defined $init{'userdata'} ? :
0 1780 if defined $init{'attributes'} and ref $init{'attributes'} ne 'HASH'
1427 353 defined $init{'attributes'} ? :
111 1669 defined $init{'comment'} ? :
324 1456 defined $init{'submodname'} ? :
124 229 defined $init{'module'} ? :
8 345 defined $init{'params'} ? :
122 231 defined $init{'range'} ? :
111 242 if defined $init{'_pins'} and ref $init{'_pins'} ne 'HASH'
137 216 defined $init{'_pins'} ? :
134 18 defined $init{'byorder'} ? :
0 152 defined $init{'submod'} ? :
43 109 defined $init{'gateprim'} ? :
43 109 defined $init{'_autoinst'} ? :
0 670 if @_ > 1
220 450 @_ ? :
0 142 if @_ > 1
0 142 @_ ? :
109 1322 if @_ > 1
53 1378 @_ ? :
0 706 if @_ > 1
86 509 @_ ? :
0 79 if @_ > 1
0 79 @_ ? :
0 45 if @_ > 1
0 17 @_ ? :
0 442 if @_ > 1
442 0 @_ ? :
0 31 if @_ > 1
0 31 @_ ? :
0 5 if @_ > 1
0 5 @_ ? :
0 11 if @_ > 1
0 11 @_ ? :
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 if @_ > 1
0 0 @_ ? :
0 0 if @_ > 1
0 0 @_ ? :
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 $@