line | % | coverage | branch |
19 | 100 | T | F | unless $$args{'filename'} |
40 | 100 | T | F | $args{'except'} ? : |
42 | 100 | T | F | defined $args{'typemap'} ? : |
| 100 | T | F | ref $args{'typemap'} ? : |
49 | 50 | T | F | if ($^O eq 'VMS') |
79 | 100 | T | F | if ($data{'linenumbers'}) |
80 | 100 | T | F | if (not ref $data{'output'}) { } |
85 | 100 | T | F | unless $data{'cfile'} =~ s/\.xs$/$data{'csuffix'}/i |
107 | 100 | T | F | unless -r $typemap |
118 | 100 | T | F | unless -f $typemap |
120 | 100 | T | F | unless (-T $typemap) |
124 | 50 | T | F | unless open my $TYPEMAP, '<', $typemap |
132 | 100 | T | F | if /^\s*#/ |
133 | 100 | T | F | if (/^INPUT\s*$/) |
136 | 100 | T | F | if (/^OUTPUT\s*$/) |
139 | 100 | T | F | if (/^TYPEMAP\s*$/) |
142 | 100 | T | F | if ($mode eq 'Typemap') { } |
| 100 | T | F | elsif (/^\s/) { } |
| 100 | T | F | elsif ($mode eq 'Input') { } |
150 | 100 | T | F | if /^\s*$/ |
151 | 100 | T | F | unless my($type, $kind, $proto) = /^\s*(.*?\S)\s+(\S+)\s*($$self{'proto_re'}*)\s*$/ |
158 | 50 | T | F | unless $proto |
160 | 50 | T | F | unless $self->ValidProtoString($proto) |
178 | 50 | T | F | unless close $TYPEMAP |
223 | 100 | T | F | if $t |
269 | 100 | T | F | if $$self{'linenumbers'} |
280 | 50 | T | F | unless open $IN, '<', $$self{'base'} |
284 | 100 | T | F | if (/^=/) |
287 | 100 | T | F | if (/^=cut\s*$/) |
303 | 100 | T | F | if $$self{'linenumbers'} |
312 | 0 | T | F | unless $$self{'lastline'} |
315 | 100 | T | F | if ($$self{'Package'}, $$self{'Prefix'}) = /^MODULE\s*=\s*[\w:]+(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/ |
320 | 100 | T | F | unless (defined $_) |
330 | 100 | T | F | if $$self{'linenumbers'} |
386 | 100 | T | F | if $$self{'linenumbers'} |
400 | 100 | T | F | if (not ref $$self{'output'}) |
402 | 50 | T | F | unless open my $fh_out, '>', $$self{'output'} |
408 | 100 | T | F | if ($$self{'linenumbers'}) { } |
409 | 100 | T | F | if ($$self{'outfile'}) { } |
414 | 100 | T | F | unless $$self{'cfile'} =~ s/\.xs$/$$self{'csuffix'}/i |
450 | 100 | T | F | unless $l =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/ |
452 | 50 | T | F | if ($statement eq 'if') { } |
461 | 0 | T | F | if $$self{'XSStack'}[-1]{'type'} ne 'if' |
463 | 0 | T | F | if ($$self{'XSStack'}[-1]{'varname'}) |
469 | 0 | T | F | if ($statement ne 'endif') { } |
488 | 100 | T | F | unless @{$$self{'line'};} |
489 | 100 | T | F | if ($$self{'XSS_work_idx'} and not $$self{'XSStack'}[$$self{'XSS_work_idx'}]{'varname'}) |
499 | 50 | T | F | if $$self{'line'}[0] =~ /^\s/ |
543 | 50 | T | F | unless @{$$self{'line'};} |
547 | 100 | T | F | if (($kwd, $thisline) = $self->check_keyword($thisline, 'BOOT') and $kwd) |
551 | 50 | T | F | if $$self{'linenumbers'} and not $$self{'line'}[0] =~ /^\s*#\s*line\b/ |
559 | 50 | T | F | if $$self{'ret_type'} =~ s/^NO_OUTPUT\s+// |
566 | 50 | T | F | if ($$self{'argtypes'} and $$self{'ret_type'} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s) |
573 | 100 | T | F | unless (@{$$self{'line'};}) |
578 | 50 | T | F | if $$self{'ret_type'} =~ s/^extern "C"\s+// |
579 | 50 | T | F | if $$self{'ret_type'} =~ s/^static\s+// |
582 | 50 | T | F | unless ($func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s) |
590 | 50 | T | F | if $4 |
596 | 50 | T | F | if ($$self{'Is_VMS'}) |
603 | 50 | T | F | unless defined $$tmp{'functions'}{$$self{'Full_func_name'}} |
619 | 100 | T | F | if ($$self{'argtypes'} and $orig_args =~ /\S/) { } |
621 | 50 | T | F | if ($args =~ /^( (??{ $C_arg }) , )* $ /x) { } |
631 | 100 | T | F | unless defined $pre and length $pre |
635 | 50 | T | F | if ($$self{'inout'} and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\s+//) |
637 | 0 | T | F | if $type ne 'IN' |
642 | 100 | T | F | if ($name =~ /^length\( \s* (\w+) \s* \)\z/x) |
645 | 50 | T | F | if length $default |
648 | 50 | T | F | if (length $pre or $islength) |
649 | 100 | T | F | if ($islength) { } |
659 | 100 | T | F | if $out_type eq 'OUTLIST' or $islength |
661 | 50 | T | F | if $out_type =~ /OUTLIST$/ |
662 | 50 | T | F | if $out_type |
674 | 0 | T | F | if ($$self{'inout'} and $thisarg =~ s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\s+//) |
676 | 0 | T | F | if $out_type eq 'IN' |
677 | 0 | T | F | if $out_type eq 'OUTLIST' |
681 | 0 | T | F | if $out_type =~ /OUTLIST$/ |
687 | 50 | T | F | if (defined $class) |
688 | 0 | T | F | defined $static || $$self{'func_name'} eq 'new' ? : |
697 | 100 | T | F | if ($args[$i] =~ s/\.\.\.//) |
699 | 50 | T | F | if ($args[$i] eq '' and $i == $#args) |
705 | 100 | T | F | if ($only_C_inlist{$args[$i]}) { } |
712 | 50 | T | F | if ($args[$i] =~ /^([^=]*[^\s=])\s*=\s*(.*)/s) |
724 | 50 | T | F | if defined $class |
727 | 50 | T | F | if $$self{'in_out'}{$fa} |
741 | 50 | T | F | if $EXPLICIT_RETURN |
743 | 50 | T | F | $externC ? : |
757 | 100 | T | F | if $ALIAS |
760 | 50 | T | F | if $INTERFACE |
763 | 100 | T | F | if ($ellipsis) { } |
| 50 | T | F | elsif ($min_args == $num_args) { } |
764 | 100 | T | F | $min_args ? : |
773 | 50 | T | F | if $$self{'except'} |
778 | 100 | T | F | if ($$self{'cond'}) { } |
796 | 100 | T | F | if $PPCODE |
800 | 100 | T | F | if $PPCODE |
817 | 100 | T | F | if (($kwd, $thisline) = $self->check_keyword($thisline, 'CASE') and $kwd) |
1028 | 50 | T | F | if ($thisline =~ /^(ENABLE|DISABLE)/) { } |
1030 | 100 | T | F | $status eq 'ENABLE' ? : |
1047 | 50 | T | F | if ($thisline =~ /^(ENABLE|DISABLE)/) { } |
1049 | 50 | T | F | $status eq 'ENABLE' ? : |
1063 | 50 | T | F | unless $Ver |
1067 | 50 | T | F | unless $Ver =~ /^\d+(\.\d*(_\d*)?)?/ |
1074 | 50 | T | F | unless $version >= $Ver |
1091 | 50 | T | F | unless exists $map{uc $thisline} |
1103 | 50 | T | F | unless $thisline |
1105 | 50 | T | F | if $thisline =~ /^\s*\|/ |
1108 | 50 | T | F | if $$self{'IncludedFiles'}{$thisline} |
1110 | 50 | T | F | unless $thisline =~ /\|\s*$/ |
1127 | 50 | T | F | unless open $IN, "$thisline" |
1142 | 100 | T | F | unless $thisline =~ /^\s*$/ |
1152 | 50 | T | F | if ($$self{'condnum'} and $$self{'cond'} eq '') |
1158 | 50 | T | F | $$self{'condnum'}++ ? : |
| 50 | T | F | $$self{'cond'} ? : |
1168 | 0 | T | F | if $thisline =~ /^\s*NOT_IMPLEMENTED_YET/ |
1169 | 0 | T | F | unless $thisline =~ /\S/ |
1175 | 0 | T | F | unless $thisline =~ /[=;+].*\S/ |
1178 | 0 | T | F | if ($thisline =~ s/^([^=]*)\blength\(\s*(\w+)\s*\)\s*$/$1 XSauto_length_of_$2=NO_INIT/x) |
1188 | 0 | T | F | if $thisline =~ s/\s*([=;+].*)$//s |
1192 | 0 | T | F | unless ($thisline =~ /^(.*?[^&\s])\s*(\&?)\s*\b(\w+)$/s) |
1205 | 0 | T | F | if ($$self{'arg_list'}{$var_name}++ or defined $$self{'argtype_seen'}{$var_name} and not $$self{'processing_arg_with_types'}) |
1220 | 0 | T | F | if ($var_type =~ / \( \s* \* \s* \) /x) { } |
1231 | 0 | T | F | if $$self{'var_num'} |
1233 | 0 | T | F | if $var_addr |
1234 | 0 | T | F | if ($var_init =~ /^[=;]\s*NO_INIT\s*;?\s*$/ or $$self{'in_out'}{$var_name} and $$self{'in_out'}{$var_name} =~ /^OUT/ and not $var_init =~ /\S/) { } |
| 0 | T | F | elsif ($var_init =~ /\S/) { } |
| 0 | T | F | elsif ($$self{'var_num'}) { } |
1239 | 0 | T | F | if ($$self{'name_printed'}) { } |
1265 | 0 | T | F | unless $$self{'hiertype'} |
1267 | 0 | T | F | if ($varname) |
1268 | 0 | T | F | if ($varname and $type =~ / \( \s* \* (?= \s* \) ) /gx) { } |
1280 | 0 | T | F | unless return $$self{'proto_letter'}{$type} |
1286 | 50 | T | F | if (@cpp) |
1289 | 0 | T | F | if ($cpp =~ /^\#\s*if/) { } |
| 0 | T | F | elsif (not $cpplevel) { } |
| 0 | T | F | elsif ($cpp =~ /^\#\s*endif/) { } |
1294 | 0 | T | F | if $$self{'XSStack'}[-1]{'type'} eq 'if' |
1302 | 0 | T | F | if $cpplevel |
1312 | 100 | T | F | unless @_ == 2 |
1315 | 100 | T | F | unless exists $$self{$arg} |
1320 | 100 | T | F | unless @_ == 3 |
1332 | 50 | T | F | if $string =~ /^$$self{'proto_re'}+$/o |
1381 | 50 | T | F | if (not defined $$self{'lastline'} and $$self{'XSStack'}[-1]{'type'} eq 'if') |
1398 | 100 | T | F | if (not defined $$self{'lastline'}) { } |
1399 | 100 | T | F | if ($$self{'XSStack'}[-1]{'type'} eq 'file') |
1404 | 50 | T | F | unless $isPipe |
1422 | 50 | T | F | if ($isPipe and $?) |
1440 | 100 | T | F | if ($$self{'lastline'} =~ /^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/) |
1443 | 100 | T | F | defined $2 ? : |
1444 | 100 | T | F | defined $3 ? : |
1449 | 100 | T | F | if $$self{'Packprefix'} ne '' |
1457 | 100 | T | F | if $$self{'lastline'} =~ /^=cut\s*$/ |
1460 | 50 | T | F | unless $$self{'lastline'} |
1472 | 100 | T | F | if (not $$self{'lastline'} =~ /^\s*#/ or $$self{'lastline'} =~ /^#[ \t]*(?:(?:if|ifn?def|elif|else|endif|define|undef|pragma|error|warning|line\s+\d+|ident)\b|(?:include(?:_next)?|import)\s*["<].*[>"])/) |
1474 | 100 | T | F | if $$self{'lastline'} =~ /^\S/ and @line and $line[-1] eq '' |
1480 | 100 | T | F | unless defined($$self{'lastline'} = <$IN>) |
1530 | 50 | T | F | if defined $_[0] |
1540 | 100 | T | F | if -e $file |
1633 | 0 | T | F | unless (defined $$self{'type_kind'}{$type}) |
1642 | 0 | T | F | if $$self{'func_name'} =~ /DESTROY$/ |
1643 | 0 | T | F | if ($tk eq 'T_PV' and exists $$self{'lengthof'}{$$self{'var'}}) |
1644 | 0 | T | F | unless $$self{'name_printed'} |
1646 | 0 | T | F | if defined $$self{'defaults'}{$$self{'var'}} |
1650 | 0 | T | F | unless $$self{'hiertype'} |
1653 | 0 | T | F | unless (defined $$self{'input_expr'}{$tk}) |
1659 | 0 | T | F | if ($$self{'expr'} =~ /DO_ARRAY_ELEM/) |
1662 | 0 | T | F | unless (defined $$self{'type_kind'}{$$self{'subtype'}}) |
1669 | 0 | T | F | unless (defined $$self{'input_expr'}{$$self{'type_kind'}}{$$self{'subtype'}}) |
1683 | 0 | T | F | if ($$self{'expr'} =~ m[/\*.*scope.*\*/]i) |
1686 | 0 | T | F | if (defined $$self{'defaults'}{$$self{'var'}}) { } |
| 0 | T | F | elsif ($$self{'ScopeThisXSUB'} or not $$self{'expr'} =~ /^\s*\$self->{var} =/) { } |
1689 | 0 | T | F | if ($$self{'name_printed'}) { } |
1694 | 0 | T | F | if $@ |
1696 | 0 | T | F | if ($$self{'defaults'}{$$self{'var'}} eq 'NO_INIT') { } |
1702 | 0 | T | F | if $@ |
1705 | 0 | T | F | if ($$self{'name_printed'}) { } |
1710 | 0 | T | F | if $@ |
1713 | 0 | T | F | if $@ |
1716 | 0 | T | F | if ($$self{'name_printed'}) |
1720 | 0 | T | F | if $@ |
1731 | 0 | T | F | if ($init =~ /^=/) { } |
1732 | 0 | T | F | if ($$self{'name_printed'}) { } |
1738 | 0 | T | F | if $@ |
1741 | 0 | T | F | if ($init =~ s/^\+// and $$self{'var_num'}) { } |
| 0 | T | F | elsif ($$self{'name_printed'}) { } |
1751 | 0 | T | F | if $@ |
1755 | 0 | T | F | if $@ |