Branch Coverage

blib/lib/Sub/Accessor/Small.pm
Criterion Covered Total %
branch 72 156 46.1


line true false branch
16 8 0 eval {
19 0 8 !&HAS_SUB_UTIL() && eval {
57 24 0 ref $_[0] eq 'HASH' ? :
58 24 0 @_ % 2 ? :
62 24 0 if defined $export_opts->{'into'} and not ref $export_opts->{'into'}
64 24 0 $package ? :
96 76 44 unless defined $me->{$type}
100 1 23 if (defined $me->{'handles'})
103 1 0 if ($me->{'traits'} or $me->{'handles_via'})
122 1 0 if $shv_data
125 0 1 unless ($shv_data)
138 4 7 $me->{'is'} eq 'lazy' ? :
4 11 $me->{'is'} eq 'rwp' ? :
5 15 $me->{'is'} eq 'rw' ? :
4 20 $me->{'is'} eq 'ro' ? :
140 4 20 wantarray ? :
148 0 46 unless defined $target
150 3 43 if (not ref $target and $target =~ /\A[^\W0-9]\w+\z/)
161 43 0 if (ref $target eq "SCALAR" and not defined $$target)
167 0 0 if (not ref $target and $target eq 1)
179 0 0 if (ref $me->{'handles'} eq 'ARRAY') { }
0 0 elsif (ref $me->{'handles'} eq 'HASH') { }
206 0 24 $me->{'slot'} =~ /\A_/ ? :
210 120 48 unless exists $me->{$type}
211 46 2 if ref $me->{$type}
212 2 0 if $me->{$type} ne 1
215 0 0 unless defined $me->{'slot'}
226 0 24 if (ref $me->{'builder'} eq "CODE")
234 0 0 unless defined $name and defined $me->{'package'}
236 0 0 $name =~ /\A_/ ? :
255 0 2 if ($me->{'is'} eq 'rw') { }
0 2 elsif ($me->{'is'} eq 'ro') { }
0 2 elsif ($me->{'is'} eq 'rwp') { }
0 2 elsif ($me->{'is'} eq 'lazy') { }
258 0 0 if not exists $me->{'accessor'} and defined $name
263 0 0 if not exists $me->{'reader'} and defined $name
268 0 0 if not exists $me->{'reader'} and defined $name
270 0 0 if not exists $me->{'writer'} and defined $name
275 0 0 if not exists $me->{'reader'} and defined $name
277 0 0 unless exists $me->{'lazy'}
279 0 0 unless $me->{'builder'} or $me->{'default'}
286 19 5 unless exists $me->{'default'}
288 0 5 unless (ref $me->{'default'})
295 0 5 unless ref $me->{'default'} eq "CODE"
302 0 24 if (my $does = $me->{'does'})
304 0 0 if &blessed($_[0])
307 0 24 if (defined $me->{'isa'} and not ref $me->{'isa'})
310 0 0 unless eval {
315 0 0 $me->{'package'} ? :
323 0 24 if (defined $me->{'trigger'} and not ref $me->{'trigger'})
334 0 24 if $me->{'initializer'}
335 0 24 if $me->{'traits'}
336 0 24 if $me->{'lazy_build'}
360 46 0 defined $me->{'slot'} ? :
453 0 0 if (ref $method eq 'ARRAY') { }
481 0 29 if ($me->{'auto_deref'})
496 5 17 if ($me->{'lazy'})
500 5 0 if ($me->{'default'}) { }
0 0 elsif (defined $me->{'builder'}) { }
558 5 4 if ($coerce eq "\$_[1]")
560 5 0 unless ($me->{'trigger'} or $me->{'weak_ref'})
603 8 4 if ($coerce eq "\$_[1]")
605 7 0 unless ($me->{'lazy'} or $me->{'trigger'} or $me->{'weak_ref'})
640 13 8 unless my $coercion = $me->{'coerce'}
642 8 0 unless (ref $coercion)
646 8 0 if (&blessed($type) and $type->can('coercion')) { }
0 0 elsif (&blessed($type) and $type->can('coerce')) { }
659 0 8 unless (ref $coercion)
666 8 0 if (&blessed($coercion) and $coercion->can("can_be_inlined") and $coercion->can_be_inlined and $coercion->can("inline_coercion"))
677 0 0 if (&blessed($coercion) and $coercion->can("coerce"))
691 11 10 unless my $type = $me->{'isa'}
693 10 0 if (&blessed($type) and $type->isa("Type::Tiny") and $type->can_be_inlined)
698 10 0 if ($ass =~ /\Ado \{(.+)\};\z/ms)
710 0 0 if (&blessed($type) and $type->can("can_be_inlined") and $type->can_be_inlined)
715 0 0 if ($inliner)
721 0 0 if (&blessed($type) and $type->can("check") and $type->can("get_message"))
735 9 0 unless $me->{'weak_ref'}
749 1 8 unless my $trigger = $me->{'trigger'}