Branch Coverage

blib/lib/XS/Install/ParseXS.pm
Criterion Covered Total %
branch 0 132 0.0


line true false branch
40 0 0 if $lines->[$i] =~ /^(PP)?CODE\s*:/
49 0 0 if $lines->[$idx] =~ /^[a-zA-Z0-9]+\s*:/
86 0 0 unless $_[0] =~ /^MODE\s*:\s*(\w+)\s*$/
97 0 0 unless @$lines
99 0 0 if (get_mode($lines->[0]) eq 'INLINE')
105 0 0 if ($self->{'xsi'}{'inline_mode'})
109 0 0 if (get_mode($line) eq 'XS')
115 0 0 unless @$lines
119 0 0 if (@$lines == 2)
125 0 0 if ($lines->[0] and $lines->[0] =~ /^([A-Z]+)\s*\{/)
127 0 0 if ($lines->[-1] =~ /^\}/)
132 0 0 if ($lines->[0] and $lines->[0] =~ /^(.+?)\s+([^\s()]+\s*(\((?:[^()]|(?3))*\)))\s*(.*)/)
138 0 0 if ((my $idx = index($rest, '{')) >= 0) { }
0 0 elsif ($lines->[0] and $lines->[0] =~ s/^\s*\{//) { }
142 0 0 if ($content =~ /\S/)
148 0 0 unless ($lines->[0] =~ /\S/)
154 0 0 if ($remove_closing)
156 0 0 unless ($lines->[-1] =~ /\S/)
158 0 0 unless ($lines->[0] and $lines->[0] =~ /\S/)
164 0 0 if (length $lines->[0])
165 0 0 $type =~ /^void(\s|$)/ ? :
169 0 0 if ($rest =~ /:(.+)/)
176 0 0 if ($attr eq 'ALIAS' and my @alias = split(/\s*,\s*/, $val, 0)) { }
0 0 elsif ($attr eq 'CONST') { }
0 0 elsif (defined $val) { }
197 0 0 if ($lines->[0] =~ /^BOOT\s*:/)
209 0 0 unless my $out_type = $lines->[0]
211 0 0 if not $out_type or $out_type =~ /^#/ or $out_type =~ /^[_A-Z]+\s*:([^:]|$)/
215 0 0 unless $sig =~ /^([^(]+)\((.*)\)\s*$/
223 0 0 if $str =~ s/\s*=\s*(.+)$//
225 0 0 if $str =~ s/([a-zA-Z0-9_\$]+)\s*$//
227 0 0 if ($str eq '...')
231 0 0 unless ($info{'type'})
240 0 0 if ($func =~ s/^(.+):://)
241 0 0 $func eq 'new' ? :
246 0 0 if exists $attrs{'const'} or exists $attrs{'CONST'}
251 0 0 unless ($para =~ /^(PP)?CODE\s*:/m)
253 0 0 $void ? :
255 0 0 if ($func ne 'new' and $func ne 'DESTROY' || !$is_method)
258 0 0 if ($is_method)
263 0 0 unless $void
270 0 0 if ($para =~ /^CODE\s*:/m and not $para =~ /^OUTPUT\s*:/m)
285 0 0 defined $_->{'default'} ? :
286 0 0 if $variadic
292 0 0 if (is_empty($lines))
293 0 0 if ($func eq 'DESTROY' and $is_method) { }
0 0 elsif ($func eq 'new') { }
310 0 0 unless ($new_type)
316 0 0 unless $ret_type =~ /\*$/
328 0 0 if $ret
349 0 0 if -e 'typemap'
397 0 0 if /^\s*NOT_IMPLEMENTED_YET/
398 0 0 unless /\S/
404 0 0 unless /[=;+].*\S/
407 0 0 if (s/^([^=]*)\blength\(\s*(\w+)\s*\)\s*$/$1 XSauto_length_of_$2=NO_INIT/x)
415 0 0 if s/\s*([=;+].*)$//s
422 0 0 unless my($var_type, $var_name) = /^(.*?[^\s])\s*\b(\w+)$/s
428 0 0 if $self->{'arg_list'}{$var_name}++ or defined $self->{'argtype_seen'}{$var_name} and not $self->{'processing_arg_with_types'}
437 0 0 if ($var_type =~ / \( \s* \* \s* \) /x) { }
448 0 0 if ($self->{'var_num'})
450 0 0 unless $typemap or $is_overridden_typemap
454 0 0 if $var_addr
455 0 0 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 0 elsif ($var_init =~ /\S/) { }
0 0 elsif ($self->{'var_num'}) { }
458 0 0 if ($printed_name) { }