Branch Coverage

blib/lib/Class/Slot.pm
Criterion Covered Total %
branch 46 68 67.6


line true false branch
23 0 6 $ENV{'CLASS_SLOT_DEBUG'} ? :
25 6 0 if ($ENV{'CLASS_SLOT_NO_XS'}) { }
29 0 0 $@ ? :
142 1 16 if ref $self ne 'Class_A' and exists $Class::Slot::CLASS{ref $self}
0 7 if ref $self ne 'P1' and exists $Class::Slot::CLASS{ref $self}
0 16 if ref $self ne 'P3' and exists $Class::Slot::CLASS{ref $self}
14 2 if (@_ > 1)
7 3 if defined wantarray
10 6 if (@_ > 1)
0 2 if defined wantarray
210 0 0 if ($_->can('new'))
216 0 0 if ($can_ctor) { }
234 0 0 if exists $slot->{'type'}
237 0 0 if ($req and not defined $def)
241 0 0 if ($type)
243 0 0 $type->can_be_inlined ? :
253 5 5 if (defined $def)
255 13 1 ref $def eq 'CODE' ? :
277 19 4 if $seen{$class}
280 12 7 if (@{$class . '::ISA';})
281 5 18 if ($C3{$class}) { }
300 19 8 unless exists $CLASS{$class}
302 1 2 defined $name ? :
305 0 42 if (not exists $slots{$slot}) { }
310 3 20 if (not exists $slots{$slot}{$cfg} and exists $CLASS{$class}{'slot'}{$slot}{$cfg})
315 0 118 if (not exists $slots{$slot}{'type'} and exists $CLASS{$class}{'slot'}{$slot}{'type'})
322 42 76 if (defined $name) { }
334 10 108 $class->get_slots($name)->{'rw'} ? :
344 66 42 if ($XS) { }
375 25 53 if ($XS and not $class->get_slots($name)->{'type'}) { }
392 8 0 if $slot->{'type'}
397 46 30 if ($type)
399 115 29 $type->can_be_inlined ? :
440 16 7 if $@