Condition Coverage

blib/lib/XS/Install/FrozenShit/ParseXS.pm
Criterion Covered Total %
condition 38 140 27.1


and 3 conditions

line !l l&&!r l&&r condition
608 2 7 0 @{$self->{'line'};} and not $self->{'line'}[0] =~ /^[^\#]/
619 7 0 0 $self->{'XS_parse_stack_top_if_idx'} and not $self->{'XS_parse_stack'}[$self->{'XS_parse_stack_top_if_idx'}]{'varname'}
743 0 4 0 $self->{'config_allow_argtypes'} and $self->{'xsub_return_type'} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s
777 4 0 0 $self->{'xsub_seen_static'} and not defined $self->{'xsub_class'}
876 2 2 0 $self->{'xsub_seen_CODE'} && join($", @{$self->{'line'};}) =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x
1080 0 0 2 $self->{'config_optimize'} and $outputmap
0 2 0 $self->{'config_optimize'} and $outputmap and $outputmap->targetable_legacy
1132 0 0 0 defined $self->{'xsub_class'} and $self->{'xsub_func_name'} eq "DESTROY"
1167 0 0 2 $consumed_code =~ /\bRETVAL\b/ and not $consumed_code =~ /\bPERL_UNUSED_VAR\(RETVAL\)/
1251 0 0 2 $retval && $retval->{'in_output'}
2 2 0 $self->{'xsub_seen_RETVAL_in_CODE'} and not $retval && $retval->{'in_output'}
4 0 0 $self->{'xsub_seen_RETVAL_in_CODE'} and not $retval && $retval->{'in_output'} and $self->{'xsub_return_type'} ne "void"
1266 8 0 0 defined $_->{'in_out'} and $_->{'in_out'} =~ /OUT$/
1280 0 0 0 $retval and $retval->{'in_output'}
1300 2 0 2 $retval and $retval->{'in_output'}
1306 2 0 2 $self->{'xsub_return_type'} ne "void" and not $self->{'xsub_seen_NO_OUTPUT'}
1338 4 0 0 $self->{'xsub_SCOPE_enabled'} and not $self->{'xsub_seen_PPCODE'}
1459 4 0 0 $self->{'xsub_map_alias_name_to_value'} and keys %{$$self{"xsub_map_alias_name_to_value"};}
1803 44 0 4 not /\S/ and @{$self->{'line'};}
1818 4 0 0 not /\S/ and @{$self->{'line'};}
1828 0 0 4 $self->{'config_WantLineNumbers'} and not /^\s*#\s*line\b/
0 0 4 $self->{'config_WantLineNumbers'} and not /^\s*#\s*line\b/ and not /^#if XSubPPtmp/
1831 0 4 28 defined $_ and not /^$BLOCK_regexp/o
1852 0 0 0 not /\S/ and @{$self->{'line'};}
1856 0 0 0 defined $_ and not /^$BLOCK_regexp/o
1890 0 0 1 $self->{'config_WantLineNumbers'} and not $self->{'line'}[0] =~ /^\s*#\s*line\b/
1913 0 0 0 $self->{'xsub_CASE_condition_count'} and $self->{'xsub_CASE_condition'} eq ""
2170 0 2 0 $param and $param->{'in_output'}
2175 0 2 0 $outarg eq "RETVAL" and $self->{'xsub_seen_NO_OUTPUT'}
2180 2 0 0 $outarg ne "RETVAL" and not $param->{'arg_num'}
2314 0 0 0 not $is_symbolic and $value =~ /:/
2354 0 0 0 $value eq 0 and not defined $self->{'xsub_map_alias_name_to_value'}{$fname}
2355 0 0 0 @keys and $self->{'config_author_warnings'}
2647 0 0 0 /\|\s*$/ and /^\s*perl\s/
2696 0 0 0 not /^\"/ and length $_ > 0
2715 0 0 0 defined $command and $command =~ /\s/
0 0 0 defined $command and $command =~ /\s/ and not $command =~ /[$quote]/
2806 0 0 0 $isPipe and $?

or 2 conditions

line l !l condition
1704 0 0 $self->{'map_package_to_fallback_string'}{$package} || '&PL_sv_undef'
1779 0 1 $_[0]{'error_count'} || 0
1782 0 0 $XS::Install::FrozenShit::ParseXS::Singleton->{'error_count'} || 0
2919 0 0 $self->current_line_number || 0

or 3 conditions

line l !l&&r !l&&!r condition
1280 0 0 0 $retval and $retval->{'in_output'} or $implicit_OUTPUT_RETVAL
1300 2 0 2 $retval and $retval->{'in_output'} or $implicit_OUTPUT_RETVAL
1676 0 0 1 defined $self->{'xsub_map_alias_name_to_value'} or defined $self->{'seen_INTERFACE_or_MACRO'}
1725 0 0 1 defined $self->{'xsub_map_alias_name_to_value'} or defined $self->{'seen_INTERFACE_or_MACRO'}
2180 0 0 2 not $param or $outarg ne "RETVAL" and not $param->{'arg_num'}
2737 0 0 0 /^\s*\|/ or /\|\s*$/