line |
true |
false |
branch |
81
|
7 |
1 |
if (@_ % 2) { } |
83
|
5 |
2 |
ref $invocant ? : |
108
|
0 |
8 |
$args{'except'} ? : |
113
|
0 |
8 |
if ($^O eq "VMS") |
136
|
0 |
8 |
unless $args{'filename'} |
145
|
4 |
4 |
unless (ref $args{'output'}) |
146
|
0 |
4 |
unless open my $fh, "> $args{'output'}" |
160
|
6 |
2 |
if ($self->{'WantLineNumbers'}) { } |
162
|
3 |
3 |
if ($args{'outfile'}) { } |
167
|
0 |
3 |
unless $cfile =~ s/\.xs$/$csuffix/i |
198
|
6 |
2 |
if $self->{'WantLineNumbers'} |
202
|
0 |
8 |
unless open $self->{'FH'}, "<", $self->{'filename'} |
206
|
1 |
182 |
if (/^=/) |
209
|
1 |
4 |
if (/^=cut\s*$/) |
225
|
1 |
0 |
if $self->{'WantLineNumbers'} |
234
|
0 |
0 |
unless $self->{'lastline'} |
236
|
8 |
174 |
if ($self->{'Package'}, $self->{'Prefix'}) = /^MODULE\s*=\s*[\w:]+(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/ |
241
|
0 |
8 |
unless (defined $_) |
246
|
6 |
2 |
if $self->{'WantLineNumbers'} |
250
|
6 |
2 |
if $self->{'WantLineNumbers'} |
265
|
2 |
3 |
unless $ln =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/ |
273
|
15 |
71 |
unless @{$self->{'line'};} |
275
|
1 |
70 |
if ($XSS_work_idx and not $self->{'XSStack'}[$XSS_work_idx]{'varname'}) |
287
|
0 |
71 |
if $self->{'line'}[0] =~ /^\s/ |
311
|
14 |
0 |
unless @{$self->{'line'};} |
315
|
1 |
56 |
if ($self->check_keyword("BOOT")) |
319
|
1 |
0 |
if $self->{'WantLineNumbers'} and not $self->{'line'}[0] =~ /^\s*#\s*line\b/ |
326
|
0 |
56 |
if $self->{'ret_type'} =~ s/^NO_OUTPUT\s+// |
331
|
0 |
56 |
if $self->{'argtypes'} and $self->{'ret_type'} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s |
335
|
0 |
56 |
unless @{$self->{'line'};} |
337
|
0 |
56 |
if $self->{'ret_type'} =~ s/^extern "C"\s+// |
338
|
0 |
56 |
if $self->{'ret_type'} =~ s/^static\s+// |
341
|
0 |
56 |
unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s |
346
|
0 |
56 |
if $4 |
351
|
0 |
56 |
if ($Is_VMS) |
357
|
59 |
0 |
unless defined $tmp->{'functions'}{$self->{'Full_func_name'}} |
374
|
47 |
9 |
if ($self->{'argtypes'} and $orig_args =~ /\S/) { } |
377
|
47 |
0 |
if ($args =~ /^( (??{ $C_arg; }) , )* $ /x) { } |
387
|
57 |
13 |
unless defined $pre and length $pre |
390
|
5 |
8 |
if ($self->{'inout'} and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//) |
392
|
4 |
1 |
if $type ne "IN" |
397
|
1 |
12 |
if ($len_name =~ /^length\( \s* (\w+) \s* \)\z/x) |
400
|
0 |
1 |
if length $default |
403
|
13 |
0 |
if (length $pre or $islength) |
404
|
1 |
12 |
if ($islength) { } |
414
|
5 |
8 |
if $out_type eq "OUTLIST" or $islength |
415
|
4 |
9 |
if $out_type =~ /OUTLIST$/ |
416
|
4 |
9 |
if $out_type |
428
|
0 |
0 |
if ($self->{'inout'} and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//) |
430
|
0 |
0 |
if $out_type eq "IN" |
431
|
0 |
0 |
if $out_type eq "OUTLIST" |
432
|
0 |
0 |
if ($out_type =~ /OUTLIST$/) |
439
|
0 |
56 |
if (defined $class) |
440
|
0 |
0 |
defined $static || $self->{'func_name'} eq 'new' ? : |
450
|
4 |
66 |
if ($args[$i] =~ s/\.\.\.//) |
452
|
4 |
0 |
if ($args[$i] eq "" and $i == $#args) |
458
|
5 |
61 |
if ($$only_C_inlist_ref{$args[$i]}) { } |
465
|
1 |
65 |
if ($args[$i] =~ /^([^=]*[^\s=])\s*=\s*(.*)/s) |
471
|
61 |
5 |
unless $$only_C_inlist_ref{$args[$i]} |
490
|
0 |
56 |
if $EXPLICIT_RETURN |
492
|
0 |
56 |
$externC ? : |
502
|
6 |
50 |
if $self->{'ALIAS'} |
505
|
1 |
55 |
if $INTERFACE |
511
|
0 |
56 |
if $self->{'except'} |
516
|
54 |
2 |
if ($self->{'cond'}) { } |
535
|
4 |
52 |
if $PPCODE |
539
|
4 |
52 |
if $PPCODE |
553
|
2 |
55 |
if $self->check_keyword("CASE") |
567
|
0 |
57 |
if $self->{'ScopeThisXSUB'} |
572
|
0 |
57 |
if (not $self->{'thisdone'} and defined $class) |
573
|
0 |
0 |
if (defined $static or $self->{'func_name'} eq 'new') { } |
600
|
0 |
57 |
if (/^\s*NOT_IMPLEMENTED_YET/) { } |
605
|
36 |
21 |
if ($self->{'ret_type'} ne "void") |
607
|
36 |
0 |
unless $self->{'retvaldone'} |
612
|
27 |
9 |
if $self->{'optimize'} and $outputmap and $outputmap->targetable |
615
|
7 |
50 |
if (@fake_INPUT or @fake_INPUT_pre) |
625
|
4 |
53 |
if ($self->check_keyword('PPCODE')) { } |
|
35 |
18 |
elsif ($self->check_keyword('CODE')) { } |
|
0 |
18 |
elsif (defined $class and $self->{'func_name'} eq 'DESTROY') { } |
627
|
0 |
4 |
if @{$self->{'line'};} |
628
|
0 |
4 |
if $self->{'ScopeThisXSUB'} |
633
|
27 |
8 |
if ($consumed_code =~ /\bRETVAL\b/) |
643
|
9 |
9 |
if ($self->{'ret_type'} ne "void") |
647
|
0 |
18 |
if (defined $static) { } |
|
0 |
18 |
elsif (defined $class) { } |
648
|
0 |
0 |
if ($self->{'func_name'} eq 'new') { } |
656
|
0 |
0 |
if ($self->{'func_name'} eq 'new') { } |
664
|
0 |
18 |
if defined $strip |
666
|
1 |
17 |
if $self->{'interface'} |
675
|
0 |
57 |
if $RETVAL_no_return |
681
|
0 |
27 |
if ($self->{'have_CODE_with_RETVAL'} and not $self->{'have_OUTPUT'} and $self->{'ret_type'} ne "void") |
694
|
3 |
54 |
if ($outlist_count) |
696
|
2 |
1 |
if $self->{'gotRETVAL'} or $wantRETVAL |
701
|
0 |
57 |
if ($self->{'gotRETVAL'} and $self->{'RETVAL_code'}) { } |
|
32 |
25 |
elsif ($self->{'gotRETVAL'} or $wantRETVAL) { } |
703
|
0 |
0 |
if $outlist_count |
711
|
27 |
5 |
if ($trgt) { } |
716
|
0 |
27 |
if (not $trgt->{'with_size'} and $trgt->{'type'} eq 'p') { } |
719
|
0 |
0 |
unless $outlist_count |
724
|
27 |
0 |
unless defined $tsize |
729
|
26 |
1 |
unless $outlist_count |
742
|
1 |
4 |
if $outlist_count |
746
|
36 |
21 |
if $self->{'ret_type'} ne "void" |
760
|
0 |
57 |
if $self->{'ScopeThisXSUB'} |
763
|
0 |
57 |
if $self->{'ScopeThisXSUB'} and not $PPCODE |
771
|
0 |
57 |
if $self->{'except'} |
777
|
1 |
56 |
if ($self->check_keyword("CASE")) |
779
|
0 |
1 |
unless $self->{'condnum'} |
783
|
56 |
0 |
if $_ eq "${END}:" |
784
|
0 |
0 |
/^$BLOCK_regexp/o ? : |
787
|
0 |
56 |
if $self->{'except'} |
792
|
36 |
20 |
if ($xsreturn) { } |
793
|
36 |
0 |
unless $PPCODE |
798
|
16 |
4 |
unless $PPCODE |
809
|
17 |
39 |
if ($self->{'ProtoThisXSUB'}) { } |
818
|
0 |
17 |
if ($self->{'ProtoThisXSUB'} eq 2) { } |
|
16 |
1 |
elsif ($self->{'ProtoThisXSUB'} eq 1) { } |
823
|
0 |
16 |
if ($min_args < $num_args) |
827
|
2 |
14 |
if $ellipsis |
839
|
6 |
50 |
if ($self->{'XsubAliases'} and keys %{$$self{'XsubAliases'};}) { } |
|
1 |
49 |
elsif (@{$self->{'Attributes'};}) { } |
|
1 |
48 |
elsif ($self->{'interface'}) { } |
|
33 |
15 |
elsif ($self->{'newXS'} eq 'newXS_deffile') { } |
841
|
5 |
1 |
unless defined $self->{'XsubAliases'}{$self->{'pname'}} |
859
|
1 |
0 |
unless $yname =~ /::/ |
876
|
1 |
7 |
if ($self->{'Overload'}) |
911
|
7 |
1 |
$self->{'WantVersionChk'} ? : |
920
|
8 |
0 |
if $self->{'Full_func_name'} |
937
|
7 |
1 |
if ($self->{'WantVersionChk'}) { } |
956
|
1 |
7 |
if defined $self->{'XsubAliases'} or defined $self->{'interfaces'} |
962
|
1 |
7 |
if $self->{'Overload'} |
978
|
1 |
7 |
if defined $self->{'XsubAliases'} or defined $self->{'interfaces'} |
982
|
1 |
7 |
if (@{$BootCode_ref;}) |
1004
|
0 |
8 |
unless $self->{'ProtoUsed'} |
1008
|
6 |
2 |
if tied *PSEUDO_STDOUT |
1015
|
1 |
1 |
if (@_) { } |
1030
|
110 |
523 |
if s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s |
1043
|
33 |
1 |
if $self->{'WantLineNumbers'} and not /^\s*#\s*line\b/ and not /^#if XSubPPtmp/ |
1048
|
34 |
14 |
if $self->{'WantLineNumbers'} |
1081
|
0 |
2 |
if $self->{'condnum'} and $self->{'cond'} eq "" |
1084
|
1 |
1 |
$self->{'condnum'}++ ? : |
|
2 |
0 |
$self->{'cond'} ? : |
1092
|
0 |
71 |
if /^\s*NOT_IMPLEMENTED_YET/ |
1093
|
9 |
62 |
unless /\S/ |
1099
|
60 |
2 |
unless /[=;+].*\S/ |
1102
|
1 |
61 |
if (s/^([^=]*)\blength\(\s*(\w+)\s*\)\s*$/$1 XSauto_length_of_$2=NO_INIT/x) |
1110
|
3 |
59 |
if s/\s*([=;+].*)$//s |
1116
|
0 |
62 |
unless my($var_type, $var_addr, $var_name) = /^(.*?[^&\s])\s*(\&?)\s*\b(\w+)$/s |
1122
|
0 |
62 |
if $self->{'arg_list'}{$var_name}++ or defined $self->{'argtype_seen'}{$var_name} and not $self->{'processing_arg_with_types'} |
1131
|
0 |
62 |
if ($var_type =~ / \( \s* \* \s* \) /x) { } |
1142
|
56 |
6 |
if ($self->{'var_num'}) |
1144
|
0 |
0 |
unless $typemap or $is_overridden_typemap |
1148
|
0 |
62 |
if $var_addr |
1149
|
5 |
57 |
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/) { } |
|
2 |
55 |
elsif ($var_init =~ /\S/) { } |
|
55 |
0 |
elsif ($self->{'var_num'}) { } |
1152
|
0 |
5 |
if ($printed_name) { } |
1188
|
19 |
31 |
unless /\S/ |
1189
|
0 |
31 |
if (/^\s*SETMAGIC\s*:\s*(ENABLE|DISABLE)\s*/) |
1190
|
0 |
0 |
$1 eq 'ENABLE' ? : |
1195
|
0 |
31 |
if $self->{'outargs'}{$outarg}++ |
1196
|
23 |
8 |
if (not $self->{'gotRETVAL'} and $outarg eq "RETVAL") |
1203
|
0 |
8 |
unless defined $self->{'args_match'}{$outarg} |
1205
|
0 |
8 |
unless defined $self->{'var_types'}{$outarg} |
1207
|
0 |
8 |
if ($outcode) { } |
1209
|
0 |
0 |
if $self->{'DoSetMagic'} |
1221
|
0 |
8 |
if exists $self->{'in_out'}{$outarg} and $self->{'in_out'}{$outarg} =~ /OUT$/ |
1240
|
0 |
0 |
if ($in =~ /\s/) { } |
1304
|
15 |
1 |
unless $alias =~ /::/ |
1308
|
0 |
16 |
if defined $self->{'XsubAliases'}{$alias} |
1311
|
0 |
16 |
if $self->{'XsubAliasValues'}{$value} |
1317
|
0 |
16 |
if $line |
1326
|
0 |
1 |
unless /\S/ |
1337
|
6 |
16 |
unless /\S/ |
1339
|
16 |
0 |
if $_ |
1348
|
0 |
1 |
unless /\S/ |
1351
|
1 |
0 |
unless $self->{'Overload'} |
1375
|
0 |
1 |
unless exists $map{$setting} |
1387
|
0 |
1 |
unless $ver |
1391
|
0 |
1 |
unless $ver =~ /^\d+(\.\d*)?/ |
1394
|
0 |
1 |
unless $VERSION >= $ver |
1406
|
0 |
1 |
unless $setting =~ /^(ENABLE|DISABLE)/i |
1409
|
0 |
1 |
if $1 eq "ENABLE" |
1410
|
1 |
0 |
if $1 eq "DISABLE" |
1421
|
0 |
1 |
if $self->{'proto_in_this_xsub'}++ |
1424
|
0 |
1 |
unless /\S/ |
1427
|
0 |
1 |
if ($_ eq 'DISABLE') { } |
|
0 |
1 |
elsif ($_ eq 'ENABLE') { } |
1436
|
0 |
1 |
unless valid_proto_string($_) |
1443
|
0 |
1 |
unless $specified |
1453
|
0 |
1 |
if $self->{'scope_in_this_xsub'}++ |
1456
|
0 |
1 |
unless $setting =~ /^(ENABLE|DISABLE)\b/i |
1469
|
0 |
8 |
unless $setting =~ /^(ENABLE|DISABLE)/i |
1472
|
2 |
6 |
if $1 eq "ENABLE" |
1473
|
6 |
2 |
if $1 eq "DISABLE" |
1485
|
0 |
0 |
unless $setting =~ /^(ENABLE|DISABLE)/i |
1488
|
0 |
0 |
$1 eq 'ENABLE' ? : |
1529
|
0 |
1 |
unless $_ |
1532
|
0 |
1 |
if /^\s*\|/ |
1537
|
0 |
1 |
if $self->{'IncludedFiles'}{$_} |
1539
|
1 |
0 |
unless /\|\s*$/ |
1541
|
0 |
1 |
if (/\|\s*$/ and /^\s*perl\s/) |
1555
|
0 |
1 |
unless open $self->{'FH'}, $_ |
1566
|
0 |
1 |
$^O =~ /^mswin/i ? : |
1573
|
1 |
1 |
unless /^\s*$/ |
1585
|
0 |
0 |
if not /^\"/ and length $_ > 0 |
1600
|
0 |
1 |
if (defined $command and $command =~ /\s/ and not $command =~ /[$quote]/) |
1616
|
0 |
1 |
if $^O eq "VMS" |
1618
|
0 |
1 |
unless $_ |
1621
|
0 |
1 |
if /^\s*\|/ or /\|\s*$/ |
1634
|
0 |
1 |
unless open $self->{'FH'}, "-|", $_ |
1653
|
1 |
1 |
unless /^\s*$/ |
1663
|
8 |
2 |
unless $self->{'XSStack'}[-1]{'type'} eq "file" |
1670
|
1 |
1 |
unless $isPipe |
1685
|
0 |
1 |
if ($isPipe and $?) |
1714
|
8 |
0 |
defined $pkg ? : |
1715
|
6 |
2 |
defined $prefix ? : |
1720
|
8 |
0 |
if $self->{'Packprefix'} ne "" |
1731
|
1 |
3 |
if $self->{'lastline'} =~ /^=cut\s*$/ |
1733
|
0 |
1 |
unless defined $self->{'lastline'} |
1747
|
6 |
566 |
if ($self->{'lastline'} =~ /^TYPEMAP\s*:\s*<<\s*(?:(["'])(.+?)\1|([^\s'"]+?))\s*;?\s*$/) |
1749
|
3 |
3 |
defined $1 ? : |
1755
|
0 |
34 |
unless defined $self->{'lastline'} |
1756
|
6 |
28 |
if $self->{'lastline'} =~ /^$end_marker\s*$/ |
1777
|
0 |
94 |
if not defined $self->{'lastline'} and $self->{'XSStack'}[-1]{'type'} eq "if" |
1780
|
10 |
84 |
unless defined $self->{'lastline'} |
1782
|
8 |
76 |
if ($self->{'lastline'} =~ /^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/) |
1793
|
569 |
3 |
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* ["<] .* [>"]
)
/x) |
1812
|
74 |
149 |
if $self->{'lastline'} =~ /^\S/ and @{$self->{'line'};} and $self->{'line'}[-1] eq "" |
1818
|
10 |
488 |
unless defined($self->{'lastline'} = readline $self->{'FH'}) |
1843
|
1 |
1 |
$num ? : |
1847
|
2 |
0 |
if ($init =~ /^=/) { } |
1848
|
0 |
2 |
if ($printed_name) { } |
1856
|
0 |
0 |
if ($init =~ s/^\+// and $num) { } |
|
0 |
0 |
elsif ($printed_name) { } |
1890
|
0 |
55 |
unless ($typemaps->get_typemap("ctype", $type)) |
1903
|
0 |
55 |
if $self->{'func_name'} =~ /DESTROY$/ |
1904
|
1 |
16 |
if ($xstype eq "T_PV" and exists $self->{'lengthof'}{$var}) |
1905
|
1 |
0 |
unless $printed_name |
1908
|
0 |
1 |
if defined $self->{'defaults'}{$var} |
1911
|
54 |
0 |
unless $self->{'RetainCplusplusHierarchicalTypes'} |
1914
|
1 |
53 |
unless (defined $inputmap) |
1921
|
0 |
53 |
if ($expr =~ /DO_ARRAY_ELEM/) |
1923
|
0 |
0 |
unless ($subtypemap) |
1929
|
0 |
0 |
unless ($subinputmap) |
1943
|
0 |
53 |
if ($expr =~ m[/\*.*scope.*\*/]i) |
1958
|
1 |
52 |
if (defined $self->{'defaults'}{$var}) { } |
|
1 |
51 |
elsif ($self->{'ScopeThisXSUB'} or not $expr =~ /^\s*\$var =/) { } |
1961
|
0 |
1 |
if ($printed_name) { } |
1967
|
0 |
1 |
if ($self->{'defaults'}{$var} eq 'NO_INIT') { } |
1981
|
0 |
1 |
if ($printed_name) { } |
1991
|
0 |
51 |
if $printed_name |
2010
|
0 |
17 |
if ($type =~ /^array\(([^,]*),(.*)\)/) { } |
2013
|
0 |
0 |
if $do_setmagic |
2017
|
0 |
17 |
unless ($typemap) |
2023
|
0 |
17 |
unless ($outputmap) |
2034
|
0 |
17 |
if ($expr =~ /DO_ARRAY_ELEM/) { } |
|
5 |
12 |
elsif ($var eq 'RETVAL') { } |
|
4 |
8 |
elsif ($do_push) { } |
|
8 |
0 |
elsif ($arg =~ /^ST\(\d+\)$/) { } |
2036
|
0 |
0 |
unless ($subtypemap) |
2042
|
0 |
0 |
unless ($suboutputmap) |
2054
|
0 |
0 |
if $do_setmagic |
2066
|
0 |
5 |
if ($expr =~ /^\t\Q$arg\E = new/) { } |
|
5 |
0 |
elsif ($evalexpr =~ /^\t\Q$arg\E\s*=\s*(boolSV\(|(&PL_sv_yes|&PL_sv_no|&PL_sv_undef)\s*;)/) { } |
|
0 |
0 |
elsif ($evalexpr =~ /^\s*\Q$arg\E\s*=/) { } |
2081
|
0 |
0 |
if $ntype eq "SVPtr" |
2093
|
0 |
5 |
if ($use_RETVALSV) { } |
2099
|
0 |
5 |
if $pre_expr |
2101
|
0 |
5 |
if ($use_RETVALSV) { } |
2111
|
0 |
5 |
if ($do_mortal or $do_setmagic) { } |
2121
|
5 |
0 |
unless $evalexpr =~ /^\s*RETVAL = RETVAL;$/ |
2122
|
0 |
0 |
$use_RETVALSV ? : |
|
0 |
0 |
$use_RETVALSV ? : |
|
0 |
5 |
if $do_mortal |
2124
|
0 |
0 |
$use_RETVALSV ? : |
|
0 |
5 |
if $do_setmagic |
2126
|
0 |
0 |
$use_RETVALSV ? : |
|
0 |
5 |
if $do_mortal or $do_setmagic or $do_copy_tmp |
2128
|
0 |
5 |
if $use_RETVALSV |
2134
|
0 |
4 |
if $do_setmagic |
2138
|
8 |
0 |
if $do_setmagic |