Branch Coverage

blib/lib/MOP/Internal/Util.pm
Criterion Covered Total %
branch 57 106 53.7


line true false branch
30 0 4 unless defined $stash
32 2 2 if (my $name = B::svref_2object($stash)->NAME)
40 0 1117 unless defined $stash
47 0 81 unless defined $stash
54 0 546 unless defined $stash
61 0 605 unless defined $stash
69 0 1591 unless defined $stash
71 0 1591 unless defined $name
73 0 1591 unless defined $slot
78 150 1441 unless exists $stash->{$name}
84 1441 0 if ($slot eq 'CODE' and $stash->{$name} eq '-1' or ref $stash->{$name} ne 'GLOB')
98 0 4 unless defined $stash
100 0 4 unless defined $name
102 0 4 unless defined $value_ref
124 0 5 unless $cv
126 0 5 unless $cv and ref $cv eq 'CODE'
137 83 26 unless $object and &Scalar::Util::blessed($object)
139 26 0 if &Scalar::Util::reftype($object) eq 'CODE'
141 0 0 unless Devel::OverloadInfo::is_overloaded($object)
147 0 926 unless $cv
149 0 926 unless $cv and ref $cv eq 'CODE' or CAN_COERCE_TO_CODE_REF($cv)
157 0 160 unless $glob
166 1 159 if $glob eq '-1'
168 136 23 if (my $code = *{$glob;}{'CODE'})
177 0 3 unless defined $in_pkg
179 0 3 unless defined $name
183 1 2 unless (eval "sub ${in_pkg}::$name; 1;")
189 0 3 unless $cv
191 0 3 unless defined $in_pkg
193 0 3 unless $cv and ref $cv eq 'CODE' or CAN_COERCE_TO_CODE_REF($cv)
202 0 421 unless defined $in_pkg
204 0 421 unless defined $name
206 0 421 unless $cv and ref $cv eq 'CODE' or CAN_COERCE_TO_CODE_REF($cv)
210 0 421 unless exists $opts{'set_subname'}
217 1 420 $opts{'set_subname'} ? :
225 0 3 unless $stash and ref $stash eq 'HASH'
227 0 3 unless defined $name
233 3 0 if (my $glob = $stash->{$name})
240 3 12 if (my $val = *{$glob;}{$slot})
272 0 16 unless &Scalar::Util::blessed($meta)
274 0 16 unless $roles and ref $roles eq 'ARRAY' and scalar @$roles != 0
279 0 18 unless scalar grep({$r eq $_;} @$roles)
289 0 16 if scalar keys %$slot_conflicts
294 0 0 if $meta->has_slot($name)
309 0 0 if scalar keys %$method_conflicts and scalar grep({not $meta->has_method($_);} keys %$method_conflicts)
315 3 0 if $meta->name->can($name)
319 0 16 if scalar keys %$required_methods
324 0 419 if $meta->has_method($name)
341 0 16 if scalar @roles == 0
351 0 0 if (exists $slots{$name} and $slots{$name} != $slot->initializer) { }
378 0 16 if scalar @roles == 0
398 0 419 if (exists $methods{$name} and $methods{$name} != $m->body) { }
415 0 419 if exists $required{$name} and not exists $conflicts{$name}