| line |
true |
false |
branch |
|
335
|
1 |
0 |
if (eval "require Hash::Util; 1;") |
|
364
|
1 |
0 |
if (@_ % 2) { } |
|
366
|
1 |
0 |
ref $invocant ? : |
|
403
|
0 |
1 |
if ($^O eq "VMS") |
|
440
|
0 |
1 |
unless $Options{'filename'} |
|
444
|
0 |
1 |
if (ref $Options{'filename'}) { } |
|
450
|
0 |
0 |
unless $Options{'outfile'} |
|
462
|
0 |
1 |
unless (ref $Options{'output'}) |
|
463
|
0 |
0 |
unless open my $fh, "> $Options{'output'}" |
|
476
|
1 |
0 |
if ($self->{'config_WantLineNumbers'}) { } |
|
479
|
0 |
1 |
if ($Options{'outfile'}) { } |
|
484
|
1 |
0 |
unless $cfile =~ s/\.xs$/$csuffix/i |
|
515
|
1 |
0 |
if $self->{'config_WantLineNumbers'} |
|
522
|
0 |
1 |
if ref $opfn |
|
523
|
0 |
1 |
unless open $self->{'in_fh'}, "<", $fn |
|
534
|
0 |
223 |
if (/^=/) |
|
537
|
0 |
0 |
if (/^=cut\s*$/) |
|
553
|
0 |
0 |
if $self->{'config_WantLineNumbers'} |
|
563
|
0 |
0 |
unless $self->{'lastline'} |
|
566
|
1 |
222 |
if ($self->{'PACKAGE_name'}, $self->{'PREFIX_pattern'}) = /^MODULE\s*=\s*[\w:]+(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/ |
|
572
|
0 |
1 |
unless (defined $_) |
|
578
|
1 |
0 |
if $self->{'config_WantLineNumbers'} |
|
583
|
1 |
0 |
if $self->{'config_WantLineNumbers'} |
|
611
|
0 |
0 |
unless $ln =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/ |
|
617
|
2 |
7 |
unless @{$self->{'line'};} |
|
619
|
0 |
7 |
if ($self->{'XS_parse_stack_top_if_idx'} and not $self->{'XS_parse_stack'}[$self->{'XS_parse_stack_top_if_idx'}]{'varname'}) |
|
655
|
0 |
7 |
if $self->{'line'}[0] =~ /^\s/ |
|
703
|
2 |
0 |
unless @{$self->{'line'};} |
|
707
|
1 |
4 |
if ($self->check_keyword("BOOT")) |
|
726
|
0 |
4 |
if $self->{'xsub_return_type'} =~ s/^NO_OUTPUT\s+// |
|
743
|
0 |
4 |
if $self->{'config_allow_argtypes'} and $self->{'xsub_return_type'} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s |
|
747
|
0 |
4 |
unless @{$self->{'line'};} |
|
750
|
0 |
4 |
if $self->{'xsub_return_type'} =~ s/^extern "C"\s+// |
|
752
|
0 |
4 |
if $self->{'xsub_return_type'} =~ s/^static\s+// |
|
769
|
0 |
4 |
unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s |
|
775
|
0 |
4 |
if $4 |
|
777
|
0 |
4 |
if ($self->{'xsub_seen_static'} and not defined $self->{'xsub_class'}) |
|
791
|
0 |
4 |
if ($Is_VMS) |
|
814
|
4 |
0 |
unless defined $tmp->{'functions'}{$self->{'xsub_func_full_C_name'}} |
|
877
|
0 |
4 |
if $EXPLICIT_RETURN |
|
886
|
0 |
4 |
$self->{'xsub_seen_extern_C'} ? : |
|
898
|
0 |
4 |
if $self->{'xsub_seen_ALIAS'} |
|
902
|
0 |
4 |
if $self->{'xsub_seen_INTERFACE'} |
|
914
|
0 |
4 |
if $self->{'config_allow_exceptions'} |
|
919
|
4 |
0 |
if ($condition_code) { } |
|
941
|
2 |
2 |
if $self->{'xsub_seen_PPCODE'} |
|
945
|
2 |
2 |
if $self->{'xsub_seen_PPCODE'} |
|
987
|
0 |
4 |
if $self->check_keyword("CASE") |
|
1017
|
0 |
4 |
$self->{'config_allow_exceptions'} ? : |
|
1044
|
0 |
4 |
if $self->{'xsub_SCOPE_enabled'} |
|
1064
|
0 |
4 |
if (/^\s*NOT_IMPLEMENTED_YET/) { } |
|
1071
|
2 |
2 |
if ($self->{'xsub_return_type'} ne "void") |
|
1080
|
0 |
2 |
if ($self->{'config_optimize'} and $outputmap and $outputmap->targetable_legacy) |
|
1103
|
0 |
6 |
unless $param->check($self) |
|
1132
|
2 |
2 |
if ($self->check_keyword('PPCODE')) { } |
|
|
2 |
0 |
elsif ($self->check_keyword('CODE')) { } |
|
|
0 |
0 |
elsif (defined $self->{'xsub_class'} and $self->{'xsub_func_name'} eq 'DESTROY') { } |
|
1141
|
0 |
2 |
if @{$self->{'line'};} |
|
1143
|
0 |
2 |
if $self->{'xsub_SCOPE_enabled'} |
|
1146
|
0 |
2 |
if $^O eq "hpux" |
|
1154
|
0 |
2 |
if $^O eq "hpux" |
|
1167
|
2 |
0 |
if ($consumed_code =~ /\bRETVAL\b/ and not $consumed_code =~ /\bPERL_UNUSED_VAR\(RETVAL\)/) |
|
1191
|
0 |
0 |
if ($self->{'xsub_return_type'} ne "void") |
|
1194
|
0 |
0 |
unless $self->{'xsub_seen_NO_OUTPUT'} |
|
1197
|
0 |
0 |
if (defined $self->{'xsub_class'}) |
|
1198
|
0 |
0 |
if ($self->{'xsub_seen_static'}) { } |
|
1200
|
0 |
0 |
if ($self->{'xsub_func_name'} eq 'new') { } |
|
1208
|
0 |
0 |
if ($self->{'xsub_func_name'} eq 'new') { } |
|
1219
|
0 |
0 |
if defined $strip |
|
1223
|
0 |
0 |
if $self->{'xsub_seen_INTERFACE_or_MACRO'} |
|
1227
|
0 |
0 |
unless defined $args |
|
1251
|
0 |
2 |
if ($self->{'xsub_seen_RETVAL_in_CODE'} and not $retval && $retval->{'in_output'} and $self->{'xsub_return_type'} ne "void") |
|
1266
|
0 |
8 |
if defined $_->{'in_out'} and $_->{'in_out'} =~ /OUT$/ |
|
1275
|
0 |
8 |
if defined $_->{'in_out'} |
|
1278
|
0 |
4 |
if ($outlist_count) |
|
1280
|
0 |
0 |
if $retval and $retval->{'in_output'} or $implicit_OUTPUT_RETVAL |
|
1290
|
0 |
0 |
if $ext > $self->{'xsub_sig'}{'min_args'} + 1 |
|
1300
|
2 |
2 |
if ($retval and $retval->{'in_output'} or $implicit_OUTPUT_RETVAL) |
|
1306
|
2 |
2 |
if $self->{'xsub_return_type'} ne "void" and not $self->{'xsub_seen_NO_OUTPUT'} |
|
1312
|
0 |
8 |
if defined $_->{'in_out'} |
|
1334
|
0 |
4 |
if $self->{'xsub_SCOPE_enabled'} |
|
1338
|
0 |
4 |
if $self->{'xsub_SCOPE_enabled'} and not $self->{'xsub_seen_PPCODE'} |
|
1346
|
0 |
4 |
if $self->{'config_allow_exceptions'} |
|
1353
|
0 |
4 |
if ($self->check_keyword("CASE")) |
|
1355
|
0 |
0 |
unless $self->{'xsub_CASE_condition_count'} |
|
1360
|
4 |
0 |
if $_ eq "${END}:" |
|
1362
|
0 |
0 |
/^$BLOCK_regexp/o ? : |
|
1373
|
0 |
4 |
if $self->{'config_allow_exceptions'} |
|
1384
|
0 |
4 |
if $^O eq "hpux" |
|
1389
|
2 |
2 |
if ($XSRETURN_count) { } |
|
1390
|
2 |
0 |
unless $self->{'xsub_seen_PPCODE'} |
|
1395
|
0 |
2 |
unless $self->{'xsub_seen_PPCODE'} |
|
1401
|
0 |
4 |
if $^O eq "hpux" |
|
1429
|
0 |
4 |
if ($self->{'xsub_prototype'}) { } |
|
1439
|
0 |
0 |
if ($self->{'xsub_prototype'} eq 2) { } |
|
|
0 |
0 |
elsif ($self->{'xsub_prototype'} eq 1) { } |
|
1459
|
0 |
4 |
if ($self->{'xsub_map_alias_name_to_value'} and keys %{$$self{'xsub_map_alias_name_to_value'};}) { } |
|
|
0 |
4 |
elsif (@{$self->{'xsub_attributes'};}) { } |
|
|
0 |
4 |
elsif ($self->{'xsub_seen_INTERFACE_or_MACRO'}) { } |
|
|
4 |
0 |
elsif ($newXS eq 'newXS_deffile') { } |
|
1467
|
0 |
0 |
unless defined $self->{'xsub_map_alias_name_to_value'}{$self->{'xsub_func_full_perl_name'}} |
|
1492
|
0 |
0 |
unless $yname =~ /::/ |
|
1613
|
1 |
0 |
$self->{'VERSIONCHECK_value'} ? : |
|
1631
|
1 |
0 |
if $self->{'xsub_func_full_C_name'} |
|
1649
|
1 |
0 |
if ($self->{'VERSIONCHECK_value'}) { } |
|
1676
|
0 |
1 |
if (defined $self->{'xsub_map_alias_name_to_value'} or defined $self->{'seen_INTERFACE_or_MACRO'}) |
|
1688
|
0 |
1 |
if (keys %{$$self{"map_overloaded_package_to_C_package"};}) |
|
1725
|
0 |
1 |
if (defined $self->{'xsub_map_alias_name_to_value'} or defined $self->{'seen_INTERFACE_or_MACRO'}) |
|
1738
|
1 |
0 |
if (@{$self->{'bootcode_later'};}) |
|
1742
|
1 |
0 |
if $self->{'config_WantLineNumbers'} |
|
1766
|
0 |
1 |
unless $self->{'proto_behaviour_specified'} |
|
1770
|
1 |
0 |
if tied *PSEUDO_STDOUT |
|
1778
|
1 |
0 |
if (@_) { } |
|
1805
|
9 |
35 |
if s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s |
|
1828
|
4 |
0 |
if $self->{'config_WantLineNumbers'} and not /^\s*#\s*line\b/ and not /^#if XSubPPtmp/ |
|
1838
|
4 |
0 |
if $self->{'config_WantLineNumbers'} |
|
1890
|
1 |
0 |
if ($self->{'config_WantLineNumbers'} and not $self->{'line'}[0] =~ /^\s*#\s*line\b/) |
|
1913
|
0 |
0 |
if $self->{'xsub_CASE_condition_count'} and $self->{'xsub_CASE_condition'} eq "" |
|
1920
|
0 |
0 |
$self->{'xsub_CASE_condition_count'}++ ? : |
|
|
0 |
0 |
$self->{'xsub_CASE_condition'} ? : |
|
1948
|
6 |
2 |
if defined $num |
|
2154
|
2 |
2 |
unless /\S/ |
|
2156
|
0 |
2 |
if (/^\s*SETMAGIC\s*:\s*(ENABLE|DISABLE)\s*/) |
|
2157
|
0 |
0 |
$1 eq 'ENABLE' ? : |
|
2170
|
0 |
2 |
if ($param and $param->{'in_output'}) |
|
2175
|
0 |
2 |
if ($outarg eq "RETVAL" and $self->{'xsub_seen_NO_OUTPUT'}) |
|
2180
|
0 |
2 |
if (not $param or $outarg ne "RETVAL" and not $param->{'arg_num'}) |
|
2192
|
2 |
0 |
$outarg eq 'RETVAL' ? : |
|
2193
|
0 |
2 |
if length $outcode |
|
2195
|
2 |
0 |
if ($outarg eq "RETVAL") |
|
2228
|
0 |
0 |
if ($in =~ /\s/) { } |
|
2314
|
0 |
0 |
if not $is_symbolic and $value =~ /:/ |
|
2319
|
0 |
0 |
unless $alias =~ /::/ |
|
2321
|
0 |
0 |
if ($is_symbolic) |
|
2323
|
0 |
0 |
unless $value =~ /::/ |
|
2324
|
0 |
0 |
if (defined $self->{'xsub_map_alias_name_to_value'}{$value}) { } |
|
|
0 |
0 |
elsif ($value eq $fname) { } |
|
2335
|
0 |
0 |
if (defined $prev_value) |
|
2336
|
0 |
0 |
if ($prev_value eq $value) { } |
|
2349
|
0 |
0 |
unless ($is_symbolic) |
|
2350
|
0 |
0 |
unless $self->{'xsub_map_alias_value_to_name_seen_hash'}{$value} |
|
2354
|
0 |
0 |
if $value eq 0 and not defined $self->{'xsub_map_alias_name_to_value'}{$fname} |
|
2355
|
0 |
0 |
if (@keys and $self->{'config_author_warnings'}) |
|
2371
|
0 |
0 |
$value eq '0' ? : |
|
|
0 |
0 |
!$self->{'xsub_alias_clash_hinted'}++ ? : |
|
2382
|
0 |
0 |
if $line |
|
2398
|
0 |
0 |
unless /\S/ |
|
2413
|
0 |
0 |
unless /\S/ |
|
2415
|
0 |
0 |
if $_ |
|
2429
|
0 |
0 |
unless /\S/ |
|
2455
|
0 |
0 |
unless exists $map{$setting} |
|
2469
|
0 |
0 |
unless $ver |
|
2473
|
0 |
0 |
unless $ver =~ /^\d+(\.\d*)?/ |
|
2476
|
0 |
0 |
unless $VERSION >= $ver |
|
2490
|
0 |
0 |
unless $setting =~ /^(ENABLE|DISABLE)/i |
|
2493
|
0 |
0 |
if $1 eq "ENABLE" |
|
2494
|
0 |
0 |
if $1 eq "DISABLE" |
|
2514
|
0 |
0 |
if $self->{'xsub_seen_PROTOTYPE'}++ |
|
2517
|
0 |
0 |
unless /\S/ |
|
2520
|
0 |
0 |
if ($_ eq 'DISABLE') { } |
|
|
0 |
0 |
elsif ($_ eq 'ENABLE') { } |
|
2529
|
0 |
0 |
unless valid_proto_string($_) |
|
2536
|
0 |
0 |
unless $specified |
|
2550
|
0 |
0 |
if $self->{'xsub_seen_SCOPE'}++ |
|
2553
|
0 |
0 |
unless $setting =~ /^(ENABLE|DISABLE)\b/i |
|
2568
|
0 |
2 |
unless $setting =~ /^(ENABLE|DISABLE)/i |
|
2571
|
0 |
2 |
if $1 eq "ENABLE" |
|
2572
|
2 |
0 |
if $1 eq "DISABLE" |
|
2586
|
0 |
0 |
unless $setting =~ /^(ENABLE|DISABLE)/i |
|
2589
|
0 |
0 |
$1 eq 'ENABLE' ? : |
|
2635
|
0 |
0 |
unless $_ |
|
2638
|
0 |
0 |
if /^\s*\|/ |
|
2643
|
0 |
0 |
if $self->{'IncludedFiles'}{$_} |
|
2645
|
0 |
0 |
unless /\|\s*$/ |
|
2647
|
0 |
0 |
if (/\|\s*$/ and /^\s*perl\s/) |
|
2661
|
0 |
0 |
unless open $self->{'in_fh'}, $_ |
|
2674
|
0 |
0 |
$^O =~ /^mswin/i ? : |
|
2681
|
0 |
0 |
unless /^\s*$/ |
|
2696
|
0 |
0 |
if not /^\"/ and length $_ > 0 |
|
2715
|
0 |
0 |
if (defined $command and $command =~ /\s/ and not $command =~ /[$quote]/) |
|
2732
|
0 |
0 |
if $^O eq "VMS" |
|
2734
|
0 |
0 |
unless $_ |
|
2737
|
0 |
0 |
if /^\s*\|/ or /\|\s*$/ |
|
2750
|
0 |
0 |
unless open $self->{'in_fh'}, "-|", $_ |
|
2769
|
0 |
0 |
unless /^\s*$/ |
|
2784
|
1 |
0 |
unless $self->{'XS_parse_stack'}[-1]{'type'} eq "file" |
|
2791
|
0 |
0 |
unless $isPipe |
|
2806
|
0 |
0 |
if ($isPipe and $?) |
|
2834
|
0 |
92 |
unless (s/^(\s*)\|//) |
|
2838
|
0 |
92 |
if $pre =~ /\t/ |
|
2841
|
60 |
32 |
if (defined $first) { } |
|
2842
|
0 |
60 |
if $pre ne $first |
|
2884
|
0 |
0 |
if $self->{'lastline'} =~ /^=cut\s*$/ |
|
2886
|
0 |
0 |
unless defined $self->{'lastline'} |
|
2902
|
0 |
60 |
if ($self->{'lastline'} =~ /^TYPEMAP\s*:\s*<<\s*(?:(["'])(.+?)\1|([^\s'"]+?))\s*;?\s*$/) |
|
2904
|
0 |
0 |
defined $1 ? : |
|
2910
|
0 |
0 |
unless defined $self->{'lastline'} |
|
2911
|
0 |
0 |
if $self->{'lastline'} =~ /^$end_marker\s*$/ |