Branch Coverage

blib/lib/Inline/CPP.pm
Criterion Covered Total %
branch 114 174 65.5


line true false branch
70 49 38 unless defined $o->{'ILSM'}{'PRESERVE_ELLIPSIS'}
75 41 42 if @propagate
117 19 57 if ($key eq 'NAMESPACE') { }
15 42 elsif ($key eq 'CLASSES') { }
1 41 elsif ($key eq 'LIBS') { }
0 41 elsif ($key eq 'ALTLIBS') { }
0 41 elsif ($key eq 'PRESERVE_ELLIPSIS' or $key eq 'STD_IOSTREAM') { }
130 0 0 unless $value == 0 or $value == 1
147 19 0 $] ge '5.0120' ? :
151 1 18 unless length $value == 0 or $value =~ / \A $ident (?:::$ident)* \z /x
168 1 14 unless $ref_value eq 'CODE' or $ref_value eq 'HASH'
172 11 3 if ($ref_value eq 'HASH')
175 1 17 unless defined $value->{$cpp_class} and length $cpp_class != 0 and $cpp_class =~ /[a-zA-Z]\w*/x
179 1 16 unless length $perl_class != 0 and $perl_class =~ /[a-zA-Z]\w*/x
208 50 0 unless ref $value eq 'ARRAY'
227 0 0 unless $o->{'ILSM'}{'parser'}
231 0 0 if (defined $data->{'classes'})
237 0 0 if @parents
244 0 0 unless $scope eq 'public' and $type eq 'method'
246 0 0 unless $o->check_type($thing, $name eq $class, $name eq "~$class")
248 0 0 $rtype ? :
252 0 0 $ellipsis ? :
259 0 0 if (defined $data->{'functions'})
262 0 0 if $function =~ /::/x
263 0 0 unless $o->check_type($func, 0, 0)
268 0 0 $ellipsis ? :
277 0 0 if @class
279 0 0 if @func
282 0 0 if $o->{'STRUCT'}{'.any'}
316 0 0 if not defined $data->{'classes'} || defined $data->{'functions'} and $^W
321 16 33 if (exists $o->{'API'}{'classes_override'}) { }
323 8 8 if ($ref_classes_override eq 'HASH') { }
8 0 elsif ($ref_classes_override eq 'CODE') { }
324 8 0 if (exists $o->{'API'}{'classes_override'}{$class}) { }
337 0 8 if ($proper_pkg eq '')
390 1 135 if $type eq 'method' and $thing->{'abstract'}
391 52 142 if $scope ne 'public'
392 0 142 if ($type eq 'enum') { }
130 24 elsif ($type eq 'method' and not $name =~ /operator/) { }
405 1 48 unless $ctor or $abstract
407 23 26 unless $dtor or $abstract
415 9 186 if ($type eq 'inherits' and $scope eq 'public')
422 3 6 if (exists $o->{'API'}{'classes_override'}) { }
424 0 3 if ($ref_classes_override eq 'HASH') { }
3 0 elsif ($ref_classes_override eq 'CODE') { }
425 0 0 if (exists $o->{'API'}{'classes_override'}{$class}) { }
441 0 3 if ($ISA_name eq '')
475 6 25 if $data->{'function'}{$function}{'rtype'} eq ''
476 0 25 if $data->{'function'}{$function}{'rtype'} =~ /static/
477 9 16 if $function =~ /::/x
478 0 16 if $function =~ /operator/
489 2 42 $o->{'ILSM'}{'XS'}{'PREFIX'} ? :
514 0 146 unless $o->check_type($thing, $ctor, $dtor)
519 11 29 $_->{'optional'} ? :
521 1 145 if @args and $args[-1]{'name'} eq '...'
529 7 139 scalar @opts || $ellipsis ? :
538 8 138 if ($void or $ellipsis)
543 6 140 if (@opts) { }
7 133 elsif ($void) { }
4 129 elsif ($ellipsis or $thing->{'rconst'}) { }
545 5 1 $class ? :
560 11 0 unless $void
567 6 0 unless $void
586 7 139 if ($void) { }
1 138 elsif ($ellipsis) { }
603 14 132 if @PREINIT
605 7 139 if $void and @CODE
606 17 129 if @CODE
607 10 136 if @CODE and not $void
617 47 99 if ($name eq $class) { }
25 74 elsif ($name eq "~$class") { }
58 16 elsif ($class) { }
640 6 36 if $ctor
641 1 41 if $dtor
642 27 15 if $class and not $ctor || $dtor
650 49 6 unless $const and $type =~ /[*&]/x
661 6 38 unless length $typemap
678 0 38 unless sysopen my $TYPEMAP_FH, $filename, 65
682 0 38 unless flock $TYPEMAP_FH, 2
684 0 38 unless truncate $TYPEMAP_FH, 0
690 0 38 unless close $TYPEMAP_FH
705 124 0 if (defined $tkind) { }
718 0 124 if $preproc
729 74 72 unless ($ctor or $dtor)
732 0 74 if ($t ne 'void' and not $o->typeconv('', '', $t, 'output_expr'))
739 0 40 if ($_ ne '...' and not $o->typeconv('', '', $_, 'input_expr'))
769 0 0 if defined $v