Branch Coverage

blib/lib/Mite/Attribute.pm
Criterion Covered Total %
branch 180 296 60.8


line true false branch
41 2 23 unless $_[0]->class
184 125 5 if defined $self->compiling_class
187 0 5 if $shim
188 0 5 $function eq 'carp' ? :
195 0 2 $self->compiling_class->imported_functions->{'lock'} ? :
202 0 1 $self->compiling_class->imported_functions->{'unlock'} ? :
236 0 172 if $self->required and not defined $self->init_arg
239 4 168 if ($self->is eq 'lazy') { }
0 168 elsif ($self->is eq 'locked') { }
241 1 3 unless $self->has_builder or $self->has_default
249 0 172 if ($self->has_builder and $self->has_default)
254 7 337 if (&CodeRef()->check($self->$method_type))
261 44 1504 if (defined $name and $name eq Deparse error: Can't locate object method "object_2svref" via package "B::SPECIAL" at /usr/local/lib/perl5/5.26.1/B/Deparse.pm line 5018.
269 9 163 if (defined $self->lvalue)
270 2 7 if $self->lazy
272 2 5 if $self->trigger
274 2 3 if $self->weak_ref
276 2 1 if $self->type or $self->coerce
278 0 1 if $self->cloner_method
286 14 588 unless defined $name
287 458 130 unless $name =~ /\%/
301 0 7 if (exists $args{'is'})
308 0 7 if $args{'isa'} or $args{'type'}
316 4 3 if (exists $args{'builder'} or exists $args{'default'})
330 54 108 $self->is eq 'ro' || $self->is eq 'rwp' ? :
335 3 158 $self->is eq 'rwp' ? :
340 63 98 $self->is eq 'rw' ? :
353 117 2 unless @{$self->alias;}
354 1 1 $self->is eq 'rw' ? :
358 2 0 if $self->$sought
366 252 6 unless @$aliases
381 1 0 if (ref $self->handles) { }
0 0 elsif ($self->handles) { }
382 1 0 unless ($self->handles_via)
399 19 102 if (my $isa = $self->_isa) { }
0 102 elsif (my $does = $self->_does) { }
2 100 elsif ($self->has_enum) { }
416 2 17 if (ref $string) { }
419 0 2 if (&blessed($type) and not $type->isa('Type::Tiny')) { }
1 1 elsif (not &blessed($type)) { }
420 0 0 if ($type->can('to_TypeTiny')) { }
441 0 17 unless $type
444 0 19 unless $type->can_be_inlined
447 6 13 if ($self->coerce)
448 0 6 unless $type->has_coercion
450 0 6 unless $type->coercion->can_be_inlined
461 2 0 if ($self->has_enum)
464 0 2 if (not $values and my $type = $self->type)
469 0 0 if ($enum)
488 0 85 unless $self->has_default
497 0 42 unless $self->has_default
506 0 41 unless $self->has_default
514 0 91 unless $self->has_default
523 0 0 $self->imported_functions->{'true'} ? :
0 45 unless my $type = $self->type
527 0 45 if ($self->compiling_class and $self->compiling_class->imported_functions->{'blessed'})
531 0 0 if ($ctype == &Object()) { }
0 0 elsif ($ctype->isa('Type::Tiny::Class')) { }
545 0 45 if (my $autolax = $self->autolax)
554 15 0 if ($self->coerce and my $type = $self->type)
566 1 19 if $self->default_is_trusted
567 12 7 unless my $type = $self->type
569 3 4 if ($self->coerce)
580 13 68 if ($self->has_builder) { }
26 42 elsif ($self->has_coderef_default) { }
1 41 elsif ($self->has_inline_default) { }
4 37 elsif ($self->has_reference_default) { }
0 37 elsif ($self->has_simple_default and $self->type and $self->type == &Bool()) { }
37 0 elsif ($self->has_simple_default) { }
591 1 3 &HashRef()->check($self->default) ? :
594 0 0 $self->compiling_class->imported_functions->{'true'} ? :
595 0 0 $self->compiling_class->imported_functions->{'false'} ? :
596 0 0 $self->default ? :
599 36 1 defined $self->default ? :
617 2 10 if ("CODE" eq ref $self->cloner_method)
622 2 8 if (&MethodNameTemplate()->check($self->cloner_method))
631 2 0 $1 eq '_' ? :
642 126 3 if (defined $init_arg) { }
0 5 elsif ($self->has_default || $self->has_builder and not $self->lazy) { }
644 2 124 if (my(@alias) = $self->_all_aliases)
657 5 121 if ($self->clone_on_write)
662 61 65 if ($self->has_default || $self->has_builder and not $self->lazy) { }
6 59 elsif ($self->required and not $self->lazy) { }
663 1 60 if ($self->default_is_trusted and my $type = $self->type) { }
6 54 elsif ($self->type) { }
666 1 0 if ($type->has_coercion) { }
691 1 60 $self->default_does_trigger && !$self->lazy && ($self->has_default || $self->has_builder) ? :
695 2 59 $self->trigger ? :
708 3 56 $self->trigger ? :
720 18 108 if ($needs_check and my $type = $self->type) { }
721 5 13 if ($self->coerce)
749 1 128 if ($self->weak_ref)
754 1 128 if ($self->locked)
760 61 82 unless /;\s*$/
769 107 5 if (my $class = $self->compiling_class)
772 5 0 unless $self->class
773 0 0 unless eval {
948 1 1 if ($self->handles eq 1) { }
1 0 elsif ($self->handles eq 2) { }
955 2 0 if (defined $prefix)
958 0 2 if ($self->lazy or $self->clone_on_read) { }
974 0 2 if ($needs_reader)
1001 1 2 $self->locked ? :
1018 9 1 if (defined $reader_method) { }
1027 0 0 if (defined $writer_method) { }
1045 3 1 if ($gen->coerce and $type->{'uniq'} == &Bool()->{'uniq'})
1048 0 1 if ($gen->coerce and $type->has_coercion)
1066 0 3 unless my(%handles) = %{$self->handles;}
1079 1 5 if (keys %{$$result{'environment'};}) { }
1102 110 9 unless $self->has_handles
1107 3 6 if ($self->has_handles_via) { }
4 2 elsif (ref $self->handles) { }
1150 833 119 $self->can($method_type) ? :
1151 818 134 unless defined $method_name
1154 129 5 if ($xs_option_name{$method_type})
1160 4 5 if ($self->has_handles and not $self->has_handles_via and ref $self->handles)
1166 10 89 if ($self->type or $self->weak_ref or $self->locked or $self->trigger or $self->clone_on_write)
1172 21 98 if ($self->lazy or $self->clone_on_read)
1178 115 4 if (keys %want_xs or keys %want_pp)
1183 81 38 if (keys %want_xs)
1209 2 117 if ($self->alias and my $alias_is_for = $self->alias_is_for)
1240 0 224 unless $context{'context'} and $context{'file'} and $context{'line'}
1253 0 0 if ($self->compiling_class->isa('Mite::Class')) { }
1267 0 0 $self->weak_ref ? :
1271 0 0 if (defined $init_arg) { }
1273 0 0 $self->required ? :
1280 0 0 if (my $type = $self->type)
1282 0 0 if ($type->name and $type->library) { }
0 0 elsif ($type->isa('Type::Tiny::Union') and &List::Util::all(sub {
0 0 elsif ($type->is_parameterized and 1 == @{$type->parameters;} and $type->parent->name and $type->parent->library and $type->type_parameter->name and $type->type_parameter->library) { }
1285 0 0 if $_->name
1309 0 0 if ($type->has_coercion)
1320 0 0 if ($type->has_coercion and $self->coerce)
1327 0 0 unless defined $name
1351 0 0 unless defined $name
1367 0 0 if ($self->has_handles_via) { }
0 0 elsif (ref $self->handles) { }
0 0 elsif ($self->has_handles) { }
1412 0 0 if ($hstring)
1454 0 0 if (my $builder = $self->_expand_name($self->builder)) { }
0 0 elsif ($self->has_inline_default or $self->has_reference_default) { }
0 0 elsif ($self->has_coderef_default) { }
0 0 elsif ($self->has_default) { }
1466 0 0 if ($self->has_default or $self->has_builder)
1467 0 0 $self->lazy ? :
1470 0 0 if (my $trigger = $self->_expand_name($self->trigger))
1474 0 0 if ($self->has_documentation)
1478 0 0 unless ($self->compiling_class->isa("Mite::Class"))