Branch Coverage

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


line true false branch
111 435 2407 if $a > $b
125 15061 2859 defined $hash->{$name} ? :
137 1305 1131 $v =~ /^((0?x[0-9a-f]+)|(0?b[01]+)|(0?o[0-7]+)|([0-9]+))$/io ? :
153 58 2320 if ($count =~ /^(0?[xbo])[0-9a-f_]+$/io) { }
1218 1102 elsif ($count =~ /^[0-9_]+$/o) { }
157 56 2 if $entry_sub
163 1176 42 if $entry_sub
168 1064 38 if $entry_sub
170 2132 246 if $output_sub and $line
199 58 1450 if (/\[.*/o) { }
267 1 754 unless defined $_
277 1 754 unless defined $pointer_size
279 1 754 unless $infile
302 87 667 if (/^\s*struct\s+[\w\s\$\*]+(\[[^\]]*\])?;/o)
306 56 28 if ($comment_sub and m[/\*]o || m[//]o)
309 52 2 if $output_sub and $_
315 87 580 if (/^\s*struct\s*\{\s*\}\s*;/o)
319 56 28 if ($comment_sub and m[//]o || m[/\*]o)
322 52 2 if $output_sub and $_
329 435 145 if (/^\s*struct\s+(\w+)/o) { }
343 392 188 if $struct_start_sub
344 286 294 if $output_sub and $line
351 84 476 if ($comment_sub and m[//]o || m[/\*]o)
354 81 3 if $line
367 56 2 if $struct_entry_sub
368 54 4 if $output_sub and $line
374 28 1 if $struct_entry_sub
375 27 2 if $output_sub and $line
392 87 58 unless (/^\s*union\s+(\w+)/o)
401 58 29 unless (/^\s*union\s+(\w+)/o)
410 140 5 if $struct_entry_sub
411 57 88 if $output_sub and $line
426 420 15 if $struct_entry_sub
427 405 30 if $output_sub and $line
435 1596 57 if $struct_entry_sub
436 1539 114 if $output_sub and $line
445 56 2 if $struct_entry_sub
446 54 4 if $output_sub and $line
454 87 87 if _is_a_number($count)
460 29 29 if _is_a_number($count)
466 116 87 if _is_a_number($count)
472 29 29 if _is_a_number($count)
478 29 29 if _is_a_number($count)
484 87 87 if _is_a_number($count)
491 203 87 if _is_a_number($count)
497 87 87 if _is_a_number($count)
503 29 29 if _is_a_number($count)
509 28 1 if $struct_entry_sub
510 27 2 if $output_sub and $line
516 58 29 unless (/^\s*struct\s+(\w+)/o)
525 29 29 unless (/^\s*struct\s+(\w+)/o)
534 84 3 if $struct_entry_sub
535 29 58 if $output_sub and $line
544 84 3 if $struct_entry_sub
545 81 6 if $output_sub and $line
552 56 2 if $struct_entry_sub
553 54 4 if $output_sub and $line
560 280 184 if $struct_entry_sub
561 268 196 if $output_sub and $line
568 112 4 if $struct_entry_sub
569 108 8 if $output_sub and $line
576 28 1 if $struct_entry_sub
577 27 2 if $output_sub and $line
584 168 6 if $struct_entry_sub
585 162 12 if $output_sub and $line
593 84 3 if $struct_entry_sub
594 81 6 if $output_sub and $line
601 252 9 if $struct_entry_sub
602 243 18 if $output_sub and $line
609 28 1 if $struct_entry_sub
611 27 2 if $output_sub and $line
617 580 5916 if (/}/o)
621 145 435 if (/\}\s*(\*?)\s*(\w+)[^;]*;/o)
625 29 551 if (/\}\s*\*/o)
629 392 188 if $struct_end_sub
630 89 491 if $output_sub and $line
632 560 20 if $output_sub
638 56 5860 if ($preproc_sub and /^\s*#/o)
642 5392 524 if ($_)
644 29 5363 unless /[\r\n]$/o
646 5206 506 if $output_sub and $_
694 1 696 unless defined $_
704 1 696 unless defined $pointer_size
706 1 696 unless $infile
729 87 609 if (/^\s*union\s+[^;{}]*;/o)
733 56 28 if ($comment_sub and m[/\*]o || m[//]o)
736 52 2 if $output_sub and $_
742 87 522 if (/^\s*union\s*\{\s*\}\s*;/o)
746 56 28 if ($comment_sub and m[/\*]o || m[//]o)
749 52 2 if $output_sub and $_
757 348 174 if (/^\s*union\s+(\w+)/o) { }
771 280 242 if $union_start_sub
772 182 340 if $output_sub and $line
795 140 5 if $union_entry_sub
796 135 10 if $output_sub and $line
804 560 20 if $union_entry_sub
805 540 40 if $output_sub and $line
814 56 2 if $union_entry_sub
815 54 4 if $output_sub and $line
822 28 1 if $union_entry_sub
823 27 2 if $output_sub and $line
830 56 2 if $union_entry_sub
831 54 4 if $output_sub and $line
838 28 1 if $union_entry_sub
839 27 2 if $output_sub and $line
846 58 29 unless (/^\s*struct\s+(\w+)/o)
855 29 29 unless (/^\s*struct\s+(\w+)/o)
864 84 3 if $union_entry_sub
865 29 58 if $output_sub and $line
875 84 3 if $union_entry_sub
876 81 6 if $output_sub and $line
884 28 1 if $union_entry_sub
885 27 2 if $output_sub and $line
893 252 357 if $union_entry_sub
894 241 368 if $output_sub and $line
902 112 4 if $union_entry_sub
903 108 8 if $output_sub and $line
911 28 1 if $union_entry_sub
912 27 2 if $output_sub and $line
920 168 6 if $union_entry_sub
921 162 12 if $output_sub and $line
930 84 3 if $union_entry_sub
931 81 6 if $output_sub and $line
939 252 9 if $union_entry_sub
940 243 18 if $output_sub and $line
948 84 3 if $union_entry_sub
950 81 6 if $output_sub and $line
961 87 87 if _is_a_number($count)
968 29 29 if _is_a_number($count)
975 116 87 if _is_a_number($count)
982 29 29 if _is_a_number($count)
989 29 29 if _is_a_number($count)
996 87 87 if _is_a_number($count)
1004 87 87 if _is_a_number($count)
1011 87 87 if _is_a_number($count)
1018 29 29 if _is_a_number($count)
1023 58 29 unless (/^\s*union\s+(\w+)/o)
1032 29 29 unless (/^\s*union\s+(\w+)/o)
1041 84 3 if $union_entry_sub
1042 29 58 if $output_sub and $line
1048 522 4959 if (/\s*\}.*/o)
1051 174 348 if (/\}\s*(\*?)\s*(\w+)[^;]*;/o)
1055 29 493 if (/\}\s*\*/o)
1059 280 242 if $union_end_sub
1060 86 436 if $output_sub and $line
1062 504 18 if $output_sub
1068 28 4931 if ($preproc_sub and /^\s*#/o)
1072 4407 552 if ($_)
1074 29 4378 unless /[\r\n]$/o
1076 4255 533 if $output_sub and $_
1136 3 28 unless defined $pointer_size
1147 2 29 unless $infile
1172 1595 3045 if (/^\s*$/o)
1174 1540 55 if $output_sub
1188 232 2813 if (m[^\s*/\*.*\*/\s*$]o or m[^\s*//]o)
1190 224 8 if ($comment_sub) { }
1193 216 8 if $line
1199 224 8 if $output_sub
1205 87 2726 if (/^\s*#/o)
1207 84 3 if ($comment_sub)
1210 81 3 if $line
1212 84 3 if ($preproc_sub) { }
1220 78 6 if $output_sub and $_
1226 899 1827 if (/^\s*extern/o)
1228 868 31 if ($comment_sub)
1231 837 31 if $line
1234 870 29 unless (/^\s*extern\s+"C/o)
1258 29 870 if (/^\s*\w*\s*extern\s+[\w\*\s]+\(\s*\*\s*(\w+)[()\*\s\w]*\)\s*\(.*/o)
1260 28 1 if ($extern_sub) { }
1263 27 1 if $line
1269 28 1 if $output_sub
1272 262 637 if (/^\s*\w*\s*extern\s+[\w\*\s]+?(\w+)\s*\(.*/o)
1274 253 9 if ($extern_sub) { }
1277 243 10 if $line
1283 253 9 if $output_sub
1287 580 319 if (/^\s*extern[\w\*\s]+\s+\**(\w+)\s*;/o)
1289 560 20 if ($extern_sub) { }
1292 540 20 if $line
1298 560 20 if $output_sub
1305 435 1392 if (/^\s*typedef/o)
1307 290 145 unless (/\b(struct|union|enum)\b/o)
1319 319 116 unless /\([^)]*,/o or /enum/o
1321 145 290 if (/\(/o) { }
145 145 elsif (/(struct|union|enum)/o) { }
116 29 elsif (not /{/o) { }
1336 116 29 if (/\btypedef([\w*\s]+)\b(\w+)\s*;/o)
1338 112 4 if ($typedef_sub) { }
1352 104 12 if $output_sub and $line
1364 609 1102 if (/^\s*struct/o)
1368 29 580 if (/\(/o) { }
1381 319 783 if (/^\s*enum/o)
1385 29 290 if (/\(/o)
1391 261 29 if (/^.*enum\s+(\w+)\s*\{?/o) { }
1393 252 9 if $enum_start_sub
1394 236 25 if $output_sub and $line
1405 116 174 if (/}/o) { }
1419 29 87 if (/([\w\s]*)\s+(\w+)\s*=\s*(\w+)\s*,/o)
1421 28 1 if $enum_entry_sub
1422 27 2 if $output_sub and $line
1426 87 29 if (/([\w\s]*)\s+(\w+)\s*,/o)
1428 84 3 if $enum_entry_sub
1429 81 6 if $output_sub and $line
1436 29 87 if (/^\s*(\w+)\s*=\s*(\w+)\s*\}\s*;/o)
1438 28 1 if $enum_entry_sub
1439 27 2 if $output_sub and $line
1442 87 29 if (/^\s*(\w+)\s*\}\s*;/o)
1444 84 3 if $enum_entry_sub
1445 81 6 if $output_sub and $line
1449 112 4 if $enum_end_sub
1450 4 112 if $output_sub and $line
1452 56 56 if ($comment_sub and m[//] || m[/\*])
1455 52 2 if $output_sub and $_
1464 29 725 if (/^\s*#/o)
1466 28 1 if ($preproc_sub) { }
1474 26 2 if $output_sub and $_
1484 174 551 if /^\s*$/o
1487 87 464 if (/=/o) { }
1489 58 29 if (m[^\s*(\w+)\s*=\s*([-*/+\w]+)\s*,?]o)
1491 56 2 if $enum_entry_sub
1492 54 4 if $output_sub and $line
1493 29 29 if _is_a_number($2)
1500 232 232 if (/^\s*(\w+)\s*,?/o)
1502 224 8 if $enum_entry_sub
1503 213 19 if $output_sub and $line
1510 56 476 if ($comment_sub and m[//] || m[/\*])
1513 54 2 if $line
1517 174 377 if (/\s*\}.*/o)
1519 168 6 if $enum_end_sub
1520 6 168 if $output_sub and $line
1524 224 140 if $output_sub and $_
1529 493 290 if (/^\s*union/o)
1533 29 464 if (/\(/o) { }
1548 28 262 if ($comment_sub and m[/\*])
1551 27 1 if $line
1553 280 10 if $output_sub