Branch Coverage

blib/lib/RPerl/CompileUnit/Module/Class.pm
Criterion Covered Total %
branch 107 180 59.4


line true false branch
34 0 607 unless (defined ${$_[0] . '::properties';})
51 0 607 if (defined $_[1])
52 0 0 if (not defined &reftype($_[1]) or &reftype($_[1]) ne 'HASH')
56 0 0 unless (exists $properties_inherited->{$property_name})
79 607 3015 if ($parent_package_name eq 'RPerl::CompileUnit::Module::Class' or $parent_package_name eq 'Parse::Eyapp::Node')
89 7236 0 unless (exists $properties->{$parent_property_key})
115 98 31 if ($parent_package_name eq 'RPerl::CompileUnit::Module::Class' or $parent_package_name eq 'Parse::Eyapp::Node')
221 0 3118 if ($module_filename_short eq '-e')
231 3118 0 if (defined $module_filename_long)
237 0 3118 if ($module_volume ne '')
238 0 0 if ($module_filename_long eq $module_filename_short)
249 0 3118 if (not defined $module_filename_long or $module_is_absolute)
255 0 3118 if (-e $module_filename_long . 'c')
281 711 99 unless (exists $rperlnamespaces_generated::CORE->{$namespace_root} or exists $rperlnamespaces_generated::RPERL_DEPS->{$namespace_root} or exists $rperlnamespaces_generated::RPERL_FILES->{$module_filename_short})
287 0 711 unless open my $MODULE_FILE, '<', $module_filename_long
296 3 127830 if ($module_file_line =~ /^\s*\#\s*\<\<\<\s*TYPE_CHECKING\s*\:\s*(\w+)\s*\>\>\>/msx)
299 0 3 if ($inside_subroutine) { }
311 17238 110595 if $module_file_line =~ /^\s*\#/msx
314 78 110517 if ($module_file_line =~ /^\=(\w+)/msx)
318 0 78 unless (defined $module_file_line)
322 0 16290 unless (defined $module_file_line)
331 9 110493 if ($module_file_line =~ /\=\s*\<\<\s*(\w+)\s*\;\s*$/msx or $module_file_line =~ /\=\s*\<\<\s*\'(\w+)\'\s*\;\s*$/msx or $module_file_line =~ /\=\s*\<\<\s*\"(\w+)\"\s*\;\s*$/msx)
337 0 24 unless (defined $module_file_line)
342 0 96 unless (defined $module_file_line)
350 0 110493 if ($module_file_line eq '__DATA__')
357 21 110472 if ($module_file_line eq '__END__')
370 53 110419 if ($module_file_line =~ /^\s*(use\s+RPerl\s*;)/msx)
377 1643 108776 if ($module_file_line =~ /^\s*package\s+/msx)
380 939 704 if ($inside_package)
387 856 787 if ($module_file_line =~ /^\s*package\s+(\w+(::\w+)*)\;.*$/msx) { }
787 0 elsif ($module_file_line =~ /^\s*package\s*\#\s*hide.*$/msx) { }
396 787 0 if ($module_file_line =~ /^\s*(\w+(::\w+)*)\;.*$/msx) { }
416 0 1643 if ($inside_subroutine)
424 652 991 unless ($use_rperl)
428 38 1845 unless ($module_file_line =~ /\Q$rperl_header_line\E/msx)
445 1161 444 unless (eval 'defined &main::' . $package_name_underscores . '__MODE_ID')
446 0 1161 unless eval '*main::' . $package_name_underscores . '__MODE_ID = sub { return 0; };'
450 0 1161 if ($RPerl::CompileUnit::Module::Class::EVAL_ERROR)
457 523 108253 if ($module_file_line =~ /^\s*our\s+hashref\s+\$properties/msx)
474 2310 105943 if ($module_file_line =~ /^\s*sub\s+(\w+)\s*\{\s*(.*)$/msx)
476 53 2257 if ($inside_subroutine_header) { }
485 123 2187 unless ($use_rperl)
493 0 2187 if ($inside_subroutine_arguments)
501 0 2187 if ($inside_subroutine)
509 31 2156 if ($2 ne '')
518 0 105943 if ($module_file_line =~ /^\s*\{\s*my\s+([\w:]+)\s+\$RETURN_VALUE\s*\}\s*;/msx)
523 2187 103756 if ($module_file_line =~ /^\s*\{\s*my\s+([\w:]+)\s+\$RETURN_TYPE\s*\}\s*;\s*(.*)/msx)
525 2173 14 if ($inside_subroutine_header) { }
538 2173 0 if ($CHECK eq 'OFF') { }
0 0 elsif ($CHECK ne 'ON' and $CHECK ne 'TRACE') { }
552 17 2156 if ($2 ne '')
561 30 103726 if ($module_file_line =~ /^\s*our\s+[\w:]+\s+\$\w+\s+\=/msx)
572 660 103096 if ($module_file_line =~ /^\s*1\;\s+\#\ end\ of/msx)
577 1067 102689 if ($inside_object_properties)
584 0 102689 if ($inside_subroutine)
585 0 0 unless ($use_rperl)
593 0 0 if ($module_file_line =~ /^\s*\(\s*my/msx)
598 0 0 if ($inside_subroutine_arguments)
600 0 0 if ($subroutine_arguments_line =~ /\@ARG\;/msx)
601 0 0 unless ($subroutine_arguments_line =~ /\@ARG\;$/msx)
620 0 0 if ($CHECK eq 'ON') { }
0 0 elsif ($CHECK eq 'TRACE') { }
664 0 711 unless close $MODULE_FILE
667 0 711 if ($inside_subroutine)
668 0 0 if ($inside_subroutine_arguments)
701 6 42 if ($property_type =~ /_arrayref$/ and not eval 'defined &' . $package_name . '::get_' . $property_name . '_element') { }
6 36 elsif ($property_type =~ /_hashref$/ and not eval 'defined &' . $package_name . '::get_' . $property_name . '_element') { }
710 6 0 if (exists $$rperlnamespaces_generated::RPERL{$property_element_type . '::'}) { }
754 0 0 unless eval $eval_string
755 0 0 if ($RPerl::CompileUnit::Module::Class::EVAL_ERROR)
768 6 0 if (exists $$rperlnamespaces_generated::RPERL{$property_value_type . '::'}) { }
811 0 0 unless eval $eval_string
812 0 0 if ($RPerl::CompileUnit::Module::Class::EVAL_ERROR)
822 48 0 if ($return_whole)
823 48 0 unless (eval 'defined &' . $package_name . '::get_' . $property_name)
826 0 48 unless eval $eval_string
827 0 48 if ($RPerl::CompileUnit::Module::Class::EVAL_ERROR)
830 48 0 unless (eval 'defined &' . $package_name . '::set_' . $property_name)
841 0 48 unless eval $eval_string
842 0 48 if ($RPerl::CompileUnit::Module::Class::EVAL_ERROR)
869 1124 526 if ($object_properties_string eq '') { }
491 35 elsif ($object_properties_string =~ /^\s*our\s+hashref\s+\$properties\s*=\s*\{\s*\}\;/msx) { }
886 32 3 if ($object_properties_string =~ /(\w+)\s*\=\>\s*my\s+([\w:]+)\s+\$TYPED_(\w+)/gmsx)
897 0 48 if ($object_property_key ne $object_property_inner_type_name)
907 16 32 if ($object_properties_string =~ /(\w+)\s*\=\>\s*my\s+([\w:]+)\s+\$TYPED_(\w+)/gmsx) { }
954 1349 824 if ($subroutine_type =~ /\::method$/msx) { }
956 0 1349 if ($package_name eq '')
963 0 824 if ($package_name eq '')
1015 0 2173 unless eval $subroutine_definition_code
1016 0 2173 if ($RPerl::CompileUnit::Module::Class::EVAL_ERROR)