Branch Coverage

blib/lib/Fukurama/Class/Attributes/OOStandard/InheritationCheck.pm
Criterion Covered Total %
branch 42 74 56.7


line true false branch
57 0 334 unless defined ${"Fukurama::Class::Attributes::OOStandard::$level";}
58 334 0 if $Fukurama::Class::Attributes::OOStandard::CHECK_LEVEL >= ${"Fukurama::Class::Attributes::OOStandard::$level";}
71 0 198 unless $class->_check_level_contains('LEVEL_CHECK_SYNTAX')
76 62 136 if ('Fukurama::Class::Tree'->is_special_sub($method_name))
77 0 62 if ($$definition_data{'register'}{$parent_id})
80 0 62 if ($$definition_data{'register'}{$child_id})
92 119 17 if *{$parent_id;}{'CODE'}
93 104 32 if *{$child_id;}{'CODE'}
98 136 0 if ($class->_check_level_contains('LEVEL_CHECK_FORCE_ATTRIBUTES'))
99 0 136 if (not $$definition_data{'register'}{$parent_id} and $parent_exist)
102 0 136 if (not $$definition_data{'register'}{$child_id} and $child_exist)
109 87 32 if ($parent_exist and $parent and $child_exist and $child)
125 0 119 if ($parent_exist and $parent and $child_exist and not $child)
144 17 119 unless $parent_exist and $parent
146 4 115 if ($$definition_data{'type'}{$$parent{'type'}} eq 'unoverwritable') { }
0 115 elsif ($$definition_data{'type'}{$$parent{'type'}} eq 'overwrite') { }
147 0 4 if ($child_exist and not $$IGNORE_UNOVERWRITABLE_TYPE{$inheritation_type})
152 0 0 unless ($child_exist)
157 0 119 if ($$definition_data{'access_level_type'}{$$parent{'access_level'}} eq 'unoverwritable')
158 0 0 if ($child_exist and not $$IGNORE_UNOVERWRITABLE_TYPE{$inheritation_type})
172 0 87 if ($$parent{'sub_data'}{'attribute'} ne $$child{'sub_data'}{'attribute'})
175 0 87 if ($$parent{'sub_data'}{'sub_name'} ne $$child{'sub_data'}{'sub_name'})
179 0 87 if ($$parent{'static'} ne $$child{'static'})
180 0 0 $$parent{'static'} ? :
182 2 85 if ($$definition_data{'access_level'}{$$child{'access_level'}} != $$definition_data{'access_level'}{$$parent{'access_level'}})
190 0 85 if (scalar @$io_errors)
209 340 18 unless $parent_io or $child_io
212 18 239 if (not $parent_io and $child_io) { }
0 239 elsif ($parent_io and not $child_io) { }
42 197 elsif ($$parent_io{'ref'} ne $$child_io{'ref'} or $$parent_io{'type'} ne $$child_io{'type'}) { }
213 0 18 unless ($child_can_extend)
222 42 0 if ($$parent_io{'check'}{'is_class'} and $$parent_io{'ref'} eq $$child_io{'ref'}) { }
223 0 42 unless (UNIVERSAL::isa($$child_io{'type'}, $$parent_io{'type'}))
234 0 340 if scalar @$errors
250 2 0 unless ($$AVOID_DOUBLE_INHERIT_ERRORS{$error})
264 0 0 $inheritation_type ? :
266 0 0 unless ($$AVOID_DOUBLE_INHERIT_ERRORS{$error})