Branch Coverage

blib/lib/Parse/H.pm
Criterion Covered Total %
branch 442 442 100.0


line true false branch
111 319 2291 if $a > $b
126 12349 2787 defined $hash->{$name} ? :
138 1247 1073 $v =~ /^((0?x[0-9a-f]+)|(0?b[01]+)|(0?o[0-7]+)|([0-9]+))$/io ? :
158 58 2204 if ($count =~ /^(0?[xbo])[0-9a-f_]+$/io) { }
1160 1044 elsif ($count =~ /^[0-9_]+$/io) { }
162 56 2 if $entry_sub
168 1120 40 if $entry_sub
173 1008 36 if $entry_sub
175 2028 234 if $output_sub and $line
192 290 11484 if (m[/\*]o) { }
201 29 116 if (m(\[.*/\*)o) { }
220 29 1102 if (/\[/o) { }
289 1 638 unless defined $_
299 1 638 unless defined $pointer_size
301 1 638 unless $infile
324 29 609 if (/^\s*struct\s+[\w\s\$\*]+(\[[^\]]*\])?;/o)
336 29 580 if (/^\s*struct\s*\{\s*\}\s*;/o)
349 435 145 if (/^\s*struct\s+(\w+)/o) { }
363 392 188 if $struct_start_sub
364 286 294 if $output_sub and $line
371 56 504 if ($comment_sub and m[//] || m[/\*])
374 54 2 if $line
391 280 5824 if ($comment_sub and m[//] || m[/\*])
394 270 10 if $line
400 56 2 if $struct_entry_sub
401 54 4 if $output_sub and $line
407 28 1 if $struct_entry_sub
408 27 2 if $output_sub and $line
425 87 58 unless (/^\s*union\s+(\w+)/o)
434 58 29 unless (/^\s*union\s+(\w+)/o)
443 140 5 if $struct_entry_sub
444 57 88 if $output_sub and $line
459 420 15 if $struct_entry_sub
460 405 30 if $output_sub and $line
468 1484 53 if $struct_entry_sub
469 1431 106 if $output_sub and $line
478 56 2 if $struct_entry_sub
479 54 4 if $output_sub and $line
487 87 87 if _is_a_number($count)
493 29 29 if _is_a_number($count)
499 116 87 if _is_a_number($count)
505 29 29 if _is_a_number($count)
511 29 29 if _is_a_number($count)
517 87 87 if _is_a_number($count)
524 203 87 if _is_a_number($count)
530 87 87 if _is_a_number($count)
536 28 1 if $struct_entry_sub
537 27 2 if $output_sub and $line
543 58 29 unless (/^\s*struct\s+(\w+)/o)
552 29 29 unless (/^\s*struct\s+(\w+)/o)
561 84 3 if $struct_entry_sub
562 29 58 if $output_sub and $line
571 84 3 if $struct_entry_sub
572 81 6 if $output_sub and $line
579 56 2 if $struct_entry_sub
580 54 4 if $output_sub and $line
587 280 184 if $struct_entry_sub
588 268 196 if $output_sub and $line
595 56 2 if $struct_entry_sub
596 54 4 if $output_sub and $line
603 28 1 if $struct_entry_sub
604 27 2 if $output_sub and $line
611 168 6 if $struct_entry_sub
612 162 12 if $output_sub and $line
620 84 3 if $struct_entry_sub
621 81 6 if $output_sub and $line
628 168 6 if $struct_entry_sub
629 162 12 if $output_sub and $line
636 580 5510 if (/}/o)
640 145 435 if (/\}\s*(\*?)\s*(\w+)[^;]*;/o)
644 29 551 if (/\}\s*\*/o)
648 392 188 if $struct_end_sub
649 89 491 if $output_sub and $line
655 56 5454 if ($preproc_sub and /^\s*#/o)
659 4870 450 if $output_sub and $_
707 1 580 unless defined $_
717 1 580 unless defined $pointer_size
719 1 580 unless $infile
742 29 551 if (/^\s*union\s+[^;{}]*;/o)
754 29 522 if (/^\s*union\s*\{\s*\}\s*;/o)
768 348 174 if (/^\s*union\s+(\w+)/o) { }
782 280 242 if $union_start_sub
783 182 340 if $output_sub and $line
786 203 319 if (/{/o)
803 84 4872 if ($comment_sub and m[//] || m[/\*])
806 81 3 if $line
812 140 5 if $union_entry_sub
813 135 10 if $output_sub and $line
821 504 18 if $union_entry_sub
822 486 36 if $output_sub and $line
831 56 2 if $union_entry_sub
832 54 4 if $output_sub and $line
839 28 1 if $union_entry_sub
840 27 2 if $output_sub and $line
847 56 2 if $union_entry_sub
848 54 4 if $output_sub and $line
855 28 1 if $union_entry_sub
856 27 2 if $output_sub and $line
863 58 29 unless (/^\s*struct\s+(\w+)/o)
872 29 29 unless (/^\s*struct\s+(\w+)/o)
881 84 3 if $union_entry_sub
882 29 58 if $output_sub and $line
892 84 3 if $union_entry_sub
893 81 6 if $output_sub and $line
901 28 1 if $union_entry_sub
902 27 2 if $output_sub and $line
910 252 357 if $union_entry_sub
911 241 368 if $output_sub and $line
919 28 1 if $union_entry_sub
920 27 2 if $output_sub and $line
928 28 1 if $union_entry_sub
929 27 2 if $output_sub and $line
937 168 6 if $union_entry_sub
938 162 12 if $output_sub and $line
947 84 3 if $union_entry_sub
948 81 6 if $output_sub and $line
956 168 6 if $union_entry_sub
957 162 12 if $output_sub and $line
969 87 87 if _is_a_number($count)
976 29 29 if _is_a_number($count)
983 116 87 if _is_a_number($count)
990 29 29 if _is_a_number($count)
997 29 29 if _is_a_number($count)
1004 87 87 if _is_a_number($count)
1012 87 87 if _is_a_number($count)
1019 87 87 if _is_a_number($count)
1024 58 29 unless (/^\s*union\s+(\w+)/o)
1033 29 29 unless (/^\s*union\s+(\w+)/o)
1042 84 3 if $union_entry_sub
1043 29 58 if $output_sub and $line
1049 522 4524 if (/\s*\}.*/o)
1052 174 348 if (/\}\s*(\*?)\s*(\w+)[^;]*;/o)
1056 29 493 if (/\}\s*\*/o)
1060 280 242 if $union_end_sub
1061 86 436 if $output_sub and $line
1067 28 4496 if ($preproc_sub and /^\s*#/o)
1071 3891 477 if $output_sub and $_
1131 3 28 unless defined $pointer_size
1142 2 29 unless $infile
1167 1508 2552 if (/^\s*$/o)
1169 1456 52 if $output_sub
1183 203 2349 if (m[^\s*/\*.*\*/\s*$]o or m[^\s*//]o)
1185 196 7 if ($comment_sub) { }
1188 189 7 if $line
1194 196 7 if $output_sub
1200 87 2262 if (/^\s*#/o)
1202 84 3 if ($comment_sub)
1205 81 3 if $line
1207 84 3 if ($preproc_sub) { }
1215 78 6 if $output_sub and $_
1221 696 1566 if (/^\s*extern/o)
1223 672 24 if ($comment_sub)
1226 648 24 if $line
1229 667 29 unless (/^\s*extern\s+"C/o)
1253 29 667 if (/^\s*\w*\s*extern\s+[\w\*\s]+\(\s*\*\s*(\w+)[()\*\s\w]*\)\s*\(.*/o)
1255 28 1 if ($extern_sub) { }
1258 27 1 if $line
1264 28 1 if $output_sub
1267 175 521 if (/^\s*\w*\s*extern\s+[\w\*\s]+?(\w+)\s*\(.*/o)
1269 169 6 if ($extern_sub) { }
1272 162 7 if $line
1278 169 6 if $output_sub
1282 464 232 if (/^\s*extern[\w\*\s]+\s+\**(\w+)\s*;/o)
1284 448 16 if ($extern_sub) { }
1287 432 16 if $line
1293 448 16 if $output_sub
1300 435 1131 if (/^\s*typedef/o)
1302 290 145 unless (/\b(struct|union|enum)\b/o)
1314 319 116 unless /\([^)]*,/o or /enum/o
1316 145 290 if (/\(/o) { }
145 145 elsif (/(struct|union|enum)/o) { }
116 29 elsif (not /{/o) { }
1331 116 29 if (/\btypedef([\w*\s]+)\b(\w+)\s*;/o)
1333 112 4 if ($typedef_sub) { }
1347 104 12 if $output_sub and $line
1359 493 957 if (/^\s*struct/o)
1363 29 464 if (/\(/o) { }
1376 290 667 if (/^\s*enum/o)
1379 261 29 if (/^.*enum\s+(\w+)\s*\{?/o) { }
1381 252 9 if $enum_start_sub
1382 236 25 if $output_sub and $line
1393 116 174 if (/}/o) { }
1407 29 87 if (/([\w\s]*)\s+(\w+)\s*=\s*(\w+)\s*,/o)
1409 28 1 if $enum_entry_sub
1410 27 2 if $output_sub and $line
1414 87 29 if (/([\w\s]*)\s+(\w+)\s*,/o)
1416 84 3 if $enum_entry_sub
1417 81 6 if $output_sub and $line
1424 29 87 if (/^\s*(\w+)\s*=\s*(\w+)\s*\}\s*;/o)
1426 28 1 if $enum_entry_sub
1427 27 2 if $output_sub and $line
1430 87 29 if (/^\s*(\w+)\s*\}\s*;/o)
1432 84 3 if $enum_entry_sub
1433 81 6 if $output_sub and $line
1437 112 4 if $enum_end_sub
1438 4 112 if $output_sub and $line
1440 56 56 if ($comment_sub and m[//] || m[/\*])
1443 52 2 if $output_sub and $_
1452 29 725 if (/^\s*#/o)
1454 28 1 if ($preproc_sub) { }
1462 26 2 if $output_sub and $_
1472 174 551 if /^\s*$/o
1475 87 464 if (/=/o) { }
1477 58 29 if (m[^\s*(\w+)\s*=\s*([-*/+\w]+)\s*,?]o)
1479 56 2 if $enum_entry_sub
1480 54 4 if $output_sub and $line
1481 29 29 if _is_a_number($2)
1488 232 232 if (/^\s*(\w+)\s*,?/o)
1490 224 8 if $enum_entry_sub
1491 213 19 if $output_sub and $line
1498 56 476 if ($comment_sub and m[//] || m[/\*])
1501 54 2 if $line
1505 174 377 if (/\s*\}.*/o)
1507 168 6 if $enum_end_sub
1508 6 168 if $output_sub and $line
1512 224 140 if $output_sub and $_
1517 377 290 if (/^\s*union/o)
1521 29 348 if (/\(/o) { }
1536 28 262 if ($comment_sub and m[/\*])
1539 27 1 if $line
1541 280 10 if $output_sub