Branch Coverage

blib/lib/mop/internals/util.pm
Criterion Covered Total %
branch 59 68 86.7


line true false branch
19 2184 0 if (*{"${to}::$sub";})
30 78 0 if (my $prev = pop @{$OVERRIDDEN{$pkg}{$sub} // [];})
62 0 495 if mop::meta($name)
65 1 494 if is_nonmop_class($name)
85 2 1161 if $to->has_attribute($attribute->name) and $to->get_attribute($attribute->name)->conflicts_with($attribute)
92 152 4482 if (my $existing_method = $to->get_method($method->name)) { }
102 5 10 if (my $method = $to->get_method($conflict)) { }
124 1 433 unless $attr->locally_defined
129 2 1314 unless $method->locally_defined
147 1449 8 if (my $meta = mop::meta($class)) { }
163 0 8 if @$isa > 1
174 24 24 unless $class->can($method)
190 0 447 unless defined $super
194 402 45 if $meta_name->isa($super_name)
195 28 17 if $super_name->isa($meta_name)
198 13 4 if $rebased_meta_name
200 3 1 &Scalar::Util::blessed($meta) ? :
203 4 0 &Scalar::Util::blessed($super) ? :
213 0 17 unless $common_base
227 0 17 if grep {$_->is_abstract;} @meta_isa, @super_isa
235 4 17 if grep {$super_method_overrides{$_->name};} $class->methods
239 0 17 if grep {$super_attribute_overrides{$_->name};} $class->attributes
244 11 6 unless (mop::meta($rebased))
264 469 71 if $meta_ancestors{$super_ancestor}
273 236 15 ref $_ ? :
275 192 25 if @roles == 1
279 3 22 if mop::meta($name)
297 2 7 if $seen and $seen->conflicts_with($attribute)
314 6 32 if ($conflicts{$name}) { }
11 21 elsif ($methods{$name}) { }
318 2 9 unless $methods{$name}->conflicts_with($method)
338 1 1 unless $composite->has_method($requirement)
355 3283 4 if (my $m = mop::meta($class))
356 736 2547 if $m->has_method('BUILD')