Branch Coverage

blib/lib/ExtUtils/Typemaps.pm
Criterion Covered Total %
branch 128 174 73.5


line true false branch
77 0 1516 if (defined $args{'file'} and defined $args{'string'})
99 170 1346 if (defined $self->{'string'}) { }
891 910 elsif (defined $self->{'file'} and -e $self->{'file'}) { }
106 0 891 unless open my $fh, "<", $self->{'file'}
122 0 0 if @_ > 1
152 90005 17 if (@_ % 2 == 1) { }
160 0 17 unless defined $ctype
162 0 17 unless defined $xstype
171 0 1 if ($args{'skip'} and $args{'replace'})
175 89436 586 if ($args{'replace'}) { }
1 585 elsif ($args{'skip'}) { }
179 1 0 if exists $self->{'typemap_lookup'}{$type->ctype}
220 75042 10 if (@_ % 2 == 1) { }
228 0 10 unless defined $xstype
230 0 10 unless defined $code
238 0 1 if ($args{'skip'} and $args{'replace'})
242 74891 161 if ($args{'replace'}) { }
1 160 elsif ($args{'skip'}) { }
246 0 1 if exists $self->{'input_lookup'}{$input->xstype}
272 75137 8 if (@_ % 2 == 1) { }
280 0 8 unless defined $xstype
282 0 8 unless defined $code
290 0 0 if ($args{'skip'} and $args{'replace'})
294 74932 213 if ($args{'replace'}) { }
0 213 elsif ($args{'skip'}) { }
298 0 0 if exists $self->{'output_lookup'}{$output->xstype}
323 0 2 unless defined $args{'string'}
343 89436 0 if (@_ > 1) { }
346 0 89436 unless defined $ctype
369 74891 0 if (@_ > 1) { }
372 0 74891 unless defined $xstype
394 74932 0 if (@_ > 1) { }
397 0 74932 unless defined $xstype
414 179882 59377 unless defined $index
421 2669691 61449 if ($lookup->{$key} > $index)
441 1 1397 if @_ % 2
445 0 1397 unless defined $ctype
449 24 1373 unless defined $index
475 1 406 if @_ % 2
480 0 2 unless defined $xstype or defined $ctype
483 0 406 if defined $xstype and defined $ctype
486 2 404 if (defined $ctype)
489 1 1 unless defined $xstype
493 5 400 unless defined $index
513 1 559 if @_ % 2
518 0 253 unless defined $xstype or defined $ctype
521 0 559 if defined $xstype and defined $ctype
524 253 306 if (defined $ctype)
527 6 247 unless defined $xstype
531 8 545 unless defined $index
547 1 0 defined $args{'file'} ? :
548 0 1 unless defined $file
551 0 1 unless open my $fh, ">", $file
571 0 38 $entry->proto ne '' ? :
576 17 7 if (@$input)
584 15 9 if (@$output)
617 0 0 if ($icand == @ident_cand)
645 0 1052 if (exists $args{'typemap'} and exists $args{'file'}) { }
0 1052 elsif (not exists $args{'typemap'} || exists $args{'file'}) { }
653 1044 8 if exists $args{'replace'}
654 1 1051 if exists $args{'skip'}
657 877 175 unless (defined $typemap)
864 1 957 if (exists $args{'ctype'} and exists $self->{'typemap_lookup'}{tidy_type($args{'ctype'})})
870 0 957 if (exists $args{'inputmap_xstype'} and exists $self->{'input_lookup'}{$args{'inputmap_xstype'}})
876 0 957 if (exists $args{'outputmap_xstype'} and exists $self->{'output_lookup'}{$args{'outputmap_xstype'}})
901 1 1 if ($args{'shallow'}) { }
945 4 229218 if (/[<>]/)
969 894 167 unless defined $lineno_offset
971 3 1058 unless defined $filename
975 0 1061 if $replace and $skip
977 876 185 if $replace
978 0 1061 if $skip
993 12146 404474 if /^\s*#/
994 1000 403474 if (/^INPUT\s*$/) { }
1002 402472 elsif (/^OUTPUT\s*$/) { }
24 402448 elsif (/^TYPEMAP\s*$/) { }
1010 48766 353682 if ($section eq 'typemap') { }
278365 75317 elsif (/^\s/) { }
208 75109 elsif ($_ eq '') { }
37531 37578 elsif ($section eq 'input') { }
1013 3755 45011 if $_ eq "" or /^#/
1014 0 45011 unless my($type, $kind, $proto) = /^(.*?\S)\s+(\S+)\s*($ExtUtils::ParseXS::Constants::PrototypeRegexp*)$/o
1018 110 44901 if (length $proto)
1019 0 110 unless _valid_proto_string($proto)
1023 110 44901 length $proto ? :
1032 75109 203256 $$current eq '' ? :
1060 110 0 if ($string =~ /^$ExtUtils::ParseXS::Constants::PrototypeRegexp+$/o)