Branch Coverage

blib/lib/Inline/CPP.pm
Criterion Covered Total %
branch 125 174 71.8


line true false branch
70 49 38 unless defined $o->{'ILSM'}{'PRESERVE_ELLIPSIS'}
75 42 41 if @propagate
117 20 58 if ($key eq 'NAMESPACE') { }
15 43 elsif ($key eq 'CLASSES') { }
1 42 elsif ($key eq 'LIBS') { }
0 42 elsif ($key eq 'ALTLIBS') { }
0 42 elsif ($key eq 'PRESERVE_ELLIPSIS' or $key eq 'STD_IOSTREAM') { }
130 0 0 unless $value == 0 or $value == 1
147 20 0 $] ge '5.0120' ? :
151 1 19 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 1 unless $o->{'ILSM'}{'parser'}
231 0 1 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 ? :
256 1 0 if (defined $data->{'functions'})
259 0 1 if $function =~ /::/x
260 0 1 unless $o->check_type($func, 0, 0)
271 0 1 if @class
273 1 0 if @func
276 0 1 if $o->{'STRUCT'}{'.any'}
285 0 1 $ellipsis ? :
318 0 0 if not defined $data->{'classes'} || defined $data->{'functions'} and $^W
323 16 33 if (exists $o->{'API'}{'classes_override'}) { }
325 8 8 if ($ref_classes_override eq 'HASH') { }
8 0 elsif ($ref_classes_override eq 'CODE') { }
326 8 0 if (exists $o->{'API'}{'classes_override'}{$class}) { }
339 0 8 if ($proper_pkg eq '')
397 1 3 if $abstract and $name eq $class || $name eq "~$class"
398 1 136 if $type eq 'method' and $thing->{'abstract'}
399 52 143 if $scope ne 'public'
400 0 143 if ($type eq 'enum') { }
131 24 elsif ($type eq 'method' and not $name =~ /operator/) { }
413 1 48 unless $ctor or $abstract
415 23 26 unless $dtor or $abstract
423 9 188 if ($type eq 'inherits' and $scope eq 'public')
430 3 6 if (exists $o->{'API'}{'classes_override'}) { }
432 0 3 if ($ref_classes_override eq 'HASH') { }
3 0 elsif ($ref_classes_override eq 'CODE') { }
433 0 0 if (exists $o->{'API'}{'classes_override'}{$class}) { }
449 0 3 if ($ISA_name eq '')
483 6 25 if $data->{'function'}{$function}{'return_type'} eq ''
484 0 25 if $data->{'function'}{$function}{'return_type'} =~ /static/
485 9 16 if $function =~ /::/x
486 0 16 if $function =~ /operator/
497 2 42 $o->{'ILSM'}{'XS'}{'PREFIX'} ? :
522 0 147 unless $o->check_type($thing, $ctor, $dtor)
528 11 29 $thing->{'arg_optional'}[$_] ? :
530 1 146 if (@args and $thing->{'arg_names'}[$args[-1]] eq '...')
541 7 140 scalar @opts || $ellipsis ? :
550 8 139 if ($void or $ellipsis)
555 6 141 if (@opts) { }
7 134 elsif ($void) { }
4 130 elsif ($ellipsis or $thing->{'rconst'}) { }
558 5 1 $class ? :
573 11 0 unless $void
580 6 0 unless $void
599 7 140 if ($void) { }
1 139 elsif ($ellipsis) { }
616 14 133 if @PREINIT
618 7 140 if $void and @CODE
619 17 130 if @CODE
620 10 137 if @CODE and not $void
630 47 100 if ($name eq $class) { }
25 75 elsif ($name eq "~$class") { }
59 16 elsif ($class) { }
653 6 36 if $ctor
654 1 41 if $dtor
655 27 15 if $class and not $ctor || $dtor
663 49 6 unless $const and $type =~ /[*&]/x
674 6 38 unless length $typemap
691 0 38 unless sysopen my $TYPEMAP_FH, $filename, 65
695 0 38 unless flock $TYPEMAP_FH, 2
697 0 38 unless truncate $TYPEMAP_FH, 0
703 0 38 unless close $TYPEMAP_FH
718 128 0 if (defined $tkind) { }
731 0 128 if $preproc
742 76 72 unless ($ctor or $dtor)
745 0 76 if ($t ne 'void' and not $o->typeconv('', '', $t, 'output_expr'))
752 0 42 if ($_ ne '...' and not $o->typeconv('', '', $_, 'input_expr'))
782 0 0 if defined $v