Branch Coverage

blib/lib/Type/Params/Signature.pm
Criterion Covered Total %
branch 266 314 84.7


line true false branch
8 0 64 if ($] < "5.01")
52 0 331 @_ == 1 ? :
56 4 327 if exists $self->{'goto_next'}
58 3 321 unless ($Attrs->all(sort(keys %$self)))
62 1 2 @bad == 1 ? :
77 12 319 if ($self->{'named_to_list'} and not is_ArrayRef($self->{'named_to_list'}))
81 331 0 if (delete $self->{'rationalize_slurpies'})
85 38 288 if ($self->{'method'})
89 0 0 $self->{'package'} ? :
0 8 is_Str($type) ? :
30 8 is_Int($type) ? :
99 49 117 if (defined $self->{'bless'} and is_BoolLike($self->{'bless'}) and $self->{'bless'} and not $self->{'named_to_list'})
102 46 3 unless exists $self->{'oo_trace'}
105 8 316 if (is_ArrayRef($self->{'class'}))
116 1 48 if ($self->has_slurpy)
133 177 154 if ($self->is_named) { }
151 3 elsif (@$parameters) { }
137 26 396 if ($parameter->type->is_strictly_a_type_of(&Slurpy())) { }
1 395 elsif ($parameter->{'slurpy'}) { }
149 25 152 if (@slurpy == 1) { }
1 151 elsif (@slurpy) { }
151 24 1 if ($constraint->type_parameter and $constraint->type_parameter->{'uniq'} == &Any()->{'uniq'} or $constraint->my_slurp_into eq 'HASH') { }
164 40 111 if ($parameters->[-1]->type->is_strictly_a_type_of(&Slurpy())) { }
7 104 elsif ($parameters->[-1]{'slurpy'}) { }
173 3 211 if ($parameter->type->is_strictly_a_type_of(&Slurpy()) or $parameter->{'slurpy'})
179 1 325 if ($self->{'slurpy'} and $self->{'slurpy'}->has_default)
186 1 325 if ($self->{'slurpy'} and $self->{'slurpy'}->optional)
199 1 130 if (is_Str($$ref)) { }
201 1 0 $self->{'package'} ? :
208 7 341 if (my $r = delete $self->{'returns'})
227 422 336 if ($is_named)
230 2 756 if (is_HashRef($list->[0]) and exists $list->[0]{'slurpy'} and not is_Bool($list->[0]{'slurpy'})) { }
238 74 684 if (is_HashRef($list->[0]))
239 72 2 unless (exists $list->[0]{'slurpy'} and not is_Bool($list->[0]{'slurpy'}))
245 3 4 $type ? :
2 0 $opts{'package'} ? :
2 749 is_Str($type) ? :
7 751 is_Int($type) ? :
265 623 39 unless defined $opts{$pos}
266 6 33 if (is_Int($opts{$pos}))
287 2 196 unless $positional or $named or $multiple
290 22 332 if ($multiple)
291 1 21 if (is_HashRef($multiple)) { }
2 19 elsif (not is_ArrayRef($multiple)) { }
294 1 0 is_CodeRef($alt) ? :
0 1 is_ArrayRef($alt) ? :
5 1 is_HashRef($alt) ? :
305 2 20 if $positional
306 2 20 if $named
316 178 154 if ($named)
317 44 134 unless exists $opts->{'bless'}
319 2 176 if $positional
349 49 4 defined $_[0]{'method_invocant'} ? :
353 337 171 if exists $_[0]{'can_shortcut'}
372 60 282 if $self->has_head
373 16 326 if $self->has_tail
375 70 271 if ($self->has_slurpy) { }
148 123 elsif ($self->is_named) { }
392 67 277 if (my $next = $self->next)
393 66 1 if (is_CodeLike($next)) { }
402 48 296 if ($self->method)
412 60 283 if ($self->has_head)
415 16 327 if ($self->has_tail)
419 172 171 if ($self->is_named) { }
102 69 elsif ($self->can_shortcut) { }
429 7 336 if ($self->has_on_die)
448 1 321 if (defined $self->strictness and $self->strictness eq 1) { }
3 318 elsif ($self->strictness) { }
1 317 elsif ($self->has_strictness) { }
459 60 261 if $self->has_head
460 16 305 if $self->has_tail
467 131 469 if ($parameter->optional) { }
472 1 468 if $seen_optional and not $is_named
480 70 250 if $self->has_slurpy
489 5 315 if ($is_named and $self->list_to_named) { }
167 148 elsif ($is_named) { }
492 9 1 $_->in_list ? :
0 10 if ($_->optional) { }
506 144 23 unless $self->head
524 157 10 if $min_args_if_hash
544 102 46 if defined $max_args
549 81 67 if (defined $max_args and $min_args == $max_args) { }
11 56 elsif ($min_args and defined $max_args) { }
590 0 60 unless $self->has_head
621 0 16 unless $self->has_tail
654 172 170 if ($self->is_named) { }
656 5 167 if ($self->list_to_named)
692 5 167 if ($self->list_to_named)
704 36 134 $self->has_head ? :
708 144 65 $can_shortcut ? :
144 65 $can_shortcut ? :
726 0 70 unless $self->has_slurpy
733 24 46 if ($self->is_named) { }
1 45 elsif ($real_type and $real_type->{'uniq'} == &Any()->{'uniq'}) { }
29 16 elsif ($slurp_into eq 'HASH') { }
772 24 46 $self->is_named ? :
788 0 148 if $self->has_strictness and not $self->strictness
792 8 140 if ($Type::Tiny::AvoidCallbacks)
797 0 148 defined $self->strictness && $self->strictness ne 1 ? :
813 47 294 if ($self->{'_is_signature_for'} and $self->next)
814 8 39 if $self->has_returns_scalar
816 8 39 if $self->has_returns_list
820 44 297 if ($self->bless and $self->oo_trace)
823 44 0 if (defined $package and defined $subname)
846 60 279 if ($self->has_head)
850 167 172 if (not $self->is_named) { }
14 158 elsif ($self->named_to_list) { }
24 134 elsif ($self->class) { }
55 79 elsif ($self->bless) { }
851 99 68 $self->can_shortcut ? :
876 16 323 if ($self->has_tail)
888 67 293 if ($self->next) { }
19 274 elsif ($args{'is_early'} or not exists $args{'is_early'}) { }
889 8 59 if ($self->{'_is_signature_for'} and $self->has_returns_list || $self->has_returns_scalar) { }
8 51 elsif ($list eq '@_') { }
51 0 elsif ($args{'allow_full_statements'} and not $args{'is_early'} || !exists $args{'is_early'}) { }
916 8 0 $self->has_returns_list ? :
8 0 $self->has_returns_scalar ? :
925 0 8 if ($constraint->{'uniq'} == &Any()->{'uniq'}) { }
7 1 elsif ($constraint->can_be_inlined) { }
945 1 7 $slurp_into eq 'HASH' ? :
947 0 8 if ($constraint->{'uniq'} == &Any()->{'uniq'}) { }
7 1 elsif ($constraint->can_be_inlined) { }
977 4 515 $self->has_on_die ? :
990 8 769 $self->has_on_die ? :
998 320 0 if ($args{'got'})
1005 400 240 unless is_Int($args{$c})
1013 320 0 if (my $package = $self->package and my $subname = $self->subname)
1014 130 190 if $package ne "__ANON__" and $subname ne "__ANON__"
1020 6 314 $self->has_on_die ? :
1039 1 48 if ($self->has_slurpy)
1046 31 67 if (my $predicate = $parameter->predicate)
1047 0 31 unless $predicate =~ /^[^0-9\W]\w*$/
1051 98 0 if (my $getter = $parameter->getter)
1052 2 96 unless $getter =~ /^[^0-9\W]\w*$/
1068 0 49 if ($env eq "PP" or $ENV{'PERL_ONLY'})
1078 0 49 unless eval { do { require Class::XSAccessor; "Class::XSAccessor"->VERSION("1.17"); 1 } }
1101 0 0 unless eval $code
1110 7 16 unless $self->is_named and $self->bless and not $self->named_to_list
1151 1 46 if ($self->has_slurpy)
1183 47 0 if (defined $self->strictness and $self->strictness eq 1 or not $self->has_strictness) { }
0 0 elsif ($self->strictness) { }
1195 47 0 if (defined $self->strictness and $self->strictness eq 1 or not $self->has_strictness) { }
0 0 elsif ($self->strictness) { }
1207 47 0 if (defined $self->strictness and $self->strictness eq 1 or not $self->has_strictness) { }
0 0 elsif ($self->strictness) { }
1222 0 47 unless eval $code
1 4 unless defined $fields
1 4 unless Type::Tiny::XS::AUTO::TC4($fields)
1 3 unless defined $fields
0 0 unless Type::Tiny::XS::AUTO::TC4($fields)
0 0 unless defined $fields
0 0 unless Type::Tiny::XS::AUTO::TC4($fields)
0 0 unless defined $fields
1236 10 298 if ($self->{'want_source'}) { }
2 296 elsif ($self->{'want_object'}) { }
63 236 elsif ($self->{'want_details'}) { }