Branch Coverage

blib/lib/classes.pm
Criterion Covered Total %
branch 188 348 54.0


line true false branch
39 160 2 if (not ref $_[0]) { }
40 0 160 if @_ == 1
65 426 5 if (ref $args[0] eq 'HASH') { }
5 0 elsif (@args > 1) { }
67 24 402 if @args > 1
121 0 1360 unless my $ref = $$lookup{$tag}
127 0 431 unless $class =~ /$classes::ok_class_name/
134 406 25 unless ($$const_CLASS)
147 406 25 unless (*$class_decl{'CODE'})
162 406 25 unless (*$class_MIXIN{'CODE'})
174 1 430 if $def_base_exception
180 37 394 if ($type) { }
181 0 34 unless $type eq 'static' or $type eq 'dynamic' or $type eq 'mixable'
195 3 428 if $type eq 'dynamic'
201 406 25 unless (*$class_super{'CODE'})
212 48 383 if defined $mixes
214 0 431 if defined $class_mixes
216 0 431 if defined $pkg_mixes
224 0 431 if ($needs)
228 0 0 unless ($is_ref)
233 0 0 if $is_ref ne 'ARRAY'
248 1 430 if ($throws)
252 1 0 unless ($is_ref)
257 0 1 if $is_ref ne 'ARRAY'
271 1 430 if ($base_exception)
274 0 1 if (ref $base_exception) { }
290 3 428 if ($exceptions)
306 2 1 unless ($base_x_class)
310 2 0 unless (%{$base_x_class . '::';})
318 3 0 if ($is_ref ne 'ARRAY')
327 3 0 if (not $exc_is_ref) { }
0 0 elsif ($exc_is_ref eq 'HASH') { }
328 0 3 if %{$exc . '::';}
338 0 0 if %{$name . '::';}
355 305 126 if ($extends)
356 0 305 if $inherits or ref $extends
368 6 425 if ($inherits)
377 5 1 unless ($is_ref)
382 0 6 if not $is_ref or $is_ref ne 'ARRAY'
386 0 7 if $class->isa($parent)
396 5 426 if ($class_attrs_ro)
414 4 1 if ($is_ref eq 'ARRAY') { }
1 0 elsif ($is_ref eq 'HASH') { }
416 0 4 unless $name and $name =~ /$classes::ok_attr_name/
424 0 1 unless $name and $name =~ /$classes::ok_attr_name/
437 5 426 if ($class_attrs_pr)
455 5 0 if ($is_ref eq 'ARRAY') { }
0 0 elsif ($is_ref eq 'HASH') { }
457 0 5 unless $name and $name =~ /$classes::ok_attr_name/
465 0 0 unless $name and $name =~ /$classes::ok_attr_name/
478 42 389 if ($class_attrs)
497 2 40 if ($is_ref eq 'ARRAY') { }
40 0 elsif ($is_ref eq 'HASH') { }
499 0 2 unless $name and $name =~ /$classes::ok_attr_name/
507 0 136 unless $name and $name =~ /$classes::ok_attr_name/
521 1 430 if ($justahash) { }
528 1 429 if $unqualified
529 1 429 if $noaccessors
534 29 402 if ($attrs_ro)
540 29 0 if ($is_ref eq 'ARRAY') { }
542 0 269 unless $name and $name =~ /$classes::ok_attr_name/
557 4 427 if ($attrs_pr)
563 4 0 if ($is_ref eq 'ARRAY') { }
565 0 4 unless $name and $name =~ /$classes::ok_attr_name/
579 47 384 if ($attrs)
585 47 0 if ($is_ref eq 'ARRAY') { }
587 0 120 unless $name and $name =~ /$classes::ok_attr_name/
601 34 397 if ($class_methods)
615 2 32 if ($is_ref eq 'ARRAY') { }
32 0 elsif ($is_ref eq 'HASH') { }
633 0 431 if ($pkg_methods)
647 0 0 if ($is_ref eq 'ARRAY') { }
0 0 elsif ($is_ref eq 'HASH') { }
669 0 0 if ($_[0] and $_[0] ne ':all') { }
671 0 0 unless $$$class_decl{'pkg_methods'}{$method}
690 82 349 if ($methods)
704 51 31 if ($is_ref eq 'ARRAY') { }
31 0 elsif ($is_ref eq 'HASH') { }
723 49 382 if $init_m
724 48 383 if $clone_m
725 48 383 if $dump_m
726 95 336 if $new_m
736 0 363 unless $pkg =~ /$classes::ok_class_name/
741 256 107 if $vglob and *$vglob{'SCALAR'}
753 0 107 if $@ and not $@ =~ /Can't locate .*? at \(eval /o
757 0 107 unless %{$pkg . '::';}
762 107 0 unless defined ${$pkg . '::VERSION';}
792 47 1 if (not $is_ref or $is_ref eq 'HASH')
797 0 48 if $is_ref ne 'ARRAY'
806 47 2 unless ($is_ref)
811 0 49 if $is_ref ne 'HASH'
816 0 49 unless $module and $module =~ /$classes::ok_class_name/
821 45 4 unless ($filter_is_ref)
823 41 4 if $filter eq 'SAFE'
825 1 3 if $filter eq 'PUB'
830 3 0 if $filter eq 'ALL'
852 35 14 if ($mod_type and $mod_type eq 'mixable')
940 2 12 if ($filter_is_ref eq 'ARRAY') { }
12 0 elsif ($filter_is_ref eq 'Regexp' or $filter_is_ref eq 'Regex') { }
943 0 2 unless $name and $name =~ /^[a-z_]\w*$/o
951 0 2 unless $glob and $code = *$glob{'CODE'}
972 10 34 unless $name =~ /$filter/ and $glob and $code = *$glob{'CODE'}
1012 0 729 if $pkm = $$decl{'pkg_methods'}
1013 465 264 if $cm = $$decl{'class_methods'}
1014 415 314 if $m = $$decl{'methods'}
1037 143 5 if $scope ne 'pr'
1040 138 10 if ($scope ne 'pr' and $scope ne 'ro')
1046 1 147 if $scope eq 'pr' and $has_getter
1048 1 147 if $scope eq 'pr' and $has_setter
1052 1 147 if $scope eq 'ro' and $has_setter
1057 10 138 $scope ? :
1068 2 391 $unqual ? :
1075 391 2 unless ($noaccess)
1082 387 4 if $scope ne 'pr'
1085 118 273 if ($scope ne 'pr' and $scope ne 'ro')
1092 1 390 if $scope eq 'pr' and $has_getter
1094 1 390 if $scope eq 'pr' and $has_setter
1098 1 390 if $scope eq 'ro' and $has_setter
1104 273 120 $scope ? :
1106 393 0 unless grep {$_ eq $name;} @{$$decl{$tag};}
1118 1 453 unless $method
1121 442 12 if (not $is_ref) { }
1124 1 441 if ($method eq 'ABSTRACT') { }
1 440 elsif ($method eq 'EMPTY') { }
1152 0 440 unless $m_name
1155 223 217 if (not $m_pkg) { }
1169 0 223 unless %{$m_pkg . '::';}
1185 0 12 if $is_ref ne 'CODE'
1223 0 0 if ref $_[0]
1224 0 0 if @_
1233 2 1 if ref $attrs ne 'HASH'
1236 0 3 unless my $setter = $self->can("set_$attr")
1255 0 0 if @_ != 1
1259 0 0 unless defined $this
1269 0 0 unless exists $classes::_clone_cache{'__self'}
1272 0 0 if ($classes::_clone_cache{'__top'})
1280 0 0 if exists $classes::_clone_cache{$this}
1284 0 0 unless $is_ref
1287 0 0 if ($is_ref eq 'HASH') { }
0 0 elsif ($is_ref eq 'ARRAY') { }
0 0 elsif ($is_ref =~ /^(REF|SCALAR)$/o and not $blessed_as) { }
1289 0 0 !ref($_) ? :
1295 0 0 !ref($_) ? :
1309 0 0 if $blessed_as
1319 0 0 defined $getter ? :
1328 0 0 defined $getter ? :
1367 0 0 if $out and not $is_ref
1386 0 0 if ($decl) { }
1390 0 0 if ($mixins)
1399 0 0 if ($d_class_attrs or $d_class_attrs_ro)
1402 0 0 if ($d_class_attrs)
1406 0 0 $accessor ? :
1412 0 0 if ($d_class_attrs_ro)
1416 0 0 $accessor ? :
1426 0 0 if ($blessed_as)
1437 0 0 if ($blessed_as)
1445 0 0 if ($is_ref and $is_ref eq 'SCALAR') { }
1484 0 0 if $_[0]
1490 0 0 if &Scalar::Util::blessed($last_err) and $last_err->isa($class)
1556 0 0 @_ >= 2 ? :
1560 0 0 $whole_stack ? :
1575 0 0 unless @call_frame
1581 0 0 if @call_stack > 1 and not $whole_stack
1601 0 0 if (not $is_ref and @_ == 1) { }
0 0 elsif ($is_ref eq 'ARRAY') { }
1621 0 0 if ref $_[0] ne 'ARRAY'
1631 0 0 unless @order >= 1
1638 0 0 unless $attr_name
1651 0 0 unless $verbose
1657 0 0 if $attrs
1660 0 0 if $verbose == 1
1666 0 0 if ($verbose >= 2)
1678 0 0 if ($verbose >= 3)
1682 0 0 if ($verbose == 3)